3 ms·
The untyped languages rose in popularity in the 2000s and got as mainstream as it gets. But static typing is having a comeback in the past 5-10 years, with go,
by c-cube 5y ago
The untyped languages rose in popularity in the 2000s and got as mainstream as it gets. But static typing is having a comeback in the past 5-10 years, with go, rust, kotlin, and of course typescript. Almost every dynamic language is getting some flavor of gradual typing and most people seem to love it.
- didibus 5y agoI guess it depends what your mesure criteria are. Based on this video: https://www.youtube.com/watch?v=UNSoPa-XQN0 https://www.youtube.com/watch?v=UNSoPa-XQN0 JS and Python took the top spot only in the last 5 years, and I'd think they're only continuing to attract more people. There's been some new typed language also gaining traction, just not as much or as quickly. Frankly it doesn't seem types or not matter much over the years for popularity. What I find interesting personally now is that a lot of people come out of school learning Python, an untyped language. I wonder what effect that'll have long term, where as before I feel it was either Java or C++ or another flavor of a typed language that university and schools would teach.
- Jach 5y agoThere's definitely a HN bubble bias when it comes to evaluating what's "popular" or "trendy", reading any claim of such on HN must be done with a huge sack of salt. I wish the "untyped" moniker never caught on, it should be reserved for things that don't tend to actually have type information like assembly and Forth. Python, Ruby, Lisp, etc. are dynamically typed, not untyped. Types are an important concept in them, as are operations on types, type conversions, violations, and so on. It's just that the data itself carries around its type, rather than the symbol it happens to be bound to. Sometimes I think this part of the solution space isn't really explored very deeply -- for instance it enables Lisp's change-class function (http://www.lispworks.com/documentation/HyperSpec/Body/f_chg_cl.htm http://www.lispworks.com/documentation/HyperSpec/Body/f_chg_...) which is almost absurd to a static mindset, but the deeply dynamic nature of Lisp never really carried over to later dynamic languages either. Though at least Java + JRebel gets close, it can even re-instantiate spring beans used in dependency injection. Personally as languages like PHP and Python and JS "evolve" to have more static typing conventions, they look more and more like Java, except without Java's good parts (mostly in how the JVM works and the tooling built on it) -- so I'd rather just use Java (if I can't use Lisp). Your question about the long term consequences of Python no longer being niche and often even being taught in schools reminds me of a few things. First, it's funny how far we are from when pg wrote in 2004 http://www.paulgraham.com/pypar.html http://www.paulgraham.com/pypar.html "people don't learn Python because it will get them a job; they learn it because they genuinely like to program and aren't satisfied with the languages they already know." Or second when Spolsky wrote in 2005 https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/ https://www.joelonsoftware.com/2005/12/29/the-perils-of-java... "My God, I thought, they’re trying to dumb down the curriculum even further!" in complaining about JavaSchools -- surely the equivalent python_schools (if there are any now, rather than schools that have merely supplemented with Python) have succeeded in that since the minimal easy Python subset is easier than the minimal easy Java subset. Lastly, we're not that far from when Rob Pike said in 2014 about why he created Go: "The key point here is our programmers are Googlers, they're not researchers. They're typically fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They're not capable of understanding a brilliant language but we want to use them to be able to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt." I don't really have any predictions. Maybe more of a hot take thought is that if schools keep producing mediocre programmers, using the relative ease of beginner-level Python as a means, big corps will continue to invest in mediocre languages that nevertheless allow the corp to continue hiring hordes of programmers and getting marginally useful stuff out of them. The advantages of individuals who genuinely like programming and of companies able to identify and hire them will still remain -- even if the corp then forces the programmer to use a less-preferred language, for there exist not-dumb programming-liking Go programmers.