Which Language To Learn?
kdawson posted about 4 years ago | from the future-proofing-the-skillset dept.
897
LordStormes writes "I've been a Java/C++/PHP developer for about 6 years now. However, I'm seeing the jobs for these languages dry up, and Java in particular is worrisome with all the Oracle nonsense going on. I think it's time to pick up a new language or risk my skills fading into uselessness. I'm looking to do mostly Web-based back-end stuff. I've contemplated Perl, Python, Ruby, Erlang, Go, and several other languages, but I'll put it to you — what language makes the most sense now to get the jobs? I've deliberately omitted .NET — I have no desire to do the Microsoft languages."
Really? (5, Insightful)
r0ach (106945) | about 4 years ago | (#34218020)
I mean, I don't see php or C++ going anywhere anytime soon....
Re:Really? (5, Insightful)
dreamchaser (49529) | about 4 years ago | (#34218036)
Yep, I still see lots of posting for people skilled in those languages. Also, if the submitter were serious about wanting to stay relevant and employable he wouldn't just automatically discount the .NET languages. There are more and more jobs available for skilled .NET coders. Tying one's career to ideology isn't always a smart thing to do.
Re:Really? (4, Insightful)
Anonymous Coward | about 4 years ago | (#34218056)
Yes, but being honest about your preferences can be helpful. I don't want to do .Net development myself either, or dig ditches, or clean toilets. There may be jobs in all three fields, but that doesn't mean they're for me.
Re:Really? (5, Insightful)
bhcompy (1877290) | about 4 years ago | (#34218164)
Re:Really? (3, Informative)
biryokumaru (822262) | about 4 years ago | (#34218190)
Except that ditch digging isn't preferable because you make shit money and do shit labor. .Net is no different than any language he current programs in those terms.
I think the whole point here is the definition of "shit labor."
Re:Really? (1)
bhcompy (1877290) | about 4 years ago | (#34218192)
Re:Really? (1)
click2005 (921437) | about 4 years ago | (#34218208)
No, he is simply deciding that these particular principles are more important to him than a slightly better job prospect.
Re:Really? (5, Interesting)
bmo (77928) | about 4 years ago | (#34218212)
Ditch digging is shit labor and shit money?
Have you _seen_ what a unionized heavy equipment operator gets?
Or how about up in the frozen North where they dig for oil? $2K/Week TAKE HOME (canadian, worth more than USian now) just for digging a great big ditch.
Yeah, I'll take digging a ditch right about now.
--
BMO
Re:Really? (0)
Anonymous Coward | about 4 years ago | (#34218276)
Yeah, I'm with you on this one. Someone needs to come up with a more universally accepted "shit job". Maybe in this economy there isn't such a thing.
Re:Really? (2, Insightful)
Anonymous Coward | about 4 years ago | (#34218326)
The winner and still champion: Fast-food worker.
I could take standing and waiting on people all day. I might even be able to handle the low pay by shacking up with 10 other people in El Barrio. The shrill BEEEEEEEEPs would push me over the edge. Ditch-digging would be a dream. Maybe somebody suggest a worse job.
Re:Really? (1, Interesting)
Anonymous Coward | about 4 years ago | (#34218296)
I take home $2k/Week programming in that evil .NET platform. I find it easier than digging ditches.
Re:Really? (0, Flamebait)
Anonymous Coward | about 4 years ago | (#34218144)
Is this a joke? Microsoft are less relevant by the day and "skilled .NET coders"... that's the single most amusing phrase I've heard in months.
Re:Really? (0, Troll)
Anonymous Coward | about 4 years ago | (#34218168)
The more expensive .net development is the less likely it will be used. No, it is a very smart thing to do. Plus who will use it when it is a shitty solution? There are lots of better ones out there. People like you are contributing to the problem.
Think carefully. Do you want to be close to MS? (2, Informative)
Anonymous Coward | about 4 years ago | (#34218176)
Do you really want to be a monkey for Microsoft? Most of Microsoft's own software is NOT written in
"Tying one's career to ideology isn't always a smart thing to do."
Tying one's career to careful thinking is always smart. Do you really want people easily de-compiling your code? Microsoft is the British Petroleum of software. Eventually there will be impossible problems.
A full, complete version of Microsoft's operating system, Windows 7, costs $300, about half the cost of some laptops. Eventually Microsoft's abusiveness will cause an Enron-style breakdown, in my opinion.
Re:Really? (1)
rourin_bushi (816292) | about 4 years ago | (#34218254)
Aye - for example, my current job is working on a fairly large ASP.NET/C# codebase. No one remaining in the department was around when they chose this platform, but it's big enough that rewriting it really isn't an option. No one in my shop is a MS fan, but we all enjoy a nice job in a nice company anyway, despite working nearly exclusively on MS platform.!
Re:Really? (0)
Anonymous Coward | about 4 years ago | (#34218268)
And hitching your wagon to one company isn't necessarily the wisest career decision. Just the uncertainty of Oracle is why he's thinking of switching from Java...and Oracle doesn't exactly make Microsoft look good by comparison.
Re:Really? (1)
CAIMLAS (41445) | about 4 years ago | (#34218282)
There are more and more jobs available for skilled .NET coders.
Yes. With the uptick in Sharepoint and Exchange adoption from the more traditional mail servers (at least from what I've seen), there is more and more need for competent developers in this realm due to how many shitty ones are there now, and have been there, for some time.
A good PHP/Perl/C/C++/etc. programmer - or even a mediocre one like me - is able to wipe the floor with the usual mess of .NET developers. They are, seemingly, mostly hacks. Someone who understands concepts like memory management, regular expressions, and efficiency is going to be quite valuable here.
Re:Really? (0)
Anonymous Coward | about 4 years ago | (#34218284)
No, tying oneself to any MS technology is a dead end. Look how quickly they dropped Silverlight and pissed off a ton of developers. Plenty of other examples exist. What happens when they do the same with .NET in the next few years?
Serious developers have plenty of options for non-proprietary languages and frameworks. MS stuff shouldn't even be on the radar.
Re:Really? (5, Interesting)
BeanThere (28381) | about 4 years ago | (#34218316)
Speaking of staying relevant. While there are certainly languages that are way down there in terms of jobs, I take the general view that if you keep yourself *good* at whatever language you choose, you will have a job. That is certainly true of PHP, of C++, and probably will stay true of Java for a long time. Still, I suppose not everyone can be motivated enough to stay top of their game.
Submitter also doesn't seem to realise .NET isn't a language, it's a platform (more akin to an API than a language), and you can code for .NET using many different languages, and you can't code "in .NET", since there isn't such a language. I presume he made the common beginner mistake of conflating "C#" with ".NET", and I'll infer he meant C#.
As anti-MS as I am, it seems odd to me to avoid C# if you like Java though, given it's probably more similar to Java than anything else. Also, from what little I know of it, technically it seems like quite a decent language (and the API much better than the old Win32 .NET replaces), with quite a decent development environment too. It didn't really replace the C++ 'niche' though, it replaced the VB segment ... C# is basically "the new VB"; rapid medium-skilled and medium-complexity development with a broader pool of (on average) less highly-skilled programmers to choose from (not dissing the good C# programmers that do exist, but it's certainly a more forgiving environment to less technically skilled programmers than say C++).
If you're really good at what you do, then you can afford to be picky about your "ideology" and avoid a particular language. If not (which I more suspect to be the case here) then I would recommend to the question asker to best keep more options open. Otherwise it just seems more like a bad carpenter blaming the job environment.
Me, I love C++, and I haven't noticed jobs drying up, on the contrary, my C++ skills continue to open interesting doors for me, I can literally go almost anywhere in the world.
There are lots of C# jobs out there, and lots of C# programmers; while you can be an excellent C# programmer, I'd say it's probably slightly easier to 'distinguish yourself' in the C++ world.
PHP is still also massive though, and will be for a long time.
Re:Really? (1)
BeanThere (28381) | about 4 years ago | (#34218356)
Sorry to reply to my own post, but just a semi-correction, I re-read and may have jumped to the conclusion from his wording that the submitter conflated C# and .NET - that isn't necessarily evident from the wording.
Re:Really? (2, Funny)
n0ahg (1820190) | about 4 years ago | (#34218348)
Re:Really? (1)
defaria (741527) | about 4 years ago | (#34218370)
It takes that much effort? (0)
Anonymous Coward | about 4 years ago | (#34218172)
I don't understand these people who decide to focus on only one language or platform. It's just a tool, for crying out loud. If you're a good programmer, then you'll have many such tools in your toolbox. You won't go asking "What language to learn?" on Slashdot, of all places. If a tool looks like it might be useful, you sit down and try it. If it's useful, you keep on using it. If not, throw it out!
Even a shitty programmer working full-time should be able to easily pick up Perl, Python, Ruby and Go within a few months. Erlang may take slightly longer, if you're not familiar with functional programming. If it takes you longer to pick up the fundamentals of such languages, or it requires so much effort on your part that you need to only focus on one, then maybe it's time to investigate another profession.
Let's make one good language. (1)
Futurepower(R) (558542) | about 4 years ago | (#34218272)
That's an exaggeration, unless "easily pick up" does not include "learn all the weird quirks".
Why should we all wrestle with different languages? Why can't there be one language that handles most of the cases?
I think every serious programmer has, at one time or another, written an editor or a compiler. I wrote a compiler for some early HP data collection hardware. But I don't have one editor that does everything I want and editor to do, and here we are, discussing which language to use, because we aren't happy with what we have.
We need better management of C++. We haven't had good management: Good leaders are not *always* good leaders. [slashdot.org] "... while Bjarne Stroustrop was a good leader when C++ was introduced, he has basically exercised too little power in the last 20 years in making sure the C++ language and libraries developed rapidly enough, and in the correct direction. "
COBOL (5, Insightful)
Anonymous Coward | about 4 years ago | (#34218026)
Still in demand and it will not die.
FORTRAN (2, Interesting)
betterunixthanunix (980855) | about 4 years ago | (#34218038)
Re:COBOL (1)
nurb432 (527695) | about 4 years ago | (#34218292)
While true, i have noticed a huge drop off the last few years. Its not 'dying' but i would not rely on it either.
Re:COBOL (1)
Pharago (1197161) | about 4 years ago | (#34218312)
Looking in the wrong places (4, Insightful)
GaryOlson (737642) | about 4 years ago | (#34218032)
Re:Looking in the wrong places (4, Informative)
royallthefourth (1564389) | about 4 years ago | (#34218240)
When I graduated from college a little over 2 years ago, I couldn't find anyone hiring C programmers with less than 5 years of experience. Shops that work in PHP don't give a damn about anything (obviously), so that's where my career started and now web development is what I know how to do.
Of everyone I knew in college and everyone I've met since then, only one of them actually has a job that uses C or C++ these days.
Re:Looking in the wrong places (1)
cherry-blossom (1863326) | about 4 years ago | (#34218244)
Re:Looking in the wrong places (1)
John Hasler (414242) | about 4 years ago | (#34218352)
> Studying c++ now and work in a power plant as an operator.
You won't be qualified for that good a job. You'll have to settle for something in IT.
To counter a shrinking job market? (3, Insightful)
Cidolfas (1358603) | about 4 years ago | (#34218034)
Re:To counter a shrinking job market? (1)
Omnifarious (11933) | about 4 years ago | (#34218238)
There are a very surprisingly large number of older sites that still user *shudder* perl for their web backends.
Seconded... (3, Informative)
SanityInAnarchy (655584) | about 4 years ago | (#34218396)
If all you care about is being the most employable, PHP/Java/.NET and JavaScript are your best options.
As for something which has a future, I like Ruby. The mainstream implementations are all open source and (so far as we know) patent-free. I'd seriously consider deploying to JRuby these days, but it's reasonably compatible, so you certainly wouldn't be locked into Java.
Python would be another good choice, but I think Ruby has it better in terms of the number of entirely distinct implementations. If Oracle sues JRuby out of existence, there's still the mainstream C implementation (MRI) with multiple interesting branches, MacRuby is looking interesting, and IronRuby strikes me as at about the stage Jython is.
What jobs? (4, Insightful)
wilfie (622159) | about 4 years ago | (#34218040)
Tiobe Index (4, Interesting)
bradgoodman (964302) | about 4 years ago | (#34218042)
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html [tiobe.com]
Java (as much as I hate it) - and C++ (as much as I lothe it) aren't going away or drying up - but they have flatlined
You can see the "fast risers" like Ada (WTF?), Objective-C (i.e. iPhone/iPad), etc. - but these are generally very vertical (specfic-purpose) languages.
Re:Tiobe Index (1)
johntromp (565732) | about 4 years ago | (#34218302)
There's your problem (2, Insightful)
Pinhedd (1661735) | about 4 years ago | (#34218046)
Re:There's your problem (1, Informative)
Anonymous Coward | about 4 years ago | (#34218184)
I'm also a former Java nerd.
C# is a really, really nice language.
In addition, if you're doing any desktop client development, WPF is a very, very easy way to do it.
I think of it as Microsoft's answer to Flex. My productivity is probably 2x what it was in Java/Swing.
The tooling isn't bad, the capabilities are great, the language is good. The only flaw is portability.
And when you control 90% of the market, portability is really kind of a moot point.
Re:There's your problem (1)
Pinhedd (1661735) | about 4 years ago | (#34218220)
Re:There's your problem (1, Informative)
Anonymous Coward | about 4 years ago | (#34218214)
There isn't a shit storm over Java. Multiple sources, including Oracle and Apple, have stated that the premium JDK stories were complete nonsense. However, Slashdot probably won't report that, because it prefers to rely on anonymous bloggers and misinterpreted "Tweets."
And this is the year of the Linux Desktop too (1, Informative)
Anonymous Coward | about 4 years ago | (#34218390)
People have been saying that for years, since .Net came out. And yet, .Net has never really taken off. Slowly growing, yes, but not at any point "taking off" as keeps being said year after year. It's sort of like saying this is the year of Linux on the desktop, it keeps being said but has never really happened.
The one to rule them all (1, Funny)
Anonymous Coward | about 4 years ago | (#34218048)
The obvious solution is to make a language that ultimately trounces all others, and then write a white paper declaring this. Game, set, match.
Re:The one to rule them all (5, Funny)
Patrick May (305709) | about 4 years ago | (#34218180)
Re:The one to rule them all (-1, Flamebait)
JonySuede (1908576) | about 4 years ago | (#34218216)
who moderated this as funny is an undereducated ignorant moron
Re:The one to rule them all (3, Funny)
Shikaku (1129753) | about 4 years ago | (#34218264)
You mean Haskell right?
new language (1)
duplicitious (987818) | about 4 years ago | (#34218052)
You damn whippersnappers. (-1, Flamebait)
Anonymous Coward | about 4 years ago | (#34218054)
Java, Python, Ruby and Scala, perl and bash, javascript on the client. Forsake all others.
Just a thought (4, Insightful)
RNLockwood (224353) | about 4 years ago | (#34218058)
Have you thought about one of the languages spoken on the Indian sub-continent?
Re:Just a thought (0)
Anonymous Coward | about 4 years ago | (#34218126)
You mean English?
Re:Just a thought (0)
Anonymous Coward | about 4 years ago | (#34218134)
English ?
What about SQL? (1)
siDDis (961791) | about 4 years ago | (#34218064)
It's more popular than ever. Don't belive the nosql hype.
Re:What about SQL? (-1, Flamebait)
Anonymous Coward | about 4 years ago | (#34218130)
It's more popular than ever. Don't belive the nosql hype.
You == FAIL. Or are you one of the PHP devs who doesn't know any SQL, and therefore causes every system that he builds to get raeped with SQL injection?
Re:What about SQL? (1)
Rijnzael (1294596) | about 4 years ago | (#34218228)
Re:What about SQL? (2, Insightful)
royallthefourth (1564389) | about 4 years ago | (#34218252)
I think it's typically assumed that if you know how to program, you ought to be able to interact with a standard relational database. There's almost no prospects out there for someone who does SQL and nothing else...
Agreed, 110%/2nd'ing that motion (SQL)... apk (0)
Anonymous Coward | about 4 years ago | (#34218256)
Why? Well, because WHY are websites written many times?? To profit via some form of transaction (and not just e-commerce related sites either)...
So - What does transactional db work the best & easiest (& most all major DB vendors support it)? SQL, no questions asked.
(Now, relationally designed SQL utilizing DB's may not read quite as fast as say, an older ISAM DB, but it writes & does indexed searching, much faster by far & is quite near "universal" nowadays and for the past 20 or so years++ in information systems work).
APK
P.S.=> Nicest part is, however, that aside from TSQL in SQLServer or PLSQL in Oracle (& whatever else)? Besides the DB engines knowing SQL (especially stored procedures leveraging), most all programming languages have interfaces like ADO into those DB engines, using ANSI-STD SQL, @ least that, client-side (or building parameterized stored procedure strings & sending them DB stored proc side), AND/OR, the DB vendor provides fairly easy to use interfaces & examples also... can't beat it, it's "everywhere"... apk
Chinese (5, Insightful)
asnelt (1837090) | about 4 years ago | (#34218070)
Re:Chinese (1)
Brafil (1933028) | about 4 years ago | (#34218286)
Re:Chinese (1)
mrawhimskell (1794156) | about 4 years ago | (#34218328)
If you’re into iPhone programming... (0)
Anonymous Coward | about 4 years ago | (#34218078)
Objective C
Erlang is a good one to pick up (0)
Anonymous Coward | about 4 years ago | (#34218088)
Erlang is fast, writing concurrent code is almost trivially easy, and (my personal favorite) has a database that uses Erlang as the query language. Writing web applications in it is surprisingly easy too.
Not sure on the long-term outlook, but Erlang popularity certainly seems to be on the way up.
How about (5, Funny)
Aggrajag (716041) | about 4 years ago | (#34218112)
To hard to pick just a few... (0)
Anonymous Coward | about 4 years ago | (#34218114)
Learn them all.
Ohhh. chinese (0)
Anonymous Coward | about 4 years ago | (#34218118)
Dood, like learn Mandarin, or whatever. You can make much more knowing that. Six years and you can name your price !!
Or at least you will look real cool to new dates when you order in chinese at City Wok !!
Desperate for a Job (3, Insightful)
hinchles (976598) | about 4 years ago | (#34218120)
I've deliberately omitted .NET — I have no desire to do the Microsoft languages.
Poster obviously has no desire to be employed either. Love it or Hate it C# is pretty much the only langauge in demand by big business these days in the UK unless he's perfectly happy doing small freelance jobs etc which PHP is fine. Other languages he's mentioned are all pretty much unused apart from in the domain of nerds but certainly not by the majority of the companies recruiting. Ironically enough I reskilled from C# and other .NET oddities to PHP a few years ago purely out of personal preference.
Re:Desperate for a Job (1)
CAIMLAS (41445) | about 4 years ago | (#34218310)
Ironically enough I reskilled from C# and other .NET oddities to PHP a few years ago purely out of personal preference.
Sounds like you're contradicting yourself, here. Clarify?
I highly doubt C# is the only language in the UK that is being sought after. There are decades of projects written in Java, C++, C, and others which still need to be maintained for one reason or another. There's no getting around that.
Re:Desperate for a Job (1)
gbjbaanb (229885) | about 4 years ago | (#34218368)
its not even the case that so-called 'legacy' languages like C++ are flatlined. Sure, there are less than there used to be, but I search on my favourite jobs board for C++ jobs and I get a lot of hits. Typically they are in industroes like defence, telecoms and media (streaming/TV type stuff).
The number of them are roughly the same when I filter out the lower-paid jobs too. So, unless you're a junior looking for any old job, there's no reason to worry about the perception that there are no jobs for these languages.
I am seeing more mobile jobs about - dev for iPhone, Android and some Linux kernel dev. They're still relatively minor, but definitely much more than there used to be. This is the UK BTW, search jobserve £40k or over.
Re:Desperate for a Job (1, Informative)
Anonymous Coward | about 4 years ago | (#34218334)
As much as someone might want to bash .NET, I find C# to be an excellent general purpose language. Plus you can use Mono. Everyday I'm finding more applications using the Mono Framework on a whole bunch of platforms: Android, iOS, Linux, etc.
Objective C (3, Insightful)
drumcat (1659893) | about 4 years ago | (#34218128)
Python, to fight evil. (0)
Anonymous Coward | about 4 years ago | (#34218138)
I would suggest Python - being a parselmouth is indispensable in fighting the Dark Lord and his Death Eaters.
Legalese (4, Insightful)
El_Muerte_TDS (592157) | about 4 years ago | (#34218140)
Win or lose, either way you'll earn money.
Just C. (5, Insightful)
Anonymous Coward | about 4 years ago | (#34218142)
No language is more universal. No language is more direct. It will never die. It transcends trends. It is the only decent language to me, having tried way too damn many in my life and always left wanting until I return to C.
It is the perfect language. People might gripe that it's somehow "obsolete" or missing "modern" features, but to me, that's part of its appeal -- you get to do with it exactly what you need to do, and that is the essence of programming to me. Leaving too much to the language makes me feel powerless and less in control.
I love C. If it was legal, I'd marry it.
Re:Just C. (1)
Dark_Matter88 (1150591) | about 4 years ago | (#34218378)
No language is more universal.
esperanto?
Re:Just C. (-1, Flamebait)
Anonymous Coward | about 4 years ago | (#34218394)
Why not C++, then? Come on, you know you want to use classes. And just imagine how elegant things would look with templates, besides they're so interesting! Might as well fiddle around and replace everything with templates. Oh, and calling functions is so tedious, why not replace them all with operator overloads... Everyone will understand that ++ means post() and -- means clear(). Just sample a few extra features, it couldn't hurt anything...
web based? (1)
Lord Ender (156273) | about 4 years ago | (#34218152)
If you're looking for a very high-level language and your main target is web development, you probably should give Ruby a try. Ruby/Python/Perl have similar features, but Ruby definitely has the edge for web-related capabilities.
Re:web based? (1)
royallthefourth (1564389) | about 4 years ago | (#34218270)
Not to mention that Ruby gets a nod for being object-oriented from the ground up without feeling like a pile of mush (Java) or having a halfassed OO implementation (every other scripting language)
Lisp is demonstrably superior to all others (0)
Anonymous Coward | about 4 years ago | (#34218158)
That's why I'm one of a small but fast growing number committed to voting for Ron Paul in the 2008 Republican primaries.
Scala, Haskell (3, Interesting)
j1m+5n0w (749199) | about 4 years ago | (#34218160)
If you want to learn something new without throwing away all your java experience, you might try Scala. I've heard good things about it (though I have no personal experience with it myself). As functional languages go, I prefer Haskell [1] as my default problem-solving language. You might have trouble finding a Haskell job, but it will teach you things that will be relevant in other languages.
Erlang is an interesting language. I view it as kind of a one-trick pony, but for distributed systems I've not seen anything better.
[1] Learn you a Haskell for great good [learnyouahaskell.com]
Ruby and Node.js (Javascript) (3, Interesting)
kainosnoema (1939984) | about 4 years ago | (#34218174)
Node.js is a shitty reimplementation of Erlang. (0)
Anonymous Coward | about 4 years ago | (#34218222)
Don't fool yourself, Node.js is nothing but a shitty reimplementation of Erlang. You get a shittier programming language, a shittier standard library, shittier performance, shittier support for developing massively-parallel software systems, shittier support for developing distributed software systems, shittier portability, shittier reliability, and, of course, shittier developers.
Any sensible person just goes ahead and uses Erlang. Why subject yourself to so much shitty by using JavaScript and Node.js?
Learn .NET, or learn to do something else. (0)
Anonymous Coward | about 4 years ago | (#34218186)
C++ is way out of favor for web-based back ends, but it still has a strong life in the world of game servers and the like.
If you really want to stay in web-land, you are looking at .NET, Java, or PHP, with PHP being shunned by "serious" businesses, and .NET being used by both the top and bottom of the line. Non-MS shops are still leaning on Java for anything robust.
The Python frameworks are starting to take away from the PHP sector of the industry, but they're not impacting the places that previously already went with Java or .NET.
Snobs don't get jobs (2, Insightful)
ThatMegathronDude (1189203) | about 4 years ago | (#34218204)
Re:Snobs don't get jobs (0)
Anonymous Coward | about 4 years ago | (#34218294)
Boy, there seems to be a lot of insecurity here around .NET ?
Not wanting to do .NET does not imply anything other than a desire to do something other than .NET
I don't care for Java, but that does not say anything other than the fact that I don't enjoy working in that language...
Are you looking to start a flame war or for advice (4, Interesting)
Aron S-T (3012) | about 4 years ago | (#34218232)
As someone who has worked in software development in various capacities for over thirty years, I find your comments puzzling and your concotenation of those three languages even more mysterious. If you are talking about the corporate world then please be aware change comes exceedingly slowly. COBOL and Fortran were king into the nineties. Now Java and C++ have replaced those two and aren't going anywhere- Java for enterprise business applications (with or without a web front end) and C++ for anything where performance is of the essence. Microsoft tried ton replace Java with .net and failed. Nonetheless, it still is the number two platform in the corporate world. So having skills in the enterprise version of Java and/or being a c++ wizard guarantees you a programming job for the next 20 years. I don't know where you have been looking, but jobs haven't fallen off in those two domains and won't.
PHP is a whole different animal and really shouldn't be mentioned in the same breath as the other two languages. PHP was the choice language for web development for mom and pop sites (yea, yea I know, yahoo) and startup quick and dirty websites. Ruby became the platform that "cool" web developers came to prefer, so yes if you aren't interested in the corporate world, learn ruby and rails. Of course, since I pay less attention to that sector, maybe there is something newer and cooler these days.
Python should be in every programmers tool set because it is such a versatile tool. Unfortunately it's not enough in most cases for a guaranteed job.
Python is the way to go (0)
Anonymous Coward | about 4 years ago | (#34218234)
A lot of web based back end stuff has shifted over to python (thanks to Django and Pylons). They are very powerful web frameworks, and an expertise in python would help your chances for employment, much more so than Ruby (on Rails).
Python is also a very powerful scripting/glue language (much easier than Perl and as powerful).
I don't see Go coming into prominence any time soon.
Erlang is a strong competitor if you want to really dig deep into DB stuff (but since you're not a databases expert, that's probably not the way to go).
Don't pick just one (2, Informative)
Anonymous Coward | about 4 years ago | (#34218242)
You're asking the wrong question.
Here is part of the right answer.
http://pragprog.com/titles/btlang/seven-languages-in-seven-weeks
I've deliberately omitted .NET (2, Insightful)
nurb432 (527695) | about 4 years ago | (#34218260)
Then you have just limited your career. But don't let me stop you, the rest of us want jobs too.
Re:I've deliberately omitted .NET (0)
Anonymous Coward | about 4 years ago | (#34218350)
Yes, he's limited it to not writing borish business apps in a dying language on a dying platform.
YOU FAIL IT (-1, Troll)
Anonymous Coward | about 4 years ago | (#34218266)
Web? Back-End? Jobs? (1)
sitarlo (792966) | about 4 years ago | (#34218280)
The Best Answer (1)
pngwen (72492) | about 4 years ago | (#34218306)
Befunge, FTW!
back 2 BASIC (0)
Anonymous Coward | about 4 years ago | (#34218332)
10 print ".net would land you a job in no time."
20 goto 10
You're asking the wrong question (4, Interesting)
Sarusa (104047) | about 4 years ago | (#34218336)
First, you're limiting yourself far too much. This seems like a 'narrow the parameters down so far that when I fail it's not my fault' question.
A good programmer can pick up any similar language in short order. I won't say it's easy for a C++ programmer to pick up one of the LISP-likes, or vice versa... it's not. But a C++ programmer such as myself has little problem with Java other than the API bloat. I prefer Python to Ruby or Perl but can work in any of those. And PHP is the retarded brother of C, $so $that's $doable $it's $just $syntax $issues.
You want to limit yourself to web backends? Fine, go Ruby and PHP, but what you really should be doing is just picking a language and learning the /algorithms/ and interfaces to actually solve real problems and learn how to work with third party things like PostgreSQL or memcached. And learn JavaScript. You can't do well on the backend if you don't understand what's going on with the frontend. It's all an ecosystem, and the interactions are far harder than the mere syntax of a language and its APIs.
.NET (2, Insightful)
Chaseshaw (1486811) | about 4 years ago | (#34218338)
The problem is outsourcing not language (4, Interesting)
Billly Gates (198444) | about 4 years ago | (#34218342)
Not to sound assholish, but if I were a PHB why would I want to pay you $40,000 a year to make intranet and internet sites when I can go to Vietnam or India and get the same job done for a few hundred bucks? Go to elance.com? They are filled with people paying $100 for formally $15,000 worth of work and people are dying to take these.
Intuit offers customers a website for only $29.99 and $15 a month. Why hire you or your employer to write it?
Do what is needed here at home which deals with business processes. Go back to school and get a supply chain management endorsement on your computer science degree and specialize in business process programming. This has been outsourced but is coming back because you can not outsource business processes duh. A business or software analysist is nice if you get an MBA. I would aim for that route. This is the new global economy and management positions are the only jobs left that are white collar and safe.
Chinese (2, Insightful)
microbee (682094) | about 4 years ago | (#34218344)
You should learn Chinese.
From the 2009 OSCON language panel (4, Interesting)
Krishnoid (984597) | about 4 years ago | (#34218346)
Fun or Money? (0)
Anonymous Coward | about 4 years ago | (#34218360)
A competent C# or Java programmer can pretty much stay gainfully employed for as long as they so desire, but the work is usually enterprise software development, which isn't always the most interesting environment (think "process enema").
If you want to do interesting web-based stuff, JavaScript is the place to be. If you're already doing Java, look at Groovy. I've got almost a decade of hardcore Java experience, but my free time now is spent with JavaScript and Ruby.
think about the client side of the web (2, Informative)
hedrick (701605) | about 4 years ago | (#34218364)