Best Language to Learn

sitheris

[H]ard|Gawd
Joined
Jul 30, 2004
Messages
1,733
Hi, I am looking to pursue a career in web development (currently a generic IT consultant). I am wondering what the best languages to learn would be for landing a decent job with a good company.

Looking at Monster.com and Dice.com I see a lot of postings for .NET, and J2EE/JSF/EJB, and very few for PHP (I'm in the Northern VA area). I was originally going to start out learning PHP, but now I'm having second thoughts. I already know ASP and VB .NET, and Java/JSP. Should I brush up on .NET or learn J2EE/JSF? I've heard from a few people that Java web development is the way to go, as many companies are turning to that.

Does anyone here with IT industry experience have an opinion on the matter?

Thanks
 
I'm gonna say Java. PHP is good to know but there are more jobs in Java.

Oh, maybe try Haskell if you're brave.
 
i live in maryland which isnt too far from Northern, VA. i was at a restaurant and I saw the Sun Microsystems, the Java company inside and I'm pretty sure they are located somewhere near you and since they are the developers of Java, it's a decent idea to go work for them since they are in your area sorta.
 
I already know ASP and VB .NET, and Java/JSP

I'm sorry, I misread your post. I would say that you learn J2EE from where you are right now. Another good language to know would be C, objective C or C#. Personally I'm not a fan of C++, C# and ObjC have many more benefits and will surely make you a much better candidate for a job.
 
In my area (Boston), a high percentage of programmer jobs are in web development, which generally require PHP and python and increasingly Flex/Actionscript. The same is true of Silicon Valley and Seattle. And if you really want a salary booster (in a web development town), become an Ajax expert now while its hot and cutting edge.
 
Thanks for all the advice, I think I'm going to focus on learning J2EE/EJB/Servlets primarily, and maybe look at learning PHP basics on the side. If I do find a .NET job that looks good it's just a matter of dusting off some old apps I did to refresh my memory :p
 
If you want to make webdevelopment as your career then go for PHP, and if you want to build platform independent applications then you can try for Java....
 
i'm going to say PHP is a required standard in a modern web developer's arsenal. Most of your bread and butter web apps are done in PHP. Also, most small to medium tech companies will use PHP.

Although .NET/Java is pretty much the requirement if you're going to be doing large, bullet-proof, enterprise-wide apps for banks, retailers, hospitals, etc.
 
if you already know vb and asp i would highly recommend .net.

I agree, for web development you don't need C nor its derivatives, much less assembly. So I'd say .net and java. Plus it will look much better on your resume than PHP
 
i agree, i don't know what he was talking about with regards to assembly. I live in atlanta, and the most in demand thing around here is java and .net, mainly for mobile devices.
 
Personally I'm a bigger fan of PHP. I've tried .NET, but I just like PHP as a language a whole lot better, and find it easier to program in PHP. I also like PHP better as it seems to be more universally accepted. Some people in the industry may know more about .NET than I do, but PHP comes standard with about every linux server. This forum even uses PHP.

As a computer science student, we're also taught C++ in school, so my two languages of choice are C++ and PHP, and I don't really have any major gripes with either of them. I may branch out and see what else there is at some point, but right now I'm trying to get as familiar as I possibly can with these two languages though.

I'm far from an expert though, and these are just my $.02 There's probably others with more industry experience that may have some more insight.

EDIT: I should also probably note I don't use either of these languages professionally right now, so I can't vouch for the actual demand, or making a livilihood
 
i agree, i don't know what he was talking about with regards to assembly. I live in atlanta, and the most in demand thing around here is java and .net, mainly for mobile devices.

its sound advice for a career programmer wanting the learn the proper foundations for picking up on a broad scope of languages. guys who have been doing this for long enough, like mikeblas, can pick up a new language over a weekend. the language isnt particularly important in the long run, but your level of understanding will always be limited to your knowledge of non-language specific programming methods and algorithms. languages with large libraries tend to abstract you away from the more fundamental concepts, which is good if you know them and want to focus on the higher-level concepts, but bad if you have genuine deficiency in these areas that carries over to your design.

if you just wanna land a job you can get by by other means, certainly, most people do. but i that's my take on his suggestion
 
Personally I'm a bigger fan of PHP. I've tried .NET, but I just like PHP as a language a whole lot better, and find it easier to program in PHP. I also like PHP better as it seems to be more universally accepted. Some people in the industry may know more about .NET than I do, but PHP comes standard with about every linux server. This forum even uses PHP.

As a computer science student, we're also taught C++ in school, so my two languages of choice are C++ and PHP, and I don't really have any major gripes with either of them. I may branch out and see what else there is at some point, but right now I'm trying to get as familiar as I possibly can with these two languages though.

I'm far from an expert though, and these are just my $.02 There's probably others with more industry experience that may have some more insight.

EDIT: I should also probably note I don't use either of these languages professionally right now, so I can't vouch for the actual demand, or making a livilihood

Here's the thing - I've dabbled in PHP, and I like it. I really do. I started working on a CMS just for fun when I started learning PHP. If I can find a decent job doing PHP, I'd probably take it. But from the job searching I've done so far, PHP seems to be small fries, popular with small startup companies, and that's not something I'm looking for. The larger companies are looking for .net and Java developers, not PHP. I wish this weren't true, but I really want to work for a larger company with good benefits and perks, so PHP is probably out of the question for me.
 
i agree, i don't know what he was talking about with regards to assembly.
Did you read the essay? That should make it pretty clear. If sitheris is just doing web design, then yeah--probably no reason to learn how a computer works. If he's doing actual software development, I don't think there's any excuse for not getting the fundamentals down first.
 
Did you read the essay? That should make it pretty clear. If sitheris is just doing web design, then yeah--probably no reason to learn how a computer works. If he's doing actual software development, I don't think there's any excuse for not getting the fundamentals down first.
Yeah, developing Java web applications or something similar IS real programming, and all the fundamentals are integral to understanding the web objects and methods associated with the language you're using, and especially achieving decent performance/security/stability with database access tasks.

Not at ALL like just doing HTML/CSS. Those are important in terms of collecting user input and displaying results, but that's the "easy" part of developing web apps in my experience.

If you're doing Java stuff especially I'd say it's real important to have a good grasp of the OOP paradigm as well, because Java is built around it.
 
Did you read the essay? That should make it pretty clear. If sitheris is just doing web design, then yeah--probably no reason to learn how a computer works. If he's doing actual software development, I don't think there's any excuse for not getting the fundamentals down first.

Yeah, I started out as a CS student in college, so I went through some of the assembly/machine code/binary classes before switching to IS.

If you're doing Java stuff especially I'd say it's real important to have a good grasp of the OOP paradigm as well, because Java is built around it.

Check. I've taken 3 OOP classes in my studies already.

I was really just asking what the best technology to learn would be in terms of job security. I already have a strong grasp of Java and .Net (VB .Net) as I've used them both quite heavily. I have a bit of experience designing an ASP .Net-driven site for a business when I was in college, but that's the last time I used it. I have a little experience with PHP, as I previously stated, but by no means am I an expert or even intermediate with that. I have not done anything with J2EE other than some basic JSP. I don't know anything about EJB, JSF, Struts, etc, but I know this kind of stuff is hot right now...so I'm wondering if I should start ramping up on this or should I just refresh myself on .Net and go job hunting. It's a tough decision because I would like to just focus on one technology and become an expert at that. I just don't want to choose the one that dies off 5-10 years from now, or becomes increasingly outsourced to offshore developers, if that makes any sense.
 
I just don't want to choose the one that dies off 5-10 years from now, or becomes increasingly outsourced to offshore developers, if that makes any sense.

Hate to break it to you but they are almost all going to die off 5-10 years from now. Programming languages are evolving faster than anything else except the internet itself. What our development team (I'm the IT Manager of a company that runs a global streaming music website) is using now is not what they were using 2 years ago and what they will be using 2 years from now will be different, though with some legacy/overlap in tools. 5 years ago .net was just born!

I stand by my original advice - if you want a nice boost in salary ranges learn what is cutting edge and rarish right now - that means Actionscript 3, AIR, Silverlight, Ajax, etc. etc.

If you want job security, master the concepts behind modern programming languages and be ready to learn 2 or 3 new ones every few years.

If you really only want to learn exactly one technology you can rely on for years and years, become an SQL expert. That will be around for many years.
 
Hate to break it to you but they are almost all going to die off 5-10 years from now. Programming languages are evolving faster than anything else except the internet itself. What our development team (I'm the IT Manager of a company that runs a global streaming music website) is using now is not what they were using 2 years ago and what they will be using 2 years from now will be different, though with some legacy/overlap in tools. 5 years ago .net was just born!

I stand by my original advice - if you want a nice boost in salary ranges learn what is cutting edge and rarish right now - that means Actionscript 3, AIR, Silverlight, Ajax, etc. etc.

If you want job security, master the concepts behind modern programming languages and be ready to learn 2 or 3 new ones every few years.

If you really only want to learn exactly one technology you can rely on for years and years, become an SQL expert. That will be around for many years.


That's good advice, but the last one made me grin. I've worked for a very large database company the past 3 years so I think I'm good on SQL :p It's just that SQL is rarely ever used by itself (at least in the areas that I'm interested in), but in conjunction with other technologies.
 
What our development team (I'm the IT Manager of a company that runs a global streaming music website) is using now is not what they were using 2 years ago and what they will be using 2 years from now will be different, though with some legacy/overlap in tools. 5 years ago .net was just born!
I'm curious. Why are you rewriting your site and all your tools over and over again? Why aren't you sticking with what you have, and refining that? Small projects might get away with this, but at a certain point, you're going to be changing horses while your competitors are winning races.
That's good advice, but the last one made me grin. I've worked for a very large database company the past 3 years so I think I'm good on SQL :p It's just that SQL is rarely ever used by itself (at least in the areas that I'm interested in), but in conjunction with other technologies.
Where are you working? While SQL is usually used with a procedural language, it's still something worth knowing.
 
I'm curious. Why are you rewriting your site and all your tools over and over again? Why aren't you sticking with what you have, and refining that? Small projects might get away with this, but at a certain point, you're going to be changing horses while your competitors are winning races.

Are you kidding? Every single high-traffic site I can think of has undergone significant rewrites, front-side and back-end, in the past couple of years.

We started development 3 years ago, we launched 15 months ago. We grew 40% monthly between last December and this past June. It's slowed down a bit, but we are now peaking at 300+ megabits per second during our prime time (11am-3pm Eastern) out of our CDN and 110-120mbps out of our colo. We've got 63 physical servers and 35 terabytes of online storage. Shear heart-pounding terror that things will blow up in our faces unless we constantly optimize and scale and refine keeps our development team moving.

It's not a horse race, its a shark frenzy - move forward continuously or die.
 
Who said we rewrite from scratch? What we do, what everyone does, is replace old pieces with new, faster, better, more flexible pieces.

The major sites I visit every day - BBC News, ESPN, Newegg, Bluesnews, Microsoft, etc. have all be significantly rewritten in the past 2 years. Some of them look and feel completely different, because they have implemented the newest web technologies. Only the most minimalist of sites can resist the need to keep up on the front-end (Google, Craigslist), but I guarantee you the infrastructure on the back end has changed significantly and will continue to change.

Think of it not as a horse race, but just as a race - if you're still riding a horse while your competitors (or the net at large) have moved to those new-fangled internal combustion thingies on wheels, you're dead. Not to strain the analogy, but Web 2.0 stuff is like a jetliner compared to a diesel train.

If you're a programmer, and you want either a bigger salary or more longevity to your career, you probably ought to be looking at becoming a jet engineer. If you're really looking to score, learn rocket engines (Flex/Actionscript, AIR, Silverlight, etc.).
 
Back
Top