| ▲ | patagurbon 11 hours ago |
| The post dismisses Julia quite quickly, especially since it is a language essentially purpose built to teach numerical linear algebra. Numerical methods is taught in Julia in at least a dozen universities I'm aware of, including MIT. Unicode support and a few other syntax niceties make translation from the blackboard to the editor nice and clean. Fortran is great but legibility and easy tooling like (reproducible) package managers are paramount in teaching |
|
| ▲ | noobermin 11 hours ago | parent | next [-] |
| Saying fortran is not legible is not an argument that holds water against fortran 90. I don't want to be uncharitable but I don't know how anyone can have this opinion unless they just don't have much familiarity with it. |
| |
| ▲ | patagurbon 9 hours ago | parent | next [-] | | I didn’t say it was illegible. I said legibility is paramount, and I don’t think it makes the right trade offs in that regard to be a great teaching language It’s far more legible for numerics than a lot of languages, maybe except Julia and Chapel. Julia was just driven in large part by teaching mathematics at mit and I think that shows | | |
| ▲ | mastermage 2 hours ago | parent [-] | | I would go and say Fortran is pretty legible because it only has a handful of builtin keywords and none of the fancy stuff alot of other languages have. Julia has the fancy stuff aswell as being very legible and also having a nice REPL for instant feedback which is usefull for people learning (as well as multiple notebook implementations Pluto.jl or Jupyter)
Chapel has even more of the fancy stuff like multiple loop types for different kinds of parallelism which is just wildly cool. |
| |
| ▲ | jcranmer 10 hours ago | parent | prev | next [-] | | A large share of the illegibility of Fortran code is actually just the aversion of numerics code to having meaningful variable names. | | |
| ▲ | atrettel 6 hours ago | parent [-] | | I second this. When I worked on some older Fortran codes, I had to keep a cheat sheet for the variable names and what they meant or controlled. It definitely made the code hard to read. |
| |
| ▲ | kjs3 6 hours ago | parent | prev [-] | | Regrettably, any discussion of Fortran will be quickly filled with people who once had to write a couple of F77 programs in college and never got over it, never used a really nice Fortran compiler, and of the very few who actually knew the language has evolved in the last 50 years the vast majority of that minority couldn't name a single significant thing that changed in F90/F95 through Fortran 2018. But they all have Opinions, which they are compelled to share. | | |
| ▲ | adastra22 2 hours ago | parent [-] | | C++ has evolved immensely in that same time. I still would NEVER use C++ for anything new, now that Rust exists. Why should I use Fortran, for anything that isn't maintaining legacy code? |
|
|
|
| ▲ | zevets 6 hours ago | parent | prev [-] |
| Julia's choice to encourage people naming their variables greek letters is bad though. There's a whole group of students who struggle with the symbols, but understand the concepts (a residual). Julia, when used to its full capabilities, gains an enormous amount of its power from a huge amount of clever abstractions. But in the 1st-course-in-numerical-methods class context, this can be more offputting than the "why np?" stuff this article mentions. For teaching linear algebra, MATLAB is unironically the best choice - as the language was originally designed for that exact purpose. The problem is that outside of a numerical methods class, MATLAB is a profound step backwards. |
| |
| ▲ | int_19h 5 hours ago | parent | next [-] | | If students struggle with the use of Greek letters as symbols, it'll be difficult for them to deal with lots of math and physics where this is the standard notation. Intuitively it feels that the best thing that the language can do here is to enable notation that is the closest to the underlying math. | | |
| ▲ | hulitu an hour ago | parent [-] | | > If students struggle with the use of Greek letters as symbols After using Character map or other "user friendly" methods to enter Greek letters as symbols on a computer, i would say, yes, people struggle with the use of Greek letters. Unless, of course, one has a Greek keyboard. |
| |
| ▲ | pavon 4 hours ago | parent | prev [-] | | Whatever language you choose, you are only going to be teaching a subset of it anyway, so just ignore the Unicode identifier support. I code in Julia professionally, and never use it. |
|