Which Language To Learn?
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."
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."
When you're afraid to download music illegally in your own home, then the terrorists have won!
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.
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.
Don't thank God, thank a doctor!
So, don't bother with lisp. .NET is popular, but not enough to get over the M$ factor. And unix at 666 W.T.F.??? Looks like C and SQL, same as last decade!
Red to red, black to black. Switch it on, but stand well back.
Yeah, I know this is a bit offtopic, but so is this entire thread.
CAD is in fact still weaker than USD. It's almost tied, but not quite.
For a shiny graph demonstrating this see:
http://www.google.ca/finance?q=CADUSD
I just pooped your party.
Expensive? http://www.mono-project.com/Main_Page .NET either but it's a very very very capable tool for business apps and is one of the few things MS is really doing correctly. Choosing the right tool for the job is very important, and there are quite a few situations where .NET fits much more than most other packages.
Look, I don't use
...if you work so much indoors: http://www.vitamindcouncil.org/treatment.shtml
Adequate vitamin D may help prevent the flu, too.
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
One thing I've noticed (here in Texas anyways) is that bilingualism is rapidly becomming a requirement for retail/food management. Also, retail management is an ultra-high turnover job; after spending $20,000 to train a manager according to 150 exacting corporate guidelines, you want to recoup some of your investment. Paying them to keep from quitting their shitty job that you paid to train them for means paying them more than accepting a job at a better job with a better work environment. You at least get two months off each year.
A friend of a friend makes 48K a year with full (including eye AND dental) benefits as an assistant manager with a HS diploma at a gas station, and this is in Dallas, with some of the lowest living costs in the nation.
moox. for a new generation.
Since .NET 2.0 it's been a stable API
Not really. I mean, it is stable in a sense that things don't go away - kinda like AWT is still there in Java. But .NET moves on faster than Java, and every new major release adds brand new APIs, sometimes for the same thing.
To be more specific: .NET 2.0 -> .NET 3.0: added WPF (supersedes WinForms), WCF (supercedes ASP.NET Web Services), and WWF. .NET 3.0 -> .NET 3.5: added LINQ as a feature; and boy it's a big one for someone not familiar with the concept from other languages! Added LINQ to SQL (partially supersedes ADO.NET). .NET 3.5 -> .NET 3.5 SP1: added Entity Framework, which supersedes LINQ to SQL; and WCF Data Services. .NET 3.5 -> .NET 4.0: added DLR (and "dynamic" keyword in C#/VB). Major updates to Entity Framework.
That's without even mentioning ASP.NET MVC (because it's a separate product, not part of .NET) and Silverlight...
You can keep using WinForms into 2011 if you want... but most new .NET projects I've seen use the new stuff, which is not surprising. This has both good and bad parts.
The obvious good part is that the new stuff is usually better - often not right away (WPF was kinda meh when it was first released, though you could clearly see the potential), but eventually it matures. Due to .NET's faster feature cycle, you end up routinely using stuff which Java guys don't even dream of. It's literally 10 lines of C# code for the equivalent 100 lines of Java.
The bad part is that you have to be able to keep up. If you fall behind the technology curve, you end up maintaining some legacy .NET 1.x project somewhere - which will pay the checks, but is usually quite boring as far as work goes. But then this isn't something that your average /. reading nerd would be worrying about, right?
Anyway, it seems that the original question had an explicit "no .NET" request not because the guy has an ax to grind on the technical side, but because he does not want to support Microsoft; i.e. it's purely an ethical issue. And he is certainly fully entitled to that.