Most Useful Academic Programming Language ...

silent11 on 2005-06-27T20:33:14

I need to decide which programming lauguage to study for a Computer Information Systems degree. The following are my options:

  • CIS 4304 Advanced Programming in C++
  • CIS 4321 Advanced Programming in Visual Basic
  • CIS 4325 Advanced Programming in COBOL
  • CIS 4330 Advanced Programming in Java
I know a just a little of Java and VB, as for the others I know even less.

What I'd really like to know is which language will best

  1. Help me further my understanding of programming concepts
  2. Help my resume & earning potential
  3. Be of use in the real world
I'd love to hear your thoughts on this from some of you experienced programmers out there. Also, I may not get around to taking this class for a few semesters. In the event that VB is replaced with C# would your choice change?

Thanks


FWIW

jdavidb on 2005-06-27T23:01:05

I wouldn't apply the word "academic" to any of those languages, except maybe Java, and there maybe in a negative sense. Clicking on your title, before I read your journal entry, I was thinking "LISP/Scheme." I guess I'm thinking "research language."

I would rule out VB and COBOL utterly. If you get what you should get from your degree, you should be able to pick those languages or any other up on your own in the future, if and when necessary.

I would tend to say the answer is Java. There's lots and lots of emphasis on it these days, and it teaches a lot of important concepts. (Personally, I enjoyed picking up most of those concepts from other languages, but Java's not as bad as its detractors want to say.)

C++ is also a good option. It's much closer to the machine and there's a lot of interesting things to pick up from that interaction. C++ might be a given for you if you already know C and want to get through class with a minimum of effort.

As I said, I think if you get what you should out of a course of study, you'll come out not thinking of yourself as knowing a list of languages, but of being able to learn any language your future employer throws at you. Given the language selection available, you might prefer to pick whatever class allows you to use a minimum of effort and then devote yourself to picking up another language using a different paradigm, like a LISP. Or to refining your Perl. (You might browse Eric Raymond's "How to Become a Hacker" essay for suggestions.

I think learning C++ or Java will prepare you more to deal with VB or COBOL than learning VB or COBOL with prepare you to deal with C++ or Java. And even though there's still an enormous amount of COBOL code running in the world, you may go your whole life without seeing it, so I wouldn't work on learning the language other than as a personal interest unless you have a job offer from someone who uses it.

Most useful academic programming languages

mary.poppins on 2005-06-28T04:36:50

Most useful: http://ocaml.org/
Second most useful: http://mlton.org/

Learning C++ would also be good at some point, but the language is so horribly complex that I'm not sure a class is the best way. You could spend the entire time learning about templates!

And the winner is.....

silent11 on 2005-06-30T15:23:59

I think I'll register for Java.
This article from TPR helped me solidify my choice:
http://www.theperlreview.com/Articles/v0i5/perl-java.pdf