Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My brother just started learning some html/css at school and he loves it. He asked me to give my advice on what languages to learn in order to build great web-apps by the time he leaves school. (2015 or something like that.)

I did some research, and right now I want to tell him (in this particular order):

  • HTML -> HTML5
  • CSS -> CSS3
  • Javascript -> jQuery -> AJAX
  • PHP -> Zend Framework
  • MySQL
  • Ruby -> RoR

I would like to know if this is correct before I waste his time. Stackoverflow seems like a place where people know the answer to these kind of questions ;).

Thanks!

share
8  
Its better for your brother to learn about the fundamentals of computer science. Languages come and go. Algorithms and math skills have been around for centuries and will continue to be around for our lifetime. –  P.Brian.Mackey May 26 '11 at 14:11
    
In about a year and a half we might face the end of the world so I wouldn't put much stock in planning for 2015. At least not yet. –  user8685 May 26 '11 at 17:43
1  
Don't forget the fundamental architectures, protocols and designs of the web: client/server, HTTP, REST. –  Rein Henrichs Jun 14 '11 at 19:59
    
@P.Brian.Mackey Agree, but "Algorithms ... have been around for centuries"? Maybe some of them, but certainly not many. –  Rein Henrichs Jun 14 '11 at 20:04
    
@Rein Henrichs, have you looked at Sun Tzu's, "The Art of War"? Some of the strategies there could be considered algorithms depending on how broad of a definition you want to use. –  JB King Jun 14 '11 at 20:11
show 4 more comments

migration rejected from stackoverflow.com Sep 29 '13 at 21:25

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, MichaelT, GlenH7, Jim G., Doc Brown Sep 29 '13 at 21:25

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about what language, technology, or project one should take up next are off topic on Programmers, as they can only attract subjective opinions for answers. There are too many individual factors behind the question to create answers that will have lasting value. You may be able to get help in The Whiteboard, our chat room." – Jim G., Doc Brown
If this question can be reworded to fit the rules in the help center, please edit the question.

7 Answers

That looks like a pretty comprehensive list for being a web developer today. I'd say it's important for him to start learning those technologies while keeping an eye open for what's on the horizon. Who can say where those technologies will be in four years?

The one suggestion I'd make is learning something like NoSQL in addition to MySQL, as the current trend seems to be heading towards treating the database as a key/value store.

I personally would go the other way, and advise your brother to learn PostgreSQL and get a solid grounding in real relational database design. MySQL basically behaves like a key/value store by default and I seem to be the last hold-out Rails developer who demands actual constraints in my database. Ridiculous, but I feel sort of like an old man shaking his fist at progress when I say that.

share
add comment

Well, you're asking for a far future prognosis and nobody knows what technologies will be used in 2015 and beyond.

But there are basic fields of knowledge that won't get obsolete in the nearest decade or two:

  • HTML
  • CSS
  • JavaScript (with frameworks like jQuery or Angular)
  • Server-side programming
    • There is a lot to learn here
  • Relational databases
  • Non-relational databases
  • AJAX
  • How HTTP works (GET, POST, cookies, sessions, PRG pattern etc.)
  • Common exchange formats, how to use and build an API (web service)
  • Performance optimization
  • Security

There is one thing which the future probably belongs to - server-side JavaScript (Node.js).

It's really important to understand how web works, learn how to program and get a lot of experience - learning further technologies is much easier since a developer has some foundation of knowledge to build on.

share
1  
+1 for "How HTTP works"! Should be fundametal for anyone who plans on doing more than basic, static HTML pages. –  FrustratedWithFormsDesigner May 26 '11 at 15:13
    
I'd add a bullet-point for the 2 areas of programmable interaction: client side (jQuery) and server side (PHP/Python/Java/etc.) development. It's critical for a developer to understand where code is being evaluated. This confused me terribly badly when I was learning PHP 6 years ago. In addition to understanding how HTTP works, this would be a welcome addition. –  Naftuli Tzvi Kay Jan 25 '13 at 17:52
add comment
  • Interface design: understanding and interacting with the user on all their senses.
  • Experience design: Building apps that showcase a certain ambiance and feel

I think learning how to program and code is systematic as you can learn it in school or on your own. Learning to build interfaces is something that you need to learn the hard way

share
add comment

Learn some/most of the administration and maintenance of various web servers. It still freaks me out that none of my "senior" engineers knows how to setup IIS.

If your brother wants to be a great web developer, he'll need to be fairly self sufficient. Sometimes problems with your web site aren't from bad code, but from "features" of the server it's running on. Getting those resolved quickly will help move you to great.

share
add comment

JavaScript is still on the rise, and will continue to grow in the years to come. The engines are getting faster and faster every day, and the position of a ubiquitous runtime gives it a huge leverage. Moreover, it's also gaining in popularity on the server-side (see NodeJS).

It's definitely something to watch for.

share
    
+1 Well said. JavaScript is being used to write so many layers of the stack, it is hard to think it would not be applicable in the future. –  ClintNash Oct 6 '12 at 8:44
add comment

In addition to what has been stated.He should also look into learning EXT.js. http://www.sencha.com/examples/ has some examples of excellent web apps developed using the ext framework :)

share
    
+1. Agree completely. Go look at their examples. If you can set up one, you can set up all. Very robust. –  ClintNash Oct 6 '12 at 8:42
add comment

JavaScript, JavaScript, JavaScript. Why?

Because it is Full-Stack. JavaScript is being used everywhere that it can be used and it is excelling in each environment in unique ways.

But don't take my word for it... look at the big companies; what are they doing?

Microsoft makes JS a first-class citizen in Windows 8. They are doing this for "The web Is The Operating System" perspective." Once you see it - you get it.

But they are not the only ones.

Mozilla is making a play for direct API interface to devices with JavaScript - as well. What does that mean? It means file access is JS to JS. And camera access is JS to JS. And Server, Database, even your Calendar Contacts - JS to JS.

Yes. Learn JavaScript.

For interesting visual stuff check out: CreativeJS.com and D3.js.

Also, John Resig, creator of jQuery, is starting an online school called Khan Academy, all in JavaScript.

Hope that helps.

share
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.