Being taught "old" languages at College a problem?

Started by
17 comments, last by codeCacker 17 years, 8 months ago
Obligatory link to The Perils of JavaSchools.
Advertisement
Quote:
A few years ago one of my uncles landed a job because he knew COBOL.


As weird as it sounds, I have actually downloaded some COBOL stuff that sits on my computer and I'm tempted to start learning COBOL. I think there was a COBOL course in my school, but they dropped it a little while before I entered. In a few years there will be a shortage in COBOL programmers, and the amount of programs that need to be maintained is enormous. Of course, maintaining COBOL programs isn't exactly my ideal future job, but if it pays well it's good to have some extra weapons in your arsenal.
If you're interested in good Computer Science universities in Texas, I will have to recommend to you the University of North Texas. They are mainly focused around C++, and they have one of the oldest game programming labs in the nation.
I graduated from there a few years ago, and I'm finding that most of the people that have gone to college at other universities didn't recieve the proper exposure to actual programming while attending. That was very surprising to me at first, but now I'm finding it to be pretty common with recent graduates.
What I hear about UTD is that they're currently moving their main focus towards Java.
The site for the game programming lab is:
http://larc.csci.unt.edu

--krizo
In general I'd say its much better to be taught "old" languages and to leave learning newer languages as an excercise for the student. The reason, in part, is that most new languages are usually designed te be cross-platform or RAD languages (like java or C#) and tend to have features that, while usefull to that end, tend to 'baby' new programmers. One example is that it is substantially easier for someone with a C/C++ background to get used to java/C# garbage collection rather than the other way around. Those who have always had a garbage collecter are likely to know little or nothing about manual memory management techniques, pooled allocators, or the cost at which their nice garbage collection system comes. Also, newer languages like Java/C# are poor choices for teaching you anything about the underlying hardware and its relationship to programming languages. A language like C, for instance, is really only one step above assembly language (while still being a very readable language), whereas java or c# is another 2-3 steps further away from the hardware.

Remember, you're studying computer science, not just programming. Computer Science is, oddly enough, the Science of Computers and Computation. Many people make the mistake that its purpose is to teach you to be a programmer. Programming is only one artifact of a much broader understanding you wish to command. If you only wish to program, I'm sure there's a devry that can accomodate you, however you'd never be as good of a programmer than had you taken a full traditional CS program.

There is a good spectrum of languages you list at A&M that will broaden your horizons as a programmer or aid you in studying particular disciplines of programming (such as lisp for AI or fortran for scientific computing.) I'm actually a little disapointed to not see any functional programming languages (like ML or haskel) listed though.

As to how easy it is to pick up some of these newer language. In my last job I was able to be productive with C# on my second day, having never coded a single line of C# before and my backgound being primarily C/C++. VB.net, java/&#106avascript, and SQL were similarly easy to pick up.

throw table_exception("(? ???)? ? ???");

Quote:Original post by Ravyne
Remember, you're studying computer science, not just programming. Computer Science is, oddly enough, the Science of Computers and Computation. Many people make the mistake that its purpose is to teach you to be a programmer.


Summed up by Edsger Dijkstra: "Computer science is no more about computers than astronomy is about telescopes."
Quote:Original post by mikeman
Quote:
A few years ago one of my uncles landed a job because he knew COBOL.


As weird as it sounds, I have actually downloaded some COBOL stuff that sits on my computer and I'm tempted to start learning COBOL. I think there was a COBOL course in my school, but they dropped it a little while before I entered. In a few years there will be a shortage in COBOL programmers, and the amount of programs that need to be maintained is enormous. Of course, maintaining COBOL programs isn't exactly my ideal future job, but if it pays well it's good to have some extra weapons in your arsenal.


I studied it for a bit back in 1992. It sucks compared to other languages.
"I thought what I'd do was, I'd pretend I was one of those deaf-mutes." - the Laughing Man
Quote:Original post by LessBread
I studied it for a bit back in 1992. It sucks compared to other languages.


Hence the reason its become an obsolete language - the value of knowing COBOL is that there are so few other programmers who do know it (and they are mostly old and retiring). As many businesses still have code written in it, and occasionally need modifications or additions made (the big one being the Y2K update), the demand for skilled COBOL programmers (ones who know it well enough to figure out and modify other peoples undocumented 20 year old COBOL code) is high. Supply and demand.
That is an interesting mix of languages to be exposed to, though I wonder what flavour of Pascal they're teaching -- modern Delphi style maybe? If so, I don't mind it (er, the object pascal that Borland pushes), though I will admit that I am more comfortable with C++/C#/Java.

Either way, like everyone's said -- it's not the languages that are important, but the understanding of what happens internally -- of course, that's no good to you if you don't have time/motivation to self-learn different languages...but if you don't have that motivation, consider another career track because anyone that programs will tell you that self-improvement (via continuous education) is just a part of our lives :)

~Shiny
------------'C makes it easy to shoot yourself in the foot. C++ makes it harder, but when you do, it blows away your whole leg.' -Bjarne Stroustrup
When I was in college (only a few years ago mind you). You started with C, then went to C++. Then in order to become a computer science major, you had to pass IBM Assembler for the 360 or 370 mainframe series. I also had to take COBOL and FORTRAN. Java was an optional elective. And you thought your classes were bad.

On the positive note, COBOL is still used a lot in large business institutions such as insurance companies and banks. But as for IBM assembler...good luck in getting a job coding that (who would want to?). Some schools are just behind the times.

But I suppose the real purpose for many education institutions is to teach you how to code and think like a programmer...most high level languages can teach you that. It just takes practice.

This topic is closed to new replies.

Advertisement