4 ms·
It's probably just a huge bias, but I feel that, as a programmer matures and experiences more and broadens his or her horizons regarding programming languages,
by tines 5y ago
It's probably just a huge bias, but I feel that, as a programmer matures and experiences more and broadens his or her horizons regarding programming languages, he or she takes a road from dynamically typed languages to statically typed languages, often going through lisp as an intermediate step.
- coldtea 5y agoThat's what a programmer mid-way to maturity would do. When the programmer finally reaches enlightenment they see that static types have their own burden, and Lisp or Smalltalk or Forth or Erlang, can be the final step, not some gateway drug to static types. Heck, C and C++ ain't bad themselves.
- andi999 5y agoSo the answer to the question of life is c++?
- lasagnaphil 5y agoYes, that's the moment you finally accept that reality is just plain shit sometimes, but you need to deal with it and move on.
- otabdeveloper4 5y ago> and Lisp or Smalltalk or Forth or Erlang, can be the final step Nah. Final boss programmers (Fabrice Bellard, Mike Pall, etc.) work in C. (Or maybe sometimes a bit of C++.)
- coldtea 5y agoFor systems works maybe. Most impressive application programs and games I've seen were in C++. But I've seen boss programmers do wonders in all kinds of languages. Didn't this Notch guy make 2.5 billion in a game he wrote in Java?
- otabdeveloper4 5y agoNotch is in no way a "final boss programmer". (In fact, him being a successful businessman clearly points to the fact that he isn't.)
- eingaeKaiy8ujie 5y agoI don't even look at dynamically typed languages anymore. And once you learn about dependent types...
- uDontKnowMe 5y agoI don't think this is universally true, no. Historically there have been large migrations of developers from traditional statically typed languages towards Ruby/Python/JS/Groovy/Clojure. In fact, Clojure was designed by and is used by well experienced developers fed up with the added complexity of type systems.
- tines 5y agoBy "traditional statically typed languages" I assume you mean things like C or Java, whereas I'm talking more about Haskell-like type systems. Perhaps that's really an optional first step in the journey: from [Java to] Ruby/Python/JS/Groovy/Lua [to Lisp] to a language with a real type system. The further along you go, the more mathematification your programming undergoes.
- Zababa 5y agoI think this is a bias. There has been a move from Java/C++/C# static to Python/Ruby/PHP/JS dynamic but now people are adding types back to Python, Ruby, PHP and JS. There is also a move from Java static to SML-like static (so Rust for example). Static and dynamic are not the only way to categorize languages and hide some importants things.
- tines 5y agoBut doesn't the fact that people are adding types to dynamic languages, and the fact that TypeScript is a very popular way to write Javascript, and, as you say, that people are moving from terrible static type systems (Java) to better ones (Rust) prove my point?
- Zababa 5y agoI think some people could (and will) argue that you haven't tested real dynamism until you've used Smalltalk or Common Lisp and that there could be a shift from Typescript/Rust to these. That's not my opinion, but it seems fair. There are often cycles like that, with each side getting better at each cycle.