Forum Moderators: phranque
I am 18 now and have 5 years before graduating as IT engineer after which my future is likely to be in web development. (Having been meddling around with websites from since I was a small kid and currently in summer job doing mostly SEO)
The upcoming years will likely involve spending time to get some HTML/CSS/PHP references and learning some more JS/AJAX (which I know very little) but... I think I'll still have time that I want to study/create something but want a bit of pause from constant PHP (such as... Uh... now.)
So learning some new programming language seems to be next but I can't decide which one.
From what I've looked at webmaster positions, Java seems to be required pretty much everywhere. Is this really the current situation? Also, is it true that the "Code once run everywhere" has turned to "code once debug everywhere" after so many java versions?
Python seems pretty interesting but how much is it used on server side? (on things that just common PHP wouldn't be able to do as well)
Or should I be looking at something completely different?
Python - Used a lot by some of the 'heavy hitters' such as Google. Many consider it to be 'cleaner' than PHP or Perl and it's heavy object oriented approach seems to favor larger app development.
C/C++ - You may or may not use this as much on web dev projects but it comes in handy sometimes and looks great on your resume. Also, some people won't consider you a serious programmer unless you know some C. I think there's some truth to that - C will teach you good programming etiquette and after all it's the basis of PHP and many other languages (including Perl and Python).
There are a lot of depreciated things in Java that will still work in later versions but throw a warning during compiling. As far as using Java goes, there are a few companies that are switching to Java for god only knows what reason, however, I don't find it particularly usefull for real applications. ;) If you take CS classes in college, more specifically introduction classes, you'll most likely be starting with Java as it introduces good coding methods and is all Object-based.
>> not bad with PHP either
There is always room for expansion in the PHP programming side of things. I've been using PHP for a decent amount of time now and I still learn new things once in awhile. Get a book on advanced PHP topics or break apart some PEAR classes and study - you'll learn a lot. :)
C will teach you good programming etiquette and after all it's the basis of PHP and many other languages (including Perl and Python).
And Java, with my bout of experience in Java I was amazed at how close it was to C/C++.
. . . after which my future is likely to be in web development.
Allow me to suggest this, don't worry so much about "new languages." You have the basis of dynamic web apps in PHP. If there's one wall I constantly run into with managing client projects, it's almost always getting a straight answer from a system admin on technical issues. How can we make sure our mailing system is working right? Why is my DNS report screwed up? It almost always gets down to "holes" in my knowledge or in those of the system admin that need to be filled. You might explore real world system architecture, managing servers, things of that sort, that your IT courses don't cover.
...learning some more JS/AJAX (which I know very little)..
These provide solid support for your web apps.
Python seems pretty interesting.....
Or should I be looking at something completely different?
Is there a Monty Python joke hidden in there somewhere?
Welcome to webmasterworld. :-)
Is there a Monty Python joke hidden in there somewhere?
learning some more JS/AJAX (which I know very little).
i would add in general that you should learn how to take an object-oriented approach to programming and you can do that in any language - some languages enforce it.
pretty much everything physics said - i would have said if i had thought of it first.
and i did notice the first thing he said was "perl"...
If you are not fluent in object oriented programming, then java might be a good language to learn OO. But make sure you learn the object oriented side of it. The language itself is not difficult to learn. It is the design concepts behind object oriented design which can take time to master.
I had the most success learning OO in college. So in the next few years look for some object oriented design classes. Most likely they will be centered around Java, so don't necessarily be turned off by that.
Plus, Java is just such a beautiful language... and it makes learning Object Oriented programming very easy... ;-)
In some salary overviews I've seen, DBO's earn significantly more than programmers.
If you are determined to stay in the cubicle/basement/dark damp places with only the glowing screen as your working companion, then move on from SQL into really conquering Javascript and all its nuances. A mastery of Javascript is a highly desirable skill these days.
But if you have an inkling for the brighter side of webmastery, look into SEO, SEM, e-commerce, affiliate marketing, and the various cogs and forces that make money flow around the industry. That is no less fascinating and possibly more challenging than learning Perl. If you're a dude who can build a killer web app AND manage a successful AdWords campaign, then you're a superstar!