Hacker News new | ask | show | jobs
by dspillett 1326 days ago
> people will finally accept that Python and JavaScript are no longer young languages

> JavaScript is 26 years old, Python is 31

I can't speak for Python, but Javascript has changed¹ massively in recent years, more so (I expect) than Fortran or COBOL every did in their active history. It could be argued that what we have now is a younger language with the same name.

> but I'd bet my bottom dollar that they'll at least remain as relics yet needing support

This I definitely agree with, though I suspect less so than Fortran/COBOL/similar. It is much cheaper to rebuild these days, and so many other things change around your projects², and there are more forces pushing for change such as a legion of external security concerns. That will add up to there being far fewer projects³ left to be maintained that haven't been redone in something new, because they fall into the comfy gap between the cushions of “it still works, don't touch it” and “it is far more hassle to replace than to live with as-is”.

----

[1] the core language is still the same, but there is so much wrapped around it from the last decade or so that I suspect someone who learned it fresh recently would struggle initially on EcmaScript 3 or before/equivalent.

[2] where a Fortan/COBOL project might live for all its decades on the same hardware using the same library versions.

[4] no absolutely fewer of course, but relative to the number of people capable of working on them – much of the price commanded by legacy COBOL work is due to very few having trained on the language in decades and many of those that did earlier being fully not-coming-back-for-any-price retired or no longer capable at all (infirm or entirely off this mortal coil), so those remaining in appropriate health and available are in demand despite a relatively small number of live projects.

3 comments

Fortran77 vs Fortran90 were fairly different languages that required a substantial revision to the numerical methods assignments that I had in the early 90s as the department shifted from one to the other.

https://www.nsc.liu.se/~boein/f77to90/f77to90.html

> There are now two forms of the source code. The old source code form, which is based on the punched card, and now called fixed form and the new free form.

> ...

> A completely new capability of Fortran 90 is recursion. Note that it requires that you assign a new property RESULT to the output variable in the function declaration. This output variable is required inside the function as the "old" function name in order to store the value of the function. At the actual call of the function, both externally and internally, you use the outer or "old" function name. The user can therefore ignore the output variable.

> but Javascript has changed¹ massively in recent years

Does anyone have any good resource to learn modern JavaScript? Not any of the weekly js framework, but the updated language, capabilities and patterns.

I have found https://javascript.info/ to be a good resource for both learning and reference around modern JS. I visit it instead of MDN with regularity for practical examples of JS features.

The grammar can be a bit spotty in places - but it is open source and has gotten a lot better.

I can recommend Gary Bernhardt's execute program[0]. One of the courses offered is "Modern Javascript" which goes through additions in ES5 and ES2020. There are also multiple courses on typescript. It does cost some money, but there are occasionally special offers.

[0] https://www.executeprogram.com/

Yes...Fortran at least has changed a lot since inception. There's been Fortran 90, 95, 2003, 2008 & 2018 standards since to keep up with the various industry fads of the time (You want OO Fortran? Sure thing.). You can get a good overview of Fortran features from inception through the 2008 standard in the paper "The Seven Ages of Fortran" by Michael Metcalf or on the Fortran wiki (https://fortranwiki.org/fortran/show/Standards).
Does a lot of that extra pool of features get used in production (relative to more "legacy" code) as seen with many reengineering JS projects regularly, it is the Fortran user base more conservative? I might expect the latter, but this is just a gut guess.
I'm not doing much work with Fortran-using communities these days, so this is an opinion only, and probably out of date in various ways.

Yes, developers are using the new features. Most code I touched was regularly using up to 2003 features, with later stuff dependent on other factors (solid compiler support across different compilers being a big one). However, most Fortran programs are going to be fleshed out with components taken from the vast collections of well debugged and tested libraries available, many of which are still F77, and probably will stay that way. Fortran is more 'conservative' in the sense that there's not much compulsion to rewrite working code in the name of 'refactoring' or whatever. Adoption of new features is more 'I'm going to use a select set of things that will make my life appreciably easier' rather than 'everyone on board with all the latest shiny things'.