4 ms·
Sure, it is fine to teach numerical linear algebra in Fortran - 15 years ago, I was learning with Fortran 77. Yes, there are many benefits of using a different
by stared 1y ago
Sure, it is fine to teach numerical linear algebra in Fortran - 15 years ago, I was learning with Fortran 77. Yes, there are many benefits of using a different language, even for its own sake. Or using a language without distractions - just to focus on the course, rather than one that can be used for building a website or so. Or without less "magic" than Python.
At the same time, I find most argument bizarre, other - harmful.
From the bizarre region, students asking "What is 'import numpy as np'?". A legit question. If you want to avoid all technicalities, pen and paper is the right approach. All in all, they need to run code somehow and there will be questions like "What is 'implicit none'?"
If they are not asking such question, is is not because they focus some much on linear algebra. It's because they are lost - or at very least - have lost interest.
From ones (in my opinion) actively harmful:
> It’s about teaching the basics of scientific computing to engineering students with a limited programming experience.
This is a big red flag. If they have little background in programming, teach good standards of Python. Otherwise they will get worst patterns, and think that GOTO is the preferred way of coding.
If you think why a lot of academic code looks like mess, one of the reason is using archaic tools and techniques as a standard.
Also - if your focus in linear algebra and avoid magic, you CAN do it without any numpy, just Python lists.
- loiseaujc 1y agoOP here. > This is a big red flag. If they have little background in programming, teach good standards of Python. That is a big issue, I'll admit it. And actually, in my Uni, I am a very strong proponent of making an intro to programming class mandatory before even being able to enroll in any other engineering classes. Unfortunately, I don't see this happening anytime soon mostly because the higher-ups have a distorted view of what programming actually is. And I believe it is the same in many French universities. May-be different elsewhere, I don't know, but in the mean time I have to make do with what I have. > Otherwise they will get worst patterns, and think that GOTO is the preferred way of coding. People keep on referring to `goto`. But that is a construct that has been considered bad since the Fortran 1990 standard, 35 years ago. Fair enough, there are plenty of legacy codes using it. Just like there are plenty of C code written 35 years which are just terrible by today standard. Modern Fortran (and by modern I mean anything following 2003 standard and more recent) does not use `goto`. And academics writing Fortran code today do not use `goto`, nor do they teach it. > If you think why a lot of academic code looks like mess, one of the reason is using archaic tools and techniques as a standard. Again, I think this is a very distorted view. When you need to run your code on 1000+ CPU, which is what I and my colleagues do, you better make sure your code makes use of all the most recent good practices and use industry-standard tooling not to waste CPU hours because of a stupid bug or what not.