Stack OverflowWhich Web based language to learn?
[+11] [13] Gooner
[2010-08-09 14:03:17]
[ java web-development web-app ]

I have a pretty good Java background and about a year's experience with Android. I was looking to learn a Web based language but I am not sure which one to? It's not necessary that it has any thing to do with Java. But something that will be useful and interesting to learn? I know this sounds stupid, but any suggestions? Thank You.

(5) This is a totally subjective and open-ended question. - gnovice
(5) Yes, it is! Thank you! - Gooner
Related:… - NullUserException
Come on, one more to reopen this! Even if there is no exact answer of the question, he will find our answers useful and he will be able to make a decision. - Petar Minchev
These questions ("What should I learn now") are very poor questions for Stack Overflow. If there are treated generally, they constitute a "Which is better..." question which is S&A, or if treated very precisely in the context of the asker only they are too localized. Either way, they should be closed. - dmckee
[+8] [2010-08-09 14:19:50] clyfe

By web based language I assume you mean a server side technology that spits HTML.
Learn the Ruby Language [1] using the JRuby interpretor VM implementation [2] which is tightly integrated with Java, and then check out Ruby on Rails [3], this framework teaches you some of the best things (flow, patterns, etc.) one needs to know about web development.

Some screencasts on Rails:


How hard is it to learn Ruby on Rails? I have a span of say 3months. Stupid Question- Does it integrate with Oracle? - Gooner
it's easy to learn rails, 3 months plethora of time, it does integrate with all major databases, including oracle: - clyfe
That's good to know. But do you have to know ruby to learn ruby on rails? How is it? I have three months, but I have other subjects to study as well. So all my time cannot be dedicated to this. Thanks! - Gooner
"Ruby on Rails" is a framwork (library) in the Ruby language, so yes, you need to know the ruby language. As I said, it's easy to learn ruby and rails, your time fits, even with the extra stuff. - clyfe
[+7] [2010-08-09 14:07:16] Ł

If you already have experience with Java, then it's time to learn something new. Try .NET with ASP.NET AJAX or ASP.NET MVC, alternatively learn some python.

(2) +1 for suggesting something new, other than Java-based stuff! - FrustratedWithFormsDesigner
Thats true... More languages and technologies you know, more comprehensive employee you are :) - Ł
ASP.NET in C# is easy to start coming from a Java background. I'll second this post. - tedmiston
[+5] [2010-08-09 14:09:25] Romain Hippeau

If you know Java, that will work, In addition look at GWT, it is a really cool technology that allows you to run the Java code you write in your browser, by translating it to JavaScript.

I would recommend that you learn HTML and CSS for starters; You will need that skill-set for all languages.

Some Web Programming languages that are popular include PHP, Ruby and Python, there are many more.

[+3] [2010-08-09 14:05:39] Pablo Santa Cruz

If you already have experience with Java, go with Java EE's servlets and JSP. Apache's Tomcat [1] is a good and simple Servlet+JSP container to use. Once you get use to the basics, you can move on to a higher level framework such as JSF, Struts or any other Java based framework you want.


[+2] [2010-08-09 14:05:34] Miro

If you want use java, then there's Java EE it's server side html preprocessor and a lot of more.

[+2] [2010-08-09 14:25:54] David Santamaria

The best move in my career was moving to Groovy (and of using the grails [1] framework).I was coming as well from the Java world (I already was working in J2EE technologies).

The main reasons for moving to Groovy are the usual things cause the people move to Any Dynamic Language, plus the fact that you are running on the JVM. And for the framework, I'll just point on the reasons that makes the most of the web frameworks as amazing as they are:

  • Convention over configuration
  • Don’t Repeat Yourself
  • Full stack

But mainly, I am having fun programming again after few years.


[+2] [2010-08-09 14:40:02] back2dos

Well, if you want to try something different, I suggest you have a look at haXe [1]. It is an expressive and concise language. It is open source. It runs on lot of platforms. It has a great community. It evolves and adapts quickly. An Android backend is currently being worked on.

Among popular web programming languages, C# and Ruby are the only two, that can compete with haXe. The former due to expressiveness and feature richness, the latter due to its conciseness. Java OTOH is not a great language. Instead Java is a great platform. The beauty of Java lies in the fact, that if you do it right, you don't really have to write a lot of code. But if you actually like coding, don't go with Java.



[+2] [2010-08-09 14:46:59] Matt Williamson

The lowest barrier for entry and most prolific would be PHP. It's very easy to get started and there are innumerable examples on the internet to help you.

PHP definitely isn't the most prolific. PHP is just a poorly designed tool to hack together websites. The worst code I ever saw deployed was written in PHP, because PHP doesn't promote any good practices at all. And the API is horrible. The reason to use PHP is, that it offers the easiest deployment you can get, because it's easy to install and it's run on most shared webspace servers. But for PHP not to become a nightmare, you need to use a proper framework. - back2dos
I agree with a lot of those points, as I use python now, but which language would you say is the most prolific then? - Matt Williamson
PHP runs everywhere, and supports just tons of things (databases, plugins, frameworks, etc...). It costs basically nothing to run it. It can be as structured as you care to make it, or as horribly hacked together as you care to allow it. It has a lot of power in what it can do. Yes it may not be compiled or the fastest thing out there, but I find that it's simply enjoyable to use and the community support is second to none. Do yourself a favor and at least check it out before deciding on a language to learn. - jocull
[+1] [2010-08-09 14:24:30] Leon Coetsee

Your choices are the normal Java bits as mentioned in other posts, the .Net stable of technologies (ASP.Net Web Forms Or ASP.Net MVC), Python or Ruby (MVC). Personally I would currently look at something completely different called Silverlight (from Microsoft). I beleive that it has recently reached a decent level of maturity and offer alot of benefits that other browser based technologies do not, whilst removing alot of problems they had. In other words, Silverlight is basically the 'next-gen' approach which everyone will be cloning soon. And it runs on mast browsers (on most platforms). If I had to learn something new right now, I would learn something that is cutting edge and will be relevant for a long time to come.

[+1] [2010-08-09 14:24:55] Decio Lira

Why do want to learn a new language? Is it a work related need or you just want to expand your knowledge? How much time do you have to put on it? Depending on your reasons and motivations it can go either way.

If it is a work related need, i.e your company wants to port some desktop application to the web, and you need to do it quickly, I would go with Java EE's servlets and JSP as Pablo said. It will save you time since you have experience with the java plataform.

If you want to expand your knowledge, do some personal projects and overall just improve your portfolio, I would go with python or ruby, they are easy to pick up and have good frameworks for web development.

hey thanks for your answer! It is really nice of you! I am a student and I have to do a project. So, yes I have to expand my knowledge. It is a project based on building a web application with a database. I have around 3 months + or -. - Gooner
Do you have good examples of how to use Python as a web language? I've had poor experiences with it, to the extent of having to write HTML out from a string in the Python code. (Not a favorite choice after working with PHP, ASP.NET, and ColdFusion). - jocull
Hi, well google uses it all over the place. I would recommend you take a look at Django, the (arguably) most used framework for python web development. I recommend you also search through stackoverflow for questions related to learning web development with python. - Decio Lira
[0] [2010-08-09 14:31:56] Joseph

PHP + AJAX is a good set.

PHP has many frameworks, such as: Zend, Yii and etc. I was also write less php code than java. But I ramp up quickly with PHP framework. And same as, Ajax framework Jquery is more popular. For a fresh man, I think lightweight frameworks will help him to create an application quickly .

Care to give reasons? - back2dos
It isn't, beacuse PHP isn't compiled => it's slow. But if you doing small site then why matter with AJAX?? - Miro
@back2dos Added some comments. - Joseph
[0] [2010-12-06 19:46:35] Neil McGuigan

If you're looking for job-related skills, check out job trends:

alt text

[0] [2012-02-18 05:15:42] Robotronic

For client side, stick with the core standards -

  • HTML
  • CSS
  • JavaScript
  • JQuery

Silverlight and/or Flash will probably fade away and be replaced with HTML 5

For server side technologies, you can't go too far wrong with Microsoft technologies -

  • C#
  • MVC
  • SQL Server

If you are looking to build a career , then many fortune 500 companies have Enterprise development environments that are focused around Microsoft tools.

Some of the Microsoft tools can be expensive, but the express version are free, and a great starting point