Should Undergraduates Be Taught Fortran?
Should Undergraduates Be Taught Fortran?
(OP)
Here is an interesting discussion on Slashdot.
Slashdot is a computer geek site, although there are replies by at least one engineer. Any thoughts?
Slashdot is a computer geek site, although there are replies by at least one engineer. Any thoughts?
JHG
RE: Should Undergraduates Be Taught Fortran?
... because they can be taught, and usually debugged, the Elbonian way.
Mike Halloran
Pembroke Pines, FL, USA
RE: Should Undergraduates Be Taught Fortran?
http://www.walkingrandomly.com/?p=1397
and agree with a lot of it. I learned BASIC (various 1980's flavours) first, then 6502 assembly (ah, the memories of LDA, BNE, etc). FORTRAN was taught at university (1987) and used in all the CFD/FEA courses. Then I forgot it.
I never really appreciated (or learned properly) FORTRAN until I started writing user subs for ADAMS a couple of years after I graduated. None of the exercises at university helped me in any way. Oddly enough, I taught myself C at about the same time. Learning multiple languages makes you need to understand things like memory management and other practicalities (pass by value, reference, etc).
My personal view is that engineering students will endure any computer programming class and learn nothing unless they are already computer nerds and want to learn a different language.
I work in a mixed FORTRAN/C/C++ shop and the choice of language is a purely religious choice, as is the ensuing debate.
- Steve
RE: Should Undergraduates Be Taught Fortran?
corus
RE: Should Undergraduates Be Taught Fortran?
I was taought Fortran 77 back in the '90 at my univercity in Denmark - and found it stupid.
Best regards
Morten
RE: Should Undergraduates Be Taught Fortran?
FORTRAN is primitive.
It's also stable, in terms of behavior, so it's going to respond consistently to typical errors, and it's going to behave like the documentation says it should.
It's also stable, in terms of language drift, so its behavior is not going to be much different in forty years, when you will need to understand some hoary old NASA code.
Mike Halloran
Pembroke Pines, FL, USA
RE: Should Undergraduates Be Taught Fortran?
I found Matlab to be the most useful in comparison when actually doing engineering work.
Although, the work could have been done in any of the languages. I think students should learn a "primitive" language as well as a more advanced one (at least).
After all, we are in a computational era.
Fe
RE: Should Undergraduates Be Taught Fortran?
The classes I had were using Matlab and C++, so I can't give an opinion on Fortran. However, I don't know that a lower-level language is necssary. I think it should be sufficient that engineers know how to program in one higher-level language. The idea is to make them better at using software, not able to write it. Let the software/computer majors worry about that.
-- MechEng2005
RE: Should Undergraduates Be Taught Fortran?
Also, since computers only do EXACTLY what they are programed to do, learning some programing teaches methodical thinking and the importance of details.
RE: Should Undergraduates Be Taught Fortran?
Far more useful to teach VBA and object-oriented programming. That, and databse tools.
RE: Should Undergraduates Be Taught Fortran?
Matlab insulates the engineer from solving programming problems that come with every new math problem, and allows the engineer to concentrate on solving the ENGINEERING problem, as opposed to the PROGRAMMING problem.
Mathcad, for the most part, aside from the usual griping, which I'll ignore here, is, from an engineer's perspective a great tool for solving the simple and mundane, everyday, problems we come across in engineering.
Fortran is, after all, a programming language. If you think that you might be creating software tools, then Fortran is probably the right answer. Otherwise, you'd be better off with Visual C or Visual Basic, for the occasional situation where you need to generate a program or modify a program.
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
RE: Should Undergraduates Be Taught Fortran?
Matlab, Mathcad and (gulp) Excel are not languages, they are proprietary applications.
FORTRAN is a language that can be taught, independently from applications that can compile it and run it.
- Steve
RE: Should Undergraduates Be Taught Fortran?
While Mathcad does not need to be programmed for simple problems, it too, is a form interpreted program and has an interpreted programming language of its own.
But, that's besides my point, which is that I think that an engineer should be taught Matlab and/or Mathcad, in lieu of Fortran, and should be taught something like Visual C++ before Fortran. The question posed was whether Fortran should be taught, not whether a programming language should be taught.
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
RE: Should Undergraduates Be Taught Fortran?
Wrong! It is an application you can lease/buy from The MathWorks. It uses an interpreted language.
Whereas FORTRAN, C, C++ and others are pure languages.
- Steve
RE: Should Undergraduates Be Taught Fortran?
As to the main point of this thread, I'd resent being taught more than one computer language at uni, simply because the chances of them teaching me the right one for real life is unlikely, and they only need teach one to teach good programming habits.
It's not a religious war for me, most computer languages I've ever used suck in various ways, and it is just as possible to write poor programs in (say) Pascal as it is to write good programs in Basic. So, given that Fortran has been around for 40 years and is NEVER going away, it is not necessarily a bad choice, but I suppose it does lack some of the more advanced features that most modern languages have, so may not be a useful tool to teach the concepts used in modern languages.
FWIW the last compiled code I wrote at work was in Fortran, 2 years ago. The first compiled code I wrote at work was in Fortran, 27 years ago, approximately.
Of course I would expect anyone who has learned a proper grown up modern language would pick Fortran up in 4 hours, so to that extent there is no great harm in not learning it.
Cheers
Greg Locock
SIG:Please see FAQ731-376: Eng-Tips.com Forum Policies for tips on how to make the best use of Eng-Tips.
RE: Should Undergraduates Be Taught Fortran?
Who thinks of Modelica as a product or a language?
Most mangers where I work think it is a product.
- Steve
RE: Should Undergraduates Be Taught Fortran?
As for the so-called "pure" languages, I defy you to find a fielded Fortran, or C, program that can be arbitrarily compiled on any compiler for any operating system without modification. Every progam written is tailored for its compiler and its operating system, and becomes specific to its application, the compiler.
Wikipedia is oft-maligned, but,
That fits the bill for Matlab, Fortran, and even Mathcad
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
RE: Should Undergraduates Be Taught Fortran?
You are defining my job. Except you left out C++.
Any compiler that implements ANSI X3.159-1989 can compile my C code. ISO/IEC 9899:1990 adds more functionality that the Windoze guys seem to like.
- Steve
RE: Should Undergraduates Be Taught Fortran?
In my experience, there has been a move toward computer apps that take and make data. That data is a mystery to most (I've watched my father double-clicking on what is clearly a text file). Writing programs to sift/sort/filter text files takes minutes if you know what you are doing and have a complier.
Teaching kids FORTRAN may not be the answer. Teaching them to search for compiler tools may be better (my 6502 assembler .... better than sex).
- Steve
RE: Should Undergraduates Be Taught Fortran?
Live Long and Prosper !
RE: Should Undergraduates Be Taught Fortran?
I like Perl for manipulating text. It has a couple of built-in functions for search and replace, that are amazing. On the other hand, I like playing with computers, and I don't mind learning new languages.
The best argument for Fortran is that non-computer technical people have better things to do than learn new computer languages. I have not seen any good books on Fortran in the local stores, so when I have to use a computer language for calculations, I tend to use C. C is not that good a language for calculations, and for analysis, the mid-level capabilities of C are not that useful, but if you have a hammer, your problem looks like a nail.
I have done calculations using the AutoLISP built into AutoCAD.
RE: Should Undergraduates Be Taught Fortran?
C for general maths isn't that good. C++ is a lot better, with its overloads and template classes. I've spent the last week or two converting code from Matlab to C++, line-by-line with hardly any changes.
- Steve
RE: Should Undergraduates Be Taught Fortran?
Fe
RE: Should Undergraduates Be Taught Fortran?
Mind you, most software vendors shower their goods on universities, so TMW aren't in any way the guilty ones.
I would have killed to use ML in my uni days, had I known it was there.
- Steve
RE: Should Undergraduates Be Taught Fortran?
What I'm saying is that most people focus on learning a computer language as opposed to learning how to program. They are quite different things. You can know a language well but be a poor programmer. But if you are a good programmer, switching languages is really just learning the correct syntax.
-
Syl.
www.aercoustics.com
RE: Should Undergraduates Be Taught Fortran?
Fe
RE: Should Undergraduates Be Taught Fortran?
When I first found Matlab, it was a revelation. It still is in some ways, although I can't be done with all the "improvements" over the last few years.
Likewise, when I first learned C. Amazing compared with what I's known before.
And I'm still learning new tricks in C++.
Pseudo-code? Pah!
- Steve
RE: Should Undergraduates Be Taught Fortran?
Students should learn a programming language so they get the basics of programming logic and understand some of what their computer is actually doing (as stated above). Frankly I don't care if it's FORTRAN, BASIC, C++, etc. Most engineers will not be programming in one of these languages anyway. It's the education that's most important here. BTW, I took FORTRAN 77 back when it was brand new. I dinked around with BASIC after college, but it was for fun and not for any professional use. However, the skills I learned made me a very good RPN programmer for my various HP calcs, and I use most of my programs professionally. We have 12 engineers in our office, and half use an HP calc, but I am the only one who programs either kind (mostly my HP-42S, and sometimes my HP-41CX and HP-48G+).
My second opinion (everyone wants a second opinion): Students should get a good grounding in Excel, Mathcad, and/or Mathematica because they will likely be using one or more of these professionally. I venture to guess that most of use Excel every day or nearly so, and I would make Excel training a requirement and Mathcad and Methematica an elective. For Excel training, I don't mean just learning how to use the program itself, but how to use to solve real-world problems. BTW, I use Excel daily and Mathcad once in a while. I used to use Mathcad more often, when I was doing more pure design. I am the only Mathcad user in my office of 12 engineers, and I am pretty sure I am the only Mathcad user in our region of the company (>200 engineers). I am also one of only two engineers in the office who use Excel for more than just basic calculations. The other guy is a recent graduate and he's like me in the sense that if we see an opportunity to automate and standardize a frequent calculation, we build a spreadsheet.
I'm not trying to brag. I'm just more facinated by numbers, equations, and ways to simplify my calculation life by taking on the task of building a solution (even if it takes longer). On the other hand, I'm not terribly fascinated by project management and the financial side of the business, even though I do that more now than design.
RE: Should Undergraduates Be Taught Fortran?
1) How to spell
2) How to make an outline of a report before starting to type
3) How to use Excel the way it's designed
4) How to turn off MSN while at work
5) How things in their field of interest are manufactured
6) How their employers actually generate income and profit
7) How and where to find which design loads to use
8) What "design requirements" are.
9) How to work with others
10) How to talk to clients
Come to think of it, I have about 15 more, but I need to get to work.
tg
RE: Should Undergraduates Be Taught Fortran?
Fe
RE: Should Undergraduates Be Taught Fortran?
I have never used it since even though I did get the first programmable calculator that HP came out with (10 steps-wow-I thought I'd died and gone to heaven, and I was the envy of the office) but I never equated my having learnt Fortran with any ability to use it. I can't program the HP 23 that I own today.
Still, and even to this day even though my type of engineering doesn't require me to write programs (I use plenty, however), I think it gave me a basic understanding of what is going on inside the belly of the beast when a computer does computations or sizing for me and it helped me understand early on that "garbage in = garbage out".
rmw
RE: Should Undergraduates Be Taught Fortran?
i = i + 1
Ouch...
RE: Should Undergraduates Be Taught Fortran?
Makes much more sense. Except that "i" is reserved in some languages.
- Steve
RE: Should Undergraduates Be Taught Fortran?
I sometimes use this in Matlab. Although, for obvious reasons not in C.
Fe
RE: Should Undergraduates Be Taught Fortran?
All this talk of index counts is giving me flashbacks to my 2 years of C at university (Aero had to take C, Mechanical got to take visual basic). My most complex program for the end of year project wouldn't work because I got them mixed up somehow.
Both years were given by completely unintelligible lecturers, one from Iran and one from Newcastle. I heard the one from Newcastle took a course on how to be a better teacher after our reviews of his course. The one from Iran on the other hand wanted us to submit 2 reviews, one anonymous as was school policy the other with our names on it as he thought there would be a difference in how we graded him if we feared retribution. Not me, I filled in both exactly the same, mostly 1's & 0's (fitting for a computing course though the scale was something like 1-5 with 5 being good) with my name on one in big letters.
And I wonder why I'm having trouble finding an alternative employer
As to the OP, not sure it has to be Fortran but learning C has given me some appreciation for how code is done, what's going on behind the scenes in other programs etc. Even when doing some stuff in Excel this comes in handy.
KENAT,
Have you reminded yourself of FAQ731-376: Eng-Tips.com Forum Policies recently, or taken a look at posting policies: http://eng-tips.com/market.cfm?
What is Engineering anyway: FAQ1088-1484: In layman terms, what is "engineering"?
RE: Should Undergraduates Be Taught Fortran?
I created a C++ matrix class about 10 years ago for DoE/optimisation stuff using our simulation results. I wanted to make Matlab->my code easy to translate.
This past few months I've extended it to be a template class (needed complex variables). Then I've used it for some big matrix maths it was never really designed for. So I've had to interface it with lapack and blas, which are both FORTRAN.
Had I not known the intricacies FORTRAN, I would have been stuffed.
- Steve
RE: Should Undergraduates Be Taught Fortran?
That is i gets i+1.
As opposed to the equals operator, which is what you are discussing. APL uses an arrow as an assignment operator. C uses == as the equals operator.
RE: Should Undergraduates Be Taught Fortran?
i(n) = i(n-1)+1
Personally, while I agree that it could anger algebra teachers, I like it. By knowing that i = i + 1 is a valid statement (in certain applications) I feel more powerful. I can now look at somebody that only knows algebra and not programming and say, "You can't say i = i + 1, but I can, because I know something you don't." ;)
-- MechEng2005
RE: Should Undergraduates Be Taught Fortran?
i(n)-i(n)=i(n-1)+1-i(n)...
KENAT also has an algebraic point. But, when I am programming I rarely think of it as just algebra.
Fe
RE: Should Undergraduates Be Taught Fortran?
- Steve
RE: Should Undergraduates Be Taught Fortran?
Fe
RE: Should Undergraduates Be Taught Fortran?
RE: Should Undergraduates Be Taught Fortran?
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
RE: Should Undergraduates Be Taught Fortran?
I've used programmable HP calculators and written programs for them (RPN is the best and I can't use an algebraic calculator today).
I think the students should learn some type of procedural language and with the possibility of calling FORTRAN routines from C++, maybe both languages should be taught.
_____________________________________
I have been called "A storehouse of worthless information" many times.
RE: Should Undergraduates Be Taught Fortran?
...so, learn it, No. Study about it, Yes.
RE: Should Undergraduates Be Taught Fortran?
The latest posting in the Fortran forum is some guy wanting to Bessel function evaluations in double precision Fortran...
TTFN
FAQ731-376: Eng-Tips.com Forum Policies
RE: Should Undergraduates Be Taught Fortran?
- Steve