Slashdot Mirror


Should Undergraduates Be Taught Fortran?

Mike Croucher writes "Despite the fact that it is over 40 years old, Fortran is still taught at many Universities to students of Physics, Chemistry, Engineering and more as their first ever formal introduction to programming. According to this article that shouldn't be happening anymore, since there are much better alternatives, such as Python, that would serve a physical science undergraduate much better. There may come a time in some researchers' lives where they need Fortran, but this time isn't in 'programming for chemists 101.' What do people in the Slashdot community think?"

3 of 794 comments (clear)

  1. Re:Oh come on. by boneglorious · · Score: 5, Interesting

    I absolutely agree. With a background in c++, learning python (my new department's introductory language) was cake, but I'm watching the people who learned python first struggle to go beyond it. They're even more hindered by the fact that they keep thinking, "But python was so easy..."

    --
    Can I mod something +1 Scary if it's true but I wish it weren't?
  2. Re:Oh come on. by Glonoinha · · Score: 5, Interesting

    Trust me, while you may wish you were learning how to write applications in the latest pop language during undergrad, the rest of the world wishes you had been taught computer language theory, set theory, data analysis by inference, proper documentation of your code, the 'non-coding' aspects of any number of different SDLC lifecycles, complete code coverage testing approaches, the interaction between software and the machine (where the machine is the network of machines, and the rest of the software running on those machines) and critical thought / problem solving during your undergrad years.

    Your disdain for COBOL, FORTRAN, and Pascal show exactly why it's a bad idea to teach a single 'current' language and spend four years focusing on all the APIs and subtle language quirks - languages come and go. Entire platforms come and go. And yet the same people adapt over time (if they are good) and continue to implement strong software engineering principles in whatever comes along to replace those obsolete technologies.

    Perhaps during those classes you weren't supposed to be focusing on the medium (the language) and rather be focusing on the lesson (data structures, analysis of algorithms, queue theory, set theory, or the one that has caused the world the most problems - handling every input that could possibly be handed to a routine.)

    All of the above can be taught in any language, including one made up by the professor (RIP Edgar Dykstra.)

    --
    Glonoinha the MebiByte Slayer
  3. Re:It's okay to teach them FORTRAN by hairyfeet · · Score: 5, Interesting

    Well, I'll tell you like my former VB teacher told me, funnily enough after some kid tried to steal my code and pass it off as his own. After Mike(my teacher) got done laughing his ass off he told the kid "BTW you are getting an F for stealing from Kevin". "How do you know that he didn't steal it from me?" Again after Mike got done laughing his ass off he projected the code onto the board and said to the class "Do you notice anything a little odd about this code?" And one said "It has numbers in front of all the lines...and what is a GOTO?"

    And Mike said "How old are you Shawn?" and after the kid said 19 he said "And THAT class is why I know Shawn stole this code from Kevin. He turned to me and said "You're what? 35?" and when I confirmed he said "You see class, in the days before PCs became standard with pretty desktops like you have now, all the machines ran BASIC. The numbering and the use of GOTO to call a sub is a classic tell that the person who wrote this cut his teeth on one of the old BASIC computers." He tilted his head and said "Commodore or Atari?" and I sat there with my mouth gaping and said "Commodore VIC20. How did you know that?" he said "Because your code is classic Commodore and Atari style. Very efficient but as subtle as a chainsaw."

    After some of the kids started coping pieces of my code and trying to use GOTO and crashing all over the place Mike explained it to me like this-"To an old greybeard like you or me, that actually understands what the code is doing a GOTO can be a quick and efficient way to get something done quick. Subtle as a chainsaw, but it gets the job done. But you give it to these kids, that don't really understand what they are trying to accomplish or understand how the codes works in the machine? It is like handing a monkey a sledgehammer and letting him loose in a room full of bombs. He is gonna blow something up, the only question is when."

    So if you want to know why teachers like Mike would cringe when they saw a GOTO, it is because it works fine IF you know what you are doing and how the code will be processed. But with so many learning code the VS way, with everything drag and drop, for many of those GOTO will simply blow up in their faces. Better just to not let them know it exists in the first place.

    --
    ACs don't waste your time replying, your posts are never seen by me.