Discover the best of the web!
Learn more about Digg by taking the tour.
10 Programming Languages You Should Learn Right Now
eweek.com — Knowing a handful of programming languages is seen by many as a harbor in a job market storm, solid skills that will be marketable.
- 1250 diggs
- digg it
- herrshuster, on 10/12/2007, -68/+18OK! (crams every programming language on list into head right now) maybe you shouldn't have put the "Right Now" in.
By The Way, Why Is Every Title On Digg Like This These Days?- rolosworld, on 10/12/2007, -7/+681. PHP
2. C#
3. AJAX (Programming language??????)
4. JavaScript
5. Perl
6. C
7. Ruby and Ruby on Rails
8. Java
9. Python
10. VB.Net (Visual Basic .Net) - Dayz, on 10/12/2007, -3/+29Dont forget assembly for the electrical engineers. I think thats #1 on my list followed by C
- Wolfghost, on 10/12/2007, -1/+26herrshuster,
Because today's high school graduates have a sixth grade education. The title "10 Programming Languages You Should Learn Right Now" is captialized correctly and your title example should have been...
By the Way, Why is Every Title on Digg Like This these Days?
("This" would normally be lowercase, but for this usage) - i440, on 10/12/2007, -19/+3@Dayz
Do you wish you could write in a more modern language? I don't know assembly but it seems pretty intimidating
@Wolfghost
Yeah...I met a professor at my local university said that many of his freshmen had poor English skills. How embarrassing, but I wouldn't really be one to talk right? I have a 4.0 GPA and can barely write a decent essay - Qoogirl, on 10/12/2007, -22/+8I saw C# one day in a store and realized I've aged because I've only heard of C++. How do you pronounce "C #"? "C number?"
- nreynolds, on 10/12/2007, -2/+43c sharp... unless that's a joke.
- nodnarb24, on 10/12/2007, -14/+8Qoogirl: It's pronounced C sharp.
edit: Looks like nreynolds got to it before I did. - PAJK, on 10/12/2007, -14/+3Why would anyone that *really* knows those languages bother working for someone else? Surely they should start their own company.
- carguy84, on 10/12/2007, -4/+45Here's an idea, how about you learn something like C and HOW to think like a programmer and then not worry about what the latest whizbang programming language is and just adjust your syntax as necessary.
Ahh, cause that would make for a dull article, nvm. - fyngyrz, on 10/12/2007, -17/+30And then there are the languages that I would *actually* hire you for knowing:
1. C - for high performance applications
2. Python - for web scripting and low performance applications
...and you'd get extra points for having written anything significant in assembler, because then I'd know you understood how computers actually work and can at least entertain the hope that you'll write decently performing code.
For the others... PHP isn't clean, VB and C# are proprietary, Java and Javascript tend to encourage client-side work which in turn breeds compatibility problems, Perl is a foolish, outdated investment in incomprehensibility, and Ruby is basically a slower, mutated version of Python.
C can be used to do almost anything, including the most powerful and important OO work; private and public functions on objects, etc. It is available on every platform worth working on. Python is a beauty of a language that provides for anything from massively OO to linear line-by-line thinking, whatever you're up for at the moment. Python is available for almost any platform, and development in Python is both quick and easy because the language is, at its root, a sensible language. - HMMaster, on 10/12/2007, -13/+8damn. i thought it is C hash. xD
- Dayz, on 10/12/2007, -1/+11@i440
Assembly may be scary at first since if doesnt really follow the basic programing struture. It is used by engineers because its the fastest language and speed matters. - BluParadox, on 10/12/2007, -5/+14"I saw C# one day in a store and realized I've aged because I've only heard of C++. How do you pronounce "C #"? "C number?""
Just think of it this way c# = c++++, except with the pluses stacked on top of each other, and pronouced as C sharp (as others have pointed out) - schrodiggity, on 10/12/2007, -1/+13i440
if you think assembly is intimidating you've never seen Electrical Engineering.
the sad part is. most EE's learn about HW for 4 years then go out and get jobs writing software. - TOTALineptitude, on 10/12/2007, -10/+2I dont see Modico on the list. No digg.
- dirtyhipster, on 10/12/2007, -11/+3I cant believe COBOL isnt listed! LoL
- Qoogirl, on 10/12/2007, -9/+5Thanks for all the answers. It's pretty sad when you get dugg down for asking a simple question. The 4 +s stacked on top of each other was an interesting graphical explanation @ BluParadox, good looking out. =)
- otatop, on 10/12/2007, -4/+4"It's pretty sad when you get dugg down for asking a simple question."
That's because there's a little known website called Google that you can use to answer such questions. - rm999, on 10/12/2007, -3/+1no one needs to know 10 languages, this is ridiculous. 5 languages should be enough to do anything, and if you *need* to know another it takes about 8 hours to learn adaquetly well.
- vaguelyrandom, on 10/12/2007, -0/+9Do people still buy lists like this!? Learn about:
* An OO language - including the mechanics of what is happening behind the scenes
* Design patterns
* Complexity of algorithms
* DBMSs and SQL
Everything else will follow with experience and you will be able to move between any other language and technique with ease. - jrocklin, on 10/12/2007, -0/+2@vaguelyrandom, if I go mod you up multiple times I would - I think too many people focus on the programmer mentality, and not on the design part (which is where a lot of the work really is, followed by testing, then documenting, then by actually writing code)! I guess there are shops out there which just want people who write code and nothing else. But to have some level of job security in a somewhat volatile market, software engineering is where to be. Any 14 year old can write code, but understanding the underlying architecture of a language, what the compiler does with the code which is written, various algorithm designs, and how all the parts fit together into a large project - that's where people should focus their on (especially those in college).
Er, but then there are more people looking like me...ignore everything I said: Learn the 10 languages listed in the article!!! - anphanax, on 10/12/2007, -1/+1"It's a simple and ulgy launage. But it's very useful to know if you're a programmer or system admin. Works on all version of DOS up to Vista,"
I know i'm bound to make people angry for being an nazish about this, but that's NOT DOS. You can run CMD.EXE without NTVDM being present. CMD.EXE is just a command-line interpreter. DOS, as in MS-DOS, is a real-mode x86 operating system that doesn't support multi-tasking (well, without 3rd party extensions). Also, command-line changes seem to occur with each release. Trying to run XP batch files on Windows 95 sometimes yields "interesting" results (CACLS - what's that? Why does that DIR command switch behave differently? Why won't my deltree script work on XP?, etc), for instance. It's a command line interpreter with DOS-like syntax, but it ain't DOS.
A classic example of this usage confusing people is when people try to use MS-DOS headers in VC++ and wonder why what they want to do isn't supported. Modern VC++ makes Windows console applications, that utilize the Windows API. DOS apps can't do that.
Now that i'm done ranting you can digg me down :). - brundlefly76, on 10/12/2007, -0/+1Personally I like that there are so many languages becoming popular right now(except when it comes to changing jobs, then its a royal pain the ass!), but I really wish someone would release a new *natively compiled* language with modern features and high performance.
I think we're good with interpreted and JIT languages for now...jeez..
- rolosworld, on 10/12/2007, -7/+681. PHP
- fatnutz, on 10/12/2007, -0/+18Is this sort of a reverse psychology thing, should I learn languages other than these now, because theoretically if all digg users learned how to program, I'd never get a job.
- deepspaceant, on 10/12/2007, -4/+17Ajax is listed. Don't you love how hype just goes everywhere? Another list of "cool" things.
- nevenmrgan, on 10/12/2007, -15/+4AJAX is enabling development of previously unimaginable web applications. It's a mess to develop, but so's most web stuff.
What, specifically, do you have against it? And do you really think that it's going to "go away" or not absolutely invade the web? Were you one of those people who said "Pshaw! Who'd ever need such a contraption!" when CSS was first becoming popular? - daldredge, on 10/12/2007, -4/+30@n
AJAX isn't a programming language. - vafada, on 10/12/2007, -4/+15@nevenmrgan
but AJAX isn't even a programming language.... - timetrap, on 10/12/2007, -4/+13FTFA:
"3 AJAX (Asynchronous JavaScript and XML)
What it is: Though technically not a programming language, AJAX uses XHTML or HTML, JavaScript and XML to create interactive Web applications."
I wonder how many people actually take the time to read the articles . . . - vafada, on 10/12/2007, -4/+11then change the headline to "9 Programming Languages You Should Learn Right Now".... ok im anal...
- daldredge, on 10/12/2007, -8/+2@time
The title of the fscking article is "10 programming langues you should learn right now" - tehmoth, on 10/12/2007, -2/+3Javascript listed twice, so it is really 9, unless you want to count XML as a "programming language"
- Moby22, on 10/12/2007, -2/+1@vafada / daldredge
Have you never heard of "literary license?"
Definition:
http://en.wikipedia.org/wiki/Artistic_licence
Commentary:
http://smgct.typepad.com/spinning/2004/01/writing_literar.html
To get a license yourself:
http://www.rogerjcarlson.com/LiteraryLicense/LiteraryLicense.asp - raindog469, on 10/12/2007, -0/+1Yes, they did mention Ajax not being a programming language in the article. But they already had Javascript in there, and since Ajax is just Javascript programming that uses the XMLHttpRequest object and a backend script in whatever language you like, it really should have just been listed under Javascript.
Are companies seriously hiring Javascript people who don't know how to use XMLHttpRequest? Is there suddenly a huge demand for animated snowflakes drifting down your screen or images that blink at you when you mouseover them?
- nevenmrgan, on 10/12/2007, -15/+4AJAX is enabling development of previously unimaginable web applications. It's a mess to develop, but so's most web stuff.
- nevenmrgan, on 10/12/2007, -2/+15Geez, I'll get to it next week.
Seriously, though, anyone who put all 10 of those on a resume with a solid proficiency level next to each should be marked with a big BS. Or to qualify that: anyone who's not so 1337 that they would emanate a glow of web development with their entire being as they enter the room.- hosiah, on 10/12/2007, -3/+4I heartily agree: although I only score 6 1/2 on this list (I would would rather not code at all than use a proprietary language), AJAX being the half, but know others that weren't mentioned (off-beat stuff like Lisp and POVray), I have come to realize that spreading yourself too thin means lack of depth of mastery. I say I know Lisp, yes, I have coded Lisp, but I'd have to look stuff up a lot if I used it this week. PHP I'm using on a daily basis, so I'm right up to par on that; but were I to put it down and focus on Python mastery, I would slowly forget a lot of PHP. The threads do get stripped after awhile.
The worst thing is, every time I glance through the want ads in the paper, I see that anybody who limited themselves to this article's list wouldn't be able to get a job in data entry. Human Resource people are smoking crack, that's all there is to it. - Xeth, on 10/12/2007, -3/+0You'd be surprised how many people are proficient at all 10. At my current job as a developer for a small tech company, I regularly work with #1-6 and #10 on the list ( yes, we have some legacy code in VB/ASP... ), and I've had plenty of experience with Java and Python as well in my previous position.
Most of these languages are very similar anyway and anyone who has a solid background in CS will pick them up very quickly. None of them are "essential" with maybe the exception of C.
Whats really important and valuable is knowing concepts like OO, design patterns, and algorithms for designing and building maintainable apps, and knowing how things like compilers, databases, OS kernels and network stacks work so that your design/code performs reasonably well.
PS, AJAX is not a language and JavaScript, PERL are more scripting languages than not. SQL is pretty handy even though thats not a programming language either... - ioral, on 10/12/2007, -0/+1@Xeth proficient at all 10? Either you must be a genius or have really shallow standards.
Also, most of the languages are quite new. And guess what? If you know Java 1.2 and C# 1.1, by the time you learn Python and and Ruby, Java 6 and C#2 are out. Heck, even Perl and C are out with new versions. It's much more plausible to be proficient at some and "good" at the rest. Interviewing applicants is part of my job, and a lot can be pretty naive about what they don't know about a language. - anphanax, on 10/12/2007, -0/+1"The worst thing is, every time I glance through the want ads in the paper, I see that anybody who limited themselves to this article's list wouldn't be able to get a job in data entry."
I would like to know what paper you're reading. I thought you were being sarcastic at first, but that's just wrong here. There are always some .NET or Java jobs out there (some of which don't even seem to require a bachelor's degree, unlike the Perl and C positions I've seen). Last I checked there was a good number of them on sites like CareerBuilder and Dice.
As for:
"I would would rather not code at all than use a proprietary language"
Why? It's not like open-source languages won't go in directions you don't like, or you wont over time get tied into their way of doing things. Unless it's your language, you don't have much control over it. If there's a proprietary language out there that's good, why limit yourself? - hosiah, on 10/12/2007, -0/+1"As for:
"I would would rather not code at all than use a proprietary language"
Why?"
For one thing, I freelance, so I can pick and choose. For another thing, Java programmers are a dime a dozen; less competition in the niche languages. Last, I can get code experience in a language that runs everywhere, or I can spend the same time on a language that will only run on one platform, and the proprietary language costs mega-bucks just to learn it on your own, as opposed to a free language which I can get for the cost of a burned CD or typing apt-get.
I run three computers, and thanks to partitioning I have multiple versions of Linux, BSD, Open Solaris, and many other to play with. Now picture if I had to pay for every system on every machine, plus the mega-bucks to lay out for Visual Studio this and that. At that point, I'm about a two thousand dollars in the hole and I still have ahead of me competition with the 95% of the market that does the same thing.
So, cost/benefit analysis leads me to this path for pragmatic reasons.
- hosiah, on 10/12/2007, -3/+4I heartily agree: although I only score 6 1/2 on this list (I would would rather not code at all than use a proprietary language), AJAX being the half, but know others that weren't mentioned (off-beat stuff like Lisp and POVray), I have come to realize that spreading yourself too thin means lack of depth of mastery. I say I know Lisp, yes, I have coded Lisp, but I'd have to look stuff up a lot if I used it this week. PHP I'm using on a daily basis, so I'm right up to par on that; but were I to put it down and focus on Python mastery, I would slowly forget a lot of PHP. The threads do get stripped after awhile.
- stuckinafridge, on 10/12/2007, -8/+1I know, and/or am learning 4 of the 10. Does that mean i'm only 4/10's marketable?
- xxNIRVANAxx, on 10/12/2007, -0/+1yes
- Klowner, on 10/12/2007, -6/+16Ajax is hard to learn? Are all these people idiots or something?
- i440, on 10/12/2007, -16/+3I wrote an Ajax site all by myself (just for fun, nothing remotely close to professional). It didn't really work with IE though...
- Klowner, on 10/12/2007, -6/+11I guess the 2 digg users that can't comprehend ajax decided to mod me down.
- i440, on 10/12/2007, -8/+4@Klowner
/Both/ of them, now? One of them aren't so bad once you get to know them. - ringo380, on 10/12/2007, -1/+6No better way to get yourself digged up than to comment that people won't/aren't digging you up.
Nobody likes to be predictable.
- prockcore, on 10/12/2007, -2/+18A good PHP programmer is hard to find.. there are a lot of bad PHP programmers however.
And judging from the number of resumes on my desk, there are tons of out-of-work Java programmers.- uymai, on 10/12/2007, -1/+3in toronto, there's a massive shortage of java developers with experience.... either that, or there's a flood of java developers with only academic experience
- 1337diggster, on 10/12/2007, -0/+2No wonder experienced programmers are hard to find. Does anyone even hire programmers who don't have experience? Rarely.
- Masna, on 10/12/2007, -10/+9Psh...
All you need is PHP, JavaScript, HTML, and Obj-C/Cocoa.- timetrap, on 10/12/2007, -1/+6Am I way off base? I thought coco was only for macs? That seems kind of limiting . . . Of course there is something to be said of a captive audience.
- jmcantrell, on 10/12/2007, -1/+11Obj-C? Cocoa?... riiiight...
- kodek, on 10/12/2007, -0/+4You might want to add Logo to the list while you're at it.
- anphanax, on 10/12/2007, -0/+1If there was a top ten list of languages with ugly syntax, ObjC would deserve honorable mention, if not more. I don't understand why a company like Apple with all their "elegance" has to have such an ugly-looking programming language :P. It just seems un-Apple.
- Vizin, on 10/12/2007, -1/+9I'm 5/10
Though AJAX hardly counts. If you know PHP and you know JavaScript, AJAX is right around the corner. - chrono13, on 10/12/2007, -4/+5"Jobs available" as queried through Dice
This article was written as (and/or by) Dice as an advertisement (three Dice adverts on the linked article).
This isn't the first time Debbie and Dice have been in bed.
Debbie does Dice: http://www.google.com/search?hl=en&q=Deborah+Rothberg+dice.com&btnG=Google+Search - DesiGUY, on 10/12/2007, -1/+15I would say instaed of learn 10 languages, learn
a OO language(C#/Java),
a database(Oracle/SQL Server),
a scripting Language(JavaScript/ Ruby),
a functional language(C), etc
It would help in overall development.- fyngyrz, on 10/12/2007, -3/+4Not bad. Condense it a little:
OO and scripting: Python.
High performance: C (demonstrate OO techniques in C... easily done.)
Database: SQL (be able to handle MySQL, PostgreSQL) - Virak, on 10/12/2007, -2/+10C is procedural, not functional. Languages like Scheme and Haskell are functional.
- foufga, on 10/12/2007, -1/+1I agree, except I would divide it into:
- a statically typed functional language,
- a dynamically typed OO language, and
- a db query language
... and maybe Java, I don't know.
I'm all for dynamic typing (especially for prototyping): The new ways you can think while using, say, duck typing allow for huge productivity gains. - EroSennin, on 10/12/2007, -2/+2Man, C is no functional language at all. Have you ever heard of Lisp and Haskell?
- jmcantrell, on 10/12/2007, -1/+3smartest thing i've seen on this thread... good job.
- hosiah, on 10/12/2007, -1/+2Does the SQL family actually qualify as a "programming language"? I've only recently been picking it up in bits for my own website needs.
- adolfojp, on 10/12/2007, -0/+1hosiah asked: "Does the SQL family actually qualify as a "programming language"? I've only recently been picking it up in bits for my own website needs."
Sometimes ;-)
It can be used as one when used correctly. There are many flavors of it. You can use it within other languages. Most script kiddies just embed queries in other languages.
Aways remember this about database programming. If the operations should be done the code can be in your application. If the operations MUST be done the code must be in the database.
- fyngyrz, on 10/12/2007, -3/+4Not bad. Condense it a little:
- Dummies102, on 10/12/2007, -3/+4Another example of a "get-rich-quick" type article. No real substance, just jumping on the fad bandwagon.
- Rikkochet, on 10/12/2007, -1/+3That's well and good if you're trying to be some kind of generalist programmer hoping for any work, but a pretty stupid list otherwise.
Someone wanting to get into game programming is going to be better served with x86 assembly than Ruby on Rails or PHP.
C gives the impression that you "know stuff" (an old boss of mine said he just tested perspective hires on their pointer knowledge.. If they *really* understood pointers, they were good programmers and he'd more likely than not hire them), but isn't an useful for a web programmer if they aren't working at lower levels.
Though sadly, every resume I see these days has all of those languages on it (with the exception of Ruby - it's still too new to be cliche). I'll bet my right foot none of them actually *know* them all, but they write 'em down anyways. - richmulhern, on 10/12/2007, -2/+8I'm not going to take advice from anyone that lists AJAX as a language... especially right before JavaScript. Maybe while I'm learning PHP I'll learn the mysql_connect language too.
Focus on what you enjoy. Also, no company wants to see this many languages on a resume. Put on your resume what you are comfortable knowing and what you want to work on. You won't be taken seriously if your resume looks like a list of the latest buzz words. You can always mention other languages you know in an interview if you want to show off your skills. It's great to know multiple languages but knowing PHP and C# really won't help because most jobs involving PHP don't also require C#. You may want to try PHP with something client-side like JavaScript. They are both popular and handy tools that compliment each other equally.- BluParadox, on 10/12/2007, -1/+4You're right on. People think they need to put every skill they have on a resume - the trick is to put only the skills that are most relevant to the job you are applying for, and back it up heavily with descriptions of what you've accomplished with those skills. If you cant put down any accomplishments that are actually impressive then odds are you don't really have that skill, and if you aren't re-writing your resume for each job you apply to then you're doing something wrong.
- redxii, on 10/12/2007, -2/+8Don't forget the Bachelor's degree, otherwise, no one will want to even interview you.. it's gonna cost a lot of $$$ though.
- Dayz, on 10/12/2007, -2/+6They'll hire you, but they'll pay you way below what your suppose to get.
- thomasprebble, on 10/12/2007, -2/+0I'm well on my way to finishing my BSc with my COSC major but word on the street is that sometimes it won't even get you in the door anymore. Seems masters/honors is where its at.
- warsql, on 10/12/2007, -1/+1Where I work, getting hired is still all about experience and ability. If you get out of college without doing co-op work, you are doing yourself a disservice.
- Xeth, on 10/12/2007, -1/+1Go volunteer for an open source project.
1. It will give you very valuable and resume-enhancing experience - and not just technically: you'll learn alot about project management and development methodology as well.
2. It will demonstrate to employers that you actually enjoy the work and is not doing it just for the paycheck (if you are, find another career NOW).
3. You will meet professionals who actually work in the industry and gain valuable contacts.
Co-ops are internships are nice too but obviously harder to get. - dcfife, on 10/12/2007, -0/+0Not necessarily...a top secret clearance and some hands-on (even just playing around with your language of choice at home) will open up some interesting opportunities.
- LucasVB, on 10/12/2007, -5/+13What!? No *****!?
- klang, on 10/12/2007, -1/+4"Hello World" written in BrinF*ck
http://www2.latech.edu/~acm/helloworld/brainfck.html
(not good for posting it seems) - Equistatic, on 10/12/2007, -1/+1Everyone knows how well Brainf*ck looks on a resume.
- klang, on 10/12/2007, -1/+4"Hello World" written in BrinF*ck
- johanm, on 10/12/2007, -6/+5meh, these are too obvious.
if you want a well paying job, fast
you should learn
ABAP (Advanced Business Application Programming) SAP R3 programming lanuage
PL/SQL (Oracle Procedural Language SQL)
T-SQL (Microsofts Transact SQL)
Java - Duh
Jade
if you know these on a resonably okay level companies will be throwing money at you - mcrbids, on 10/12/2007, -10/+5This is one of the most retarded articles ever.
Mentions 4 languages more alike than different, (Perl, PHP, Python, Ruby) and doesn't ever mention SQL. Also, as many others have stated, AJAX is not a language.
WTF?
That's just dumb.- fyngyrz, on 10/12/2007, -1/+9You think Python is like Perl?
/Me crosses mcrbids off job eligibility list. - BluParadox, on 10/12/2007, -1/+1What about the other very similar languags? C# and Jave are practically the same language, and both have VERY strong roots in C. Also, why would you recommend someone learn C and not C++?
- ioral, on 10/12/2007, -0/+1@fyngyrz
Just focusing on "Python is like Perl" is unfair. He said Python, Perl, PHP and Ruby, which are *all server side, dynamically-typed scripting languages.*
I think what the parent is saying is that there are too many scripting languages on the list, and not enough enough space for something as important as SQL. - fyngyrz, on 10/12/2007, -0/+1ioral,
Ruby, Python and Perl *can* be used as server side scripting languages, but both are completely usable languages for applications that have nothing at all to do with the web. PHP, as far as I know, anyway, which isn't very far because I don't take PHP very seriously, seems to be only a creature of the web.
In any case, Perl and Python require entirely different mindsets to use, and a programmer for one is in no way qualified to be a programmer for the other without learning lots and lots of new ideas. Python is magnificently easy to learn, Perl is... a mess.
- fyngyrz, on 10/12/2007, -1/+9You think Python is like Perl?
- Virak, on 10/12/2007, -3/+8What the *******? A few corrections and comments:
C, COBOL, and PHP aren't your only choices for web development.
AJAX is not a programming language by any definition.
Using Javascript for form validation is really, really stupid.
Syntax is the least of the differences between C and C#/Java, and similar syntax isn't going to make them much easier to learn.
Anyone who finds *Java* beautiful is quite obviously insane.- BluParadox, on 10/12/2007, -3/+2I'd have to disagree with you, most of the differences between C# and Java are mainly syntax - for the most part they are the same, and java is definitely my favorite language on the list to program in (though I must admit I don't know ruby). It provides a great deal of structure to applications, and forces you to seek out object oriented design patterns. Both make a big difference when working on applications in a team...
- Virak, on 10/12/2007, -1/+2I was talking about the differences between C and C# or C and Java, not C# and Java. Big difference.
- craigvn, on 10/12/2007, -1/+3I agree with you. This guy Wayne Duqaine seems like a real douche. Someone who once was a programmer but moved into management and hasn't laid eyes on a compiler for 15 years but still thinks he is the *****.
- maehem, on 10/12/2007, -2/+5I am insane then. It looks like poetry to me. I've been looking at a bunch of someone elses C++ code for the last two weeks and I just want to barf my guts out when I look at it. Pointers blow.
- anphanax, on 10/12/2007, -0/+1Using JavaScript for form validation is not stupid, as long as you're doing validation on the server-side as well. Doing it twice makes extra work, but some users seem to like the client-side stuff. Besides, I would rather check for required fields left blank using JavaScript, then waste bandwidth by only checking server-side.
- BluParadox, on 10/12/2007, -3/+2I'd have to disagree with you, most of the differences between C# and Java are mainly syntax - for the most part they are the same, and java is definitely my favorite language on the list to program in (though I must admit I don't know ruby). It provides a great deal of structure to applications, and forces you to seek out object oriented design patterns. Both make a big difference when working on applications in a team...
- Sup3D, on 10/12/2007, -1/+5In my current job, I was asked if I knew C# (pronounced C-sharp). I responded by saying no because I was only familiar with it, but never had used it. The fact I said I did not know something made what I said I did know more believable. If you have all this on your resume, they won't believe you know it all well. If the person hiring you knows their stuff, they may ask you to write something on the spot or debug a method or something. I had to do both in a written test. I did get the job (sql, java, javascript, html). Don't say you know something in a resume unless you can actually write something substantial in it.
- jmcantrell, on 10/12/2007, -1/+1i think this is a given... you're a MORON if you put something on your resume that you are not confident with using.
- maehem, on 10/12/2007, -1/+2I had a kid at a job fair give me a resume once that was nothing but buzz words for every technology you ever heard of. I asked him if he really knew all those things. He confidently said yes. We put his resume in the stack, but it ended up in the trash. The ***** factor was just plain way too high for a 18 year old kid.
- Shalabi, on 10/12/2007, -3/+5"JavaScript
# What it is: Not to be confused with Java,"
-------------------
Article sucks. NEXT!! - joeolivas, on 10/12/2007, -2/+11If you just want to be a code monkey, learn a language. If you really want to improve your skills, learn to program.
Most of these languages are basically the same. I think the best thing you can do is really learn how to program, then the language doesn't matter, and picking up a new one is simple. - Shalabi, on 10/12/2007, -1/+3BTW, VB.net and C# compile to the same machine code and run at the same speed.
- adamsucks, on 10/12/2007, -2/+1Do they really? That's really interesting to me.. the only reason I never bothered with VB is because I heard numerous times that it's slow.. and I always had trouble trying to learn C*.
- whitehornmatt, on 10/12/2007, -1/+3@adamsucks
The .net versions both get turned into MSIL before being compiled IIRC. VB6 is of course slow but VB.net is fine
- MrTea, on 10/12/2007, -1/+3Yeah, I already know C/C++, C#, and VB.NET. If you already know C/C++, C# is a breeze!
I've been meaning the learn perl. Can anyone recommend to me a good IDE for perl?- ioral, on 10/12/2007, -0/+0Perl programmers usually argue between Emacs and vi /grin
Seriously, I've never seen anyone look for a perl IDE. maybe there isn't a demand for it, so it hasn't been written. but documentation in perl is very extensive and well-written. i personally use vi and look up stuff on man and perl.org and cpan.org. - tizz66, on 10/12/2007, -0/+1When I briefly flirted with Perl, I used Komodo. I don't even know if it's still going though.
- MrTea, on 10/12/2007, -0/+1Yeah, it seems Komodo is still around.
http://www.activestate.com/Products/Komodo/
It even supports PHP, Python, and Ruby.
Way cheaper than VS2005 it seems.
- ioral, on 10/12/2007, -0/+0Perl programmers usually argue between Emacs and vi /grin
- allenu, on 10/12/2007, -1/+3Well, better put off everything because apparently I must learn all 10 these languages RIGHT NOW.
- phang, on 10/12/2007, -1/+1Yeah I guess I could learn these languages... but I think learning all this syntax would be ***** and useless without the underlying logic. Wouldn't learning machine logic and how the flow of algorithms be more important then learning 10 languages?
- gmillerd, on 10/12/2007, -2/+1Replace AJAX in list with elisp.
Add 'shell' (bash, batch, etc)
Maybe take python, perl, rails, php and crunch them into something.
Break VB.NET out to include is ASP friends.- hosiah, on 10/12/2007, -1/+2replace AJAX with elisp? Unless Google fails me, that's still Emacs implementation of Lisp? Were you trying to be funny?
- rodrigo74, on 10/12/2007, -1/+2Use the energy that you would spend learning 10 languages to learn and _algorithms_ instead. Then, study a bit more, repeat and rinse. Eventually read a book such as "Code Complete" or "The Pragmatic Programmer", i.e, focus on everything related to the "art" of programming, despite the language you chose to implement it.
- maehem, on 10/12/2007, -1/+2The "Pragmatic" series is great.
Another good book is "Head First Design Patterns" which is part of the "Head First" and "Head Rush" series of books. This one is Java centric and I put it to use the same week I read it. It doesn't teach you Java though. It teaches you how to program better. I've been writing code for years and knew alot of 'tricks' for programming certain types of tasks, but had no idea they were called 'patterns'. I'd heard the term before but never studied it before that. It added alot of structure to how I program now, and I learned a bunch more patterns I didn't already know. If you know other languages in addition to Java, you can apply patterns to most programming languages. Some patterns are just common sense. Someone merely gave them a name.
- maehem, on 10/12/2007, -1/+2The "Pragmatic" series is great.
- glock22ownr, on 10/12/2007, -2/+2Ok, I know I am going to get dugg down for this, but... all the lazy corporations write crap in VB.NET because it allows their developers that started out in office and just learned how to be dangerous to create some kind of an app... I wouldnt put that below C though... you're more likely to get a job having to fix some ***** in VB.NET, since those super dee duper Office users are all over...
That being said, I didnt read the whole article so from a strict get paid perspective.. C# and VB.NET should be first in line... - cage1220, on 10/12/2007, -1/+2"Building Web apps from scratch using C or COBOL is going the way of the dinosaur"
WTF? Can you build a web app with COBOL and if you could who would do such an insane thing?- glock22ownr, on 10/12/2007, -1/+3Yes you can, COBOL.NET since everything gets blown down into the CLR, it doesnt really matter what you write the crap in ... so supposedly its possible... although I have not been on drugs good enough to want to do something like that since college.... :)
- hosiah, on 10/12/2007, -1/+4"We need you to redo the shopping cart app in Cobol."
Did that line make it through the profanity filter?
- captjc, on 10/12/2007, -1/+3carguy84 - "Here's an idea, how about you learn something like C and HOW to think like a programmer and then not worry about what the latest whizbang programming language is and just adjust your syntax as necessary."
This has to be the best advice. As a Computer Engineering student, I take have taken many programming courses. The one thing that I found is that many people in the class focus too much on the constructs of the language (in this case C++) and not the algorithms themselves. It is more important to know the how to solve the problem than to write the program. The best programmers I know realize that the code should come secondary to solving the problem.- jmcantrell, on 10/12/2007, -1/+2while I think we're in agreement with the fact that this guy loves his buzzwords, I do think it's important to equip yourself with the proper tools to do your job. The most important trait of a programmer is knowing the fundamentals, and knowing them WELL (as you have stated), but a carpenter cannot build a house without his hammer, saw, cement, etc. Having a diverse toolkit, and knowing the proper tool for the job is, in my eyes, just as important as having a solid foundation.
- inkswamp, on 10/12/2007, -1/+2I was about to post the same thing. In general, I think the best thing a programmer can do long-term is to learn C and get a very good grounding in OOP concepts. As most of the things on the list are fairly C-like in style, the rest is just learning the differences in the syntax and conventions of the language at hand.
- 13thfloor, on 10/12/2007, -2/+2What about making your own punch cards like in the good old days?
- ayqazi, on 10/12/2007, -1/+0@fyngyrz:
I don't think insulting other peoples languages (like calling Ruby 'a mutated version of Python') is fair.
As for not hiring, I happen to work with Ruby, so that kind of destroys your argument about having to learn Python to get hired, and not Ruby.
As for speed, I wouldn't touch C unless I knew C++ wasn't available on my target platform.- hosiah, on 10/12/2007, -1/+2Why is calling Ruby a mutated Python an insult? VB.NET could be said to be a mutated Basic, C++ a mutated C, etc....
- rodrigo74, on 10/12/2007, -0/+1Ruby has much more resemblance with Perl than Python, at least when you look at it beyond the paint.
- fyngyrz, on 10/12/2007, -0/+1ayquazi:
"I don't think insulting other peoples languages (like calling Ruby 'a mutated version of Python') is fair."
Wasn't meant as an insult. Was meant as an observation. Mutation is a force for change. Not a force for evil, badness, etc.
"As for not hiring, I happen to work with Ruby, so that kind of destroys your argument about having to learn Python to get hired, and not Ruby."
No. It doesn't. We use Python. Either you will use Python, or you don't have a job with us. Which == not being hired by me, which is exactly what I said.
"As for speed, I wouldn't touch C unless I knew C++ wasn't available on my target platform."
No. You would, because our applications are coded in C, not C++. Otherwise, again, you would not be hired.
I think you failed to understand my post. I said that the conditions I set forth were what defined the bounds of what would cause us to hire, or not, a programmer. You don't get to join a company with existing products and say that you're only going to work with the languages you want to. You'll work with what we tell you to, or you won't work for us, and I suspect that'll go for the vast majority of companies where there are pre-existing products, too, for many obvious reasons.
- dpk87, on 10/12/2007, -1/+1Ok, so I've got Python, Java, and C# down. Currently working on C++, C, tiny bit of assembly. What next? PHP would be nice, maybe some Ruby on Rails. Granted you can never know too much of any language.
- stardustwd, on 10/12/2007, -0/+1Just to clear something up, Ruby on Rails is not a programming language! It's a framework, exported from a website which was built with it. Ruby is a programming language, Rails is not.
- cherouvim, on 10/12/2007, -1/+2Its best to know how to do software engineering (OOP, design patterns) than having memorized the syntax and API of 10 languages.
- glock22ownr, on 10/12/2007, -1/+2here here... better to master something than to be a jack of all trades and the master of none... Although I would argue that Ajax complements a skillset... its not really a new language...
- maehem, on 10/12/2007, -1/+1@cherouvim
AJAX is really hot right now. If you already know PHP, Perl or Serverside Java and some javascript, you're most of the way there.
I'm reading "Head Rush AJAX" right now. Great book for diving right in.
- maehem, on 10/12/2007, -1/+1I know a few of these and income-wise. Java and C++ pay alot more than PHP, AJAX, Javascript and other 'web' languages. It's easier to teach yourself PHP and the rest though.
- glock22ownr, on 10/12/2007, -1/+1hehehe anything with a "C" in it seems to pay better ...
- 15thPD, on 10/12/2007, -5/+1I've been programming with Java for 3 years. I started out writing my own GUI programs with notepad, with AWT/Swing, and I just started messing around with C# about a week ago. I picked it up in a day. Same thing with Visual Basic, and most other languages. People that learn to program in a Visual IDE aren't programmers, they're drag-and-drop form designers with little snippets of actual programming knowledge.
If I could only use one language, I'd pick C. Why? Try compiling a DLL (dynamic link library) in any .Net language. You can't.
The article this Digg refers to is utterly useless, and any real programmer can tell you why.- eclipxe, on 10/12/2007, -2/+6"If I could only use one language, I'd pick C. Why? Try compiling a DLL (dynamic link library) in any .Net language. You can't."
You really need to read a few more books before you proclaim to know-it-all. A DLL is simply an assembly in the .Net world, just like the EXEs. It's simply a collection of classes...maybe you meant a device driver??
Also, there is nothing wrong with using an IDE, despite your example of simple drag and drop designing, there are several advantages to using an IDE:
1. Better project management (yeah, Notepad is great for writing a couple of classes but try writing something that is used in the real world...it gets messy quick).
2. Syntax-highlighting, refactoring, debugger support...
3. Source control integration
Don't discount things before you fully understand what you are talking about. - grumpyrain, on 10/12/2007, -1/+3"People that learn to program in a Visual IDE aren't programmers, they're drag-and-drop form designers with little snippets of actual programming knowledge."
Yep, thats right, we all know that a *real* programmer is someone who spends time writing include statements and filling out method definitions for basic classes. Give me a break. Form design is more than dragging and dropping buttons and labels onto panels. Form design is a skill that most programmers lack.
The article is a joke. Anyone who lists that they are competent in 10 languages would not get a job under me, because their idea of competency is significantly below my expectations. Being able to grab sample code from a 101 tutorial does not cut it. Anyone who considers that after a day they are competent in a new language is at best naive. A real programmer is one who is able to solve problems using proven techniques using the tools at their disposal including IDE's.
- eclipxe, on 10/12/2007, -2/+6"If I could only use one language, I'd pick C. Why? Try compiling a DLL (dynamic link library) in any .Net language. You can't."
- GeorgePBurdell, on 10/12/2007, -3/+0I think that the real language missing is Smalltalk. Still being taught here at Georgia Tech for OO programming concepts.
- 1337diggster, on 10/12/2007, -0/+2hehe, smalltalk is more of a language used in the classroom you'll never see it in the corporate world. All the professors got their CS degrees back in the 70's when it was big and they never wanted to change. My school teaches their OO programming classes through using C++ and it is only a community college.
- GeorgePBurdell, on 10/12/2007, -0/+0I guess you missed my sarcasm. Every one here thinks that Smalltalk is stupid and hates it. I transferred here so luckily my first programming language was C++ before here. Supposedly they teach it because it forces us to program in an OO manner. BTW if you know Smalltalk there are very few jobs out there unless you want to be an Imagineer at Disney (not sure if they still use it there though).
- dharm, on 10/12/2007, -1/+2Mostly scripting langauges in that list...
- MrBrownShoes, on 10/12/2007, -4/+0I gotta say I'm pretty pissed with the whole software industry right now. I got a B Comp. Sci. with first Class honours and now I'm working in the web industry. Languages like C# are a dangerous thing, because although they have the ability to create very well structured web applications, your forced to work with a lot of hacks that have a degree in something useless like information science and think they can code. It's an absolute nightmare to have to work with people like that and as a result I'm working on a major c++ project ( to learn c++) on the side, as c++ seems like a way to filter those who can code from those you can't and I really need to work with a group of the former. That said C# is superb for rapid interface development.
As for Java Vs C#, they are very similar, however the whole .NET framework provides a huge API (ADO.NET mainly) that can take years to use well. PHP is easily the worst language I have ever worked with (with exception of ASP, the non-.NET kind). PHP doesn't even provide proper support for passing references, except for the buggy version 5... It is a language for hacks or small, small, very small time web developers.- earl507, on 10/12/2007, -0/+1I am torn, I want to digg you down for your stupid comment about bad coworkers. Not all companies hire idiots. (Ever heard of posting your resume and getting a better job?)... but I want to digg you up for your slam of php.
- aaroncampbell, on 10/12/2007, -0/+1Just a couple points:
PHP 5 is stable...has been for a while
All of the following use PHP, and I think we'd both agree that not all of them are "hacks or small, small, very small time web developers":
Google
Yahoo
Flickr
Digg
Adobe
EA Games
T-Mobile Online
Mambo
CitiFinancial
Cisco
YouTube
Disney
MediaWiki
Wordpress
Horde
Siemens
Viacomm
IBM
There are plenty more big companies on the list, but I figure that was enough typing on my part.
- locnguyen, on 10/12/2007, -0/+5If you want a career in business software development, the safest and surest bet is Java or .NET with SQL on top of that. It's hard to imagine NOT finding a job with that kind of background if you have junior level skills.
- earl507, on 10/12/2007, -0/+1Agreed, that list is crap. To me, the #1 language to learn is SQL. And not just learning to select and return results, any idiot can do that. Most of the questions that I answer to coworkers relates to SQL. You need to learn correlated subqueries, connect by statements, query tuning, etc. Couple that with .Net, java, and/or an ERP related 4gl and you will rarely be out of work.
- sputza, on 10/12/2007, -0/+4That list of programming languages is crap.
- duey, on 10/12/2007, -0/+2This list is kind of stupid,
First of all, its mainly for web based languages, secondly any good programmer knows that knowing a language is nothing - anyone can learn a language, but knowing the concepts behind programming, communication skills are whats really required to get a good job.
Plus some of these languages (eg. Ruby, javascript, and AJAX) are not really used in industry (unless you do web development, and even then you wouldn't be touching ruby, unless you are keen on RoR). I question why Java is way down the list, and even why Ruby is above it. And even then, all of these languages will probably be unused in a few years.
Some form of assembler should be on the list, although used rarely it teaches you a great deal about how to make your programs better, and a greater understanding of what goes on under the hood. - klang, on 10/12/2007, -0/+1Just learn whatever language you need to get/continue your job. Know how to solve problems, that's what programmers do. The language rarely matters. Everybody have favorites but only very few get to choose which language to use
- quisxt, on 10/12/2007, -0/+2A list that was actually designed to make you a better programmer would include a functional language like Haskell, one of the lisp family languages such as scheme or common lisp, and a logic programming language such a prolog, and Smalltalk for it's different take on OOP. Each of those languages will show you a new, and different way to approach programming and teach you a heck of a lot more than learning whatever the current Algol/Simula flavor of the month happens to be. IOW don't limit yourself to just one family of languages, branch out a little.
- klang, on 10/12/2007, -0/+1So true. "the list" you are talking about is called a "degree in computer science", more or less.
The language I enjoyed most was called "Miranda", a strictly functional language, which is just neat for solving certain problems. Functional languages are fun, and very powerfull and alters the way you think about algorithms. It's an important part of any programmers knowledge.
SmallTalk, oh, yes. The basis for all Object Oriented thinking, I would say. And that's just the key; Programming is different ways of thinking. Some languages "fit well" for certain types of problems. Not many would select lisp for web-programming (though the firs yahoo stores were written in lisp) http://www.paulgraham.com/avg.html
- klang, on 10/12/2007, -0/+1So true. "the list" you are talking about is called a "degree in computer science", more or less.
- tybris, on 10/12/2007, -2/+2OK, This is lame.
- gcraick, on 10/12/2007, -0/+1I agree with a few posts on here with those that like to list all of them like a shopping cart in their resume. We had a look at a few applicants recently, and nearly all the younger guys had simply listed all of them on their resume, without actually saying any projects that had actually used them, or how they had implemented them in actual work. It was just there to fool people, and in fact it would have fooled my boss, but when I pointed out to him how it was very unlikely they knew all of these well (or at all!). Makes you wonder how anybody with only a few years experience could honestly have proficiency in all of them equally at once.
Generally the way it works is that you work with whatever you need to get the job done.. There aren't too many jobs (there are exceptions) where one minute you are working in say C#, the next in Java, and then PHP, all equally - when a lot of the time each can achieve the same end result in delivering the functionality the client is after..
Most people use the language they use because it gets things done, is fast, causes few problems for what they need it for, and can work with it very fast to get final results. At the end of the day, I don't give a crap whether it supports OOp, pointers, references, or whatever else if I don't need to use them. Obviously, if there was a specific need for the application to use these to get the job done better, then sure, I'd dive into another language for a project. - Nerfdude, on 10/12/2007, -0/+1great work guys, let's keep it going. there's only two opinionated lists on the front page right now. i want every front page story to be an opinionated list by 10AM, or i'll have your badges!
*sigh* - chiology, on 10/12/2007, -0/+1I'm 7 for 10.
I really liked the discussion in here about grouping into families of languages, such as object-oriented scripting languages, et al. I agree. (And, yeah, C is definitely not a functional language. Scheme et al is. Scheme is also a language I'd add.)
I'm none too thrilled about the article, though: it seems to be lacking in content. Really, those languages are all helpful, and a job is also quite possible if you any of them. However, the problem comes in when people don't really understand the concepts of programming, what's actually happening, and the distinctions between these languages.
I'm also not a fan of C# nor VB.NET (or the .NET platform, and it saddens me to see such emphasis put on the .NET platform.)
I am both a PHP5 and a Ruby web application developer. I'm a postmodernist, as well, so I'm always looking for the most beautiful way to do things. I have an aesthetic standard for my own coding, which also makes the quality of architecture and design better (for the most part).
The best reason I know to know many languages is to know the different ways those languages approach a problem, in order to be able to use that in your home programming langauge (and for the sake of adaptive utility).
Cheers,
M.T. - zackr, on 10/12/2007, -2/+1Myself - 6/10 and a hack at two others
I've done assembly - didn't enjoy it though. It took so long to get the most minor things done.
I have stayed away from .NET and Microsoft-centric stuff for as long as possible. Thus, while I've looked at the code before, I know nothing of VB or C#. If I had to I'd learn enough to get by for whatever crappy job it was.
I was surprised at the statement that Java was a 'beautiful' language. While I would tenatively agree with that, because I love efficiency I'd have to go with C++ as my pick of 'most beautiful'.
Probably my only annoyance as a programmer is the limitations of MySQL. Which is also why I'm loving Ruby on Rails. Coming back to the PHP MySQL is like being slapped in the face with a wet fish... -
Show 51 - 56 of 56 discussions

Digg is coming to a city (and computer) near you! Check out all the details on our