jonnin wrote: |
---|
These days a lot of people code as a hobby or to play with it a little, python being a big hit with that crowd. |
Oh Jonnin!
I really think you ought to take a closer look at Python! Its syntax is impressively simple (compared to C++ and Fortran) and it has quite powerful built-ins and libraries. If you use NumPy arrays it will give Fortran and C a run for their money on fast numerics, if you use SciPy it will give you all the fancy functions in physics and mathematics, and if you use MatPlotLib for graphs then you can safely abandon the really bloated Matlab.
But different languages do different things. FWIW I use:
- Fortran for anything with heavy numerics or parallelisation;
- C++ for a lot of postprocessing and anywhere that its abstraction and classes are useful;
- Python for short scripts and calculations, as a desktop calculator, and anywhere that I want to plot results.
I also do some mixed-language programming (Fortran/C). All of the above languages can be both procedural and object-oriented.
In my mind there is no one language that would displace others - they are all good at specific things and they all benefit from exposure to the good and bad features of others.
I think it's dangerous to only teach one computing language, however. If some forum users were exposed to some (rather less verbose) alternatives then they wouldn't be quite as ready to state "you should only code c++ like ..." and link a YouTube video or somebody's personal opinion in a blog.
I'm too young to have learnt Algol, Cobol or Lisp (and I wouldn't recognise Fortran IV - I usually code to Fortran 2008, though there is now a Fortran 2018), but the history of both computer software and hardware seems a good thing to learn about. Who knows what sort of programming we will do when quantum computers become readily available.
Here's the TIOBE list of popular programming languages for the last month, if you are interested.
https://www.tiobe.com/tiobe-index/