Top 10 MUST KNOW programming languages if you want to be a programmer!
DISCUSS
Name:
Anonymous2005-09-20 13:46
1) English
Name:
Anonymous2005-09-20 14:24
2) none
Name:
Anonymous2005-09-20 15:27
C, Lisp, (Perl | Python | Ruby), maybe php although Ruby on Rails is making that obsolete.
You should have some knowledge of assembly but I don't consider that a language.
Name:
Anonymous2005-09-20 17:13
If you mean a well-rounded programmer, I would suggest some sort of assembly, C, and Lisp or Prolog as a start. Then Java or C++ and Perl or Python.
Name:
Anonymous2005-09-21 0:25
>>4
I think not. PHP is much better designed than that Ruby shit.
Name:
Anonymous2005-09-21 6:17
PHP is much better designed
That's like saying the garbage dump is better designed.
Name:
Anonymous2005-09-21 6:44
Ten? You only need one to be a programmer. You can even be a good programmer with just one language, though knowing more languages certainly help. A lot.
Name:
Anonymous2005-09-21 16:56
I know visual basic, c and c++, delphi, php and a little assembly
Name:
Anonymous2005-09-21 17:07
>>9
Spend a few weeks purging all knowledge of VB from your mind and you'll be OK.
Name:
Anonymous2005-09-21 18:31
You should have experience with:
LISP/SCHEME
SML/OCAML/ALICE
HASKELL
PERL
RUBY/PYTHON
SMALLTALK
JAVA
C
C++
SQL/XQUERY
Name:
Anonymous2005-09-21 19:01
And the caps lock key.
How do you get experience with Haskell, anyway? The introduction on haskell.org is more masturbation about how much better the author is than C programmers than it is an introduction, and I never found a better one.
Name:
Anonymous2005-09-22 6:20
ALL LANGUAGES ARE ACRONYMS THEREFORE THEY SHOULD ALWAYS BE SPELLED IN UPPERCASE.
Name:
Anonymous2005-09-22 6:38
Proof by contradiction: Pascal.
Name:
Anonymous2005-09-22 7:16
IT'S PASCAL
Name:
Anonymous2005-09-22 17:13
THAT WAS VIP QUALITY
Here's my list:
1. C
That was my list.
Pure C is what lets you understand both the lower and higher level issues of programming, and it's powerful enough to be extended to implement other programming paradigms. I consider a programmer serious when I see he/she can deal with complex C code.
Of course, then you should try languages from other paradigms. I'd suggest to try at least a bit of all OOP, event-driven programming, functional programming, and more bizarre stuff like production systems, just so you fill your mind with ideas.
>>19
Complex, proper C requires intelligence and wit, and C/C++ is the language used for 90% of the software you have in your hard disk at any given time. Other languages are usually simpler, so if you can demonstrate you fare well with the real thing, chances are that you'll be a good programmer for anything else.
Name:
Anonymous2005-09-27 20:51 (sage)
requires intelligence and wit
English Lit 101 is down the hall, on your left.
Name:
Anonymous2005-09-27 22:48
>>20
LISP requires wit more than any other language.
That said, learn LISP (namely pure, functional LISP, don't hit common LISP until you've mastered pure LISP), C, Java/C#, PHP or Ruby or one of those kind of languages that are commonly used in web applications, Prolog, and whatever else you feel like screwing around with.
Name:
Anonymous2005-09-28 3:59
>>22
Hokay, what is this "pure LISP" you speak of. There are basically two surviving dialects, Common LISP and Scheme. I presume you meant the latter since it is a very good learning language. Hey, MIT digs it.
Name:
Anonymous2005-10-05 13:57
>>23
"pure LISP": theoretical LISP. the originally proposed one with only atom, car, cdr, cons, eq, and cond (and perhaps a few others I forget). Put another way: write a LISP interpreter.
Name:
Anonymous2005-10-05 16:35
>>24
You forgot "quote".
So what you're saying is don't try Common Lisp until you have mastered using only the 7 axioms. That's not "functional" Lisp because you need to add a whole bunch of stuff before it works as a functional language.
I we assume "best investment" has something to do with "most marketable skill" or "skill you're most likely to make money with", and whomever we're discussing doesn't know <i>any</i> languages, I think C et al. are a superior investment of time to python. Your average person is *way* more likely to get a job and earn real money based on development with C and its ilk.
If, on the other hand, you're approaching it from a more academic point of view as to "best investments," I'd probably suggest something OCaml or Ruby or one of the other "cool" languages amongst the language geeks.
(Speaking of which, it may be only another 5 or 6 years until C# becomes on of the "cool kids". Lambda expressions in a C-derived, mass market language? Cool!)
I'm not trying to dis Python, it's certainly a <i>good</i> investment. I'm just saying that odds are it isn't the <i>best</i> investment.
Name:
Anonymous2005-10-08 11:32
Fuck fortran and lisp. That's not to say that they're bad languages (they may very well fall into the top 10, but the top 10 certainly aren't all "MUST know"). But professional programmers don't need any kind of background in fortran (unless you're working on whacked legacy code) or lisp, regardless of its theoretical value. I can't figure out why the hell so many people put that as number one on their lists. If you're a Software Development Engineer developing applications, you'll need to know C/C++ (though people don't really write new shit in pure C any more, so you don't really need to know it as a language separate from C++), maybe Java, and a shell script. Python and Perl could be handy. For Web Programmers, it's all about Perl, Java, JavaScript, PHP (unfortunately), maybe ASP and - if you're feeling tacky - Flash lingo.
But it is possible be a good programmer - a good professional programmer, even - knowing only one programming language.
This is why so many companies that employ "professional programmers" turn out such shitty software.
Name:
Anonymous2005-10-08 14:34
>>28 I'm seeing Python embedded in more applications that use it as a scripting subsystem. As far as what puts bread on the table, you can't just stick to one language, obviously.
Name:
Anonymous2005-10-08 17:20
>>30
That's why free software isn't any better besides being free - or rather, what Richard Stallman thinks it's free.
Name:
Anonymous2005-10-16 14:24
C, C++, some sort of assembler, bash, common lisp, scheme, perl, java, python, erlang
Name:
Anonymous2005-10-16 21:40
Bash and Erlang? I think not.
Name:
Anonymous2005-10-17 5:37
I think that mastering the shell is a need for any programmer. Erlang is a very fine language, why don't you like it?
Name:
Anonymous2005-10-17 5:38
Bash is useful but it doesn't exactly make you a better programmer. Erlang seems a little esoteric. For that reason I'm pushing it onto my "to learn" queue.
Name:
Anonymous2005-10-17 6:16
Mastering the shell isn't needed for any programmer. Bash is an ugly relic, and its scripting is fuck ugly. Use a better language to glue things together.
It's definitely not a must know language. It's more like must forget. Shit, I wish I could.
Name:
Anonymous2005-10-17 11:01
Mastering the shell is needed for any programmer that wants to control its development environment efficiently. I reckon its embedded language is not really nice, but I still wouldnt trust any self-proclaimed unix programmer who couldn't write decent shell scripts.
Name:
Anonymous2005-10-17 11:32
There's a difference between writing a shell script and mastering Bash scripting. And that "control its development environment efficiently" is BS, considering that every professional programmer I personally know uses an IDE.
Anyone who writes scripts in shell without damn good reason needs their head checked. Someone should throw it out and put a decent environment in its place.
Name:
Anonymous2005-10-17 11:55
Unix IS an IDE. It's an infinitely extendable runtime environment.