4 ms·
Is it easy? Yes and no. Adding together integers is easy. Running a loop is easy. There are tremendous differences between programming technologies. Because th
by jafitc 5y ago
Is it easy? Yes and no. Adding together integers is easy. Running a loop is easy.
There are tremendous differences between programming technologies. Because the word “language” can distract you here.
What you say in French and German and English will be pretty much the same.
But many programming “languages” practically have very different runtimes, idioms, guarantees, caveats. For example in some all your data is immutable. Or take a look at the concurrency model of Elixir/Erlang/Go “processes” vs Java Threads).
Erlang has a preemptive scheduler for those “processes”. Try doing that in vanilla JS.
It’s not just syntax. Syntax is the surface difference but it doesn’t end there.
This is not to nitpick the posted website which is a great first step but it won’t tell you the whole story.
Another example is closures. Some languages don’t have them at all. Some languages allow modifying closed over variables. Some treat them as immutable constants (but still accessible to read).
Those are huge semantic differences with profound implications to how you approach problems and write code.
When comparing Programming technologies always think in terms of: how does it represent data, how does it move/share data between entities, how does it handle errors, what guarantees does it have.
Finally an inseparable part of any programming technology is the standard library, and nowadays the whole third party ecosystem of packages.
When thinking about what is different about say Python and Erlang I’d argue the least significant of that is syntax.
You won’t build machine learning models in Erlang and you won’t build highly-available, fault-tolerant, billion-user chat applications in Python.
And trust me not because of how the for loop looks.
- hiepph 5y agoBasically I follow this strategy: find the right language for the right task. And then I learn the language from bottom up. I immerse myself in its philosophy and its example and then I imitate that to solve my task.