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.

Been out of school for about 3.5 years and in the .NET environment doing C# UI work (WinForms/WPF/Silverlight) as well as some Java work, server side.

All in all I have done no real web development. I am wanting to expand my knowledge to include some web knowledge. My company makes use of the Spring stack so I was going down that path so that it had value at my current place of employment. They make absolutely no use of Ruby/Rails however that would allow me to learn a language versus a stack. I have thought of going the ASP route which the company also makes heavy use of, since I am familiar with C# and the .NET environment.

I am in favor of what MS has brought to the table so me stepping out of the .NET environment feels both interesting and exciting. I'm not sure if I am avoiding ASP to simply broaden my knowledge bank...so based on the above knowledge what route would you all take?

What has the most value long term? ASP? Spring stack? Ruby/Rails? Something else I am ignoring...?

All input is greatly appreciated, thanks.

share|improve this question

put on hold as off-topic by MichaelT, Snowman, GlenH7, durron597, gnat Apr 24 at 16:30

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

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – MichaelT, Snowman, GlenH7, durron597, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers 2

up vote 10 down vote accepted

If you have never stepped into web development before, then start with the fundamentals:

HTML, CSS, and JavaScript

Without these you won't know whats going on underneath, and it can be a very big shortcoming in the future. You need to know these just to do even the simplest task. Learn these before continuing ANY further.

If you already know these, then I would say go with the heavyweights: A Java Spring stack and a ASP/.NET stack. These are huge and not going away any time soon.

I would also learn another web language like PHP, since its used everywhere. To get more experimental a Ruby/Rails route would be okay, although which is more valuable is unknown to me.

share|improve this answer
I have familiarity with HTML in a raw sense, could I hand code it? No. But I have knowledge of the fundamentals. Same with CSS, conceptually, what it;s for, etc... JS...not so much, some scripts here and there but nothing in depth. I'm not a greenhorn with the technologies but I would need to rely on an IDE for development purposes. Would you still suggest taking that route? –  Aaron McIver Sep 22 '10 at 2:19
@Aaron I would still suggest gaining an in depth knowledge of them simply because it helps. Write a small static website with them. Then make it better by using AJAX and your favorite server side language to make it dynamic. If you can do this then you will have learned 90% of web programming. The last 10% is niche stuff that can be learned later if your going to using an abstraction layer like ASP. You should also consider not using an IDE for this part, since an IDE takes out alot of the memorization and learning. Use a text editor at first, then graduate to an IDE. Just some thoughts. –  TheLQ Sep 22 '10 at 2:29
Please, don't just think you have a grasp of HTML fundamentals until you can write it by hand, understand the difference between style and content, and think tables are a bad approach to laying out a page. –  MIA Sep 22 '10 at 4:46
@Aaron, thats some sage advice from TheLQ! Dont start going overboard with frameworks and toolkits until you have a good grasp of HTML (which means hand-coding) and client side javascript. –  GrandmasterB Sep 22 '10 at 5:03
You also need to know HTTP, but I guess that's implied –  Jaco Pretorius Sep 22 '10 at 6:13

Since you wanted to expand your "web programming" knowledge, just do the tutorials of some of the most popular and/or capable web frameworks in use today:

  1. Ruby on Rails, MVC patterned, dynamic/scripting language
  2. Django, MVC patterned, uses Python (similar paradigm as Ruby)
  3. Seaside, continuations-based framework, in Smalltalk (pure OO)
  4. Lift, inspired by Seaside, in Scala (OO + functional, JVM-based)

For Javascript, be sure to read Javascript: The Good Parts, and look into jQuery for AJAX and as an abstraction layer over the nuisances of browsers. HTML and CSS, just google it, and/or get Web Design in a Nutshell.

share|improve this answer
I'm a .Nutter by day, but IMO, everyone who has to work with Java or .Net needs to spend at least a little time playing with RoR to learn that "convention is perfectly ok". –  MIA Sep 22 '10 at 4:42

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