Hi, 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.
If you want use java, then there's Java EE it's server side html preprocessor and a lot of more.
If you already have experience with Java, go with Java EE's servlets and JSP. Apache's Tomcat 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.
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.
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.
By web based language I assume you mean a server side technology that spits HTML.
Learn the Ruby Language using the JRuby interpretor VM implementation which is tightly integrated with Java, and then check out Ruby on Rails, this framework teaches you some of the best things (flow, patterns, etc.) one needs to know about web development.
Some screencasts on Rails:
http://rubyonrails.org/screencasts
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.
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.
The best move in my career was moving to Groovy (and of using the grails 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.
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 .
Well, if you want to try something different, I suggest you have a look at haXe. 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.
greetz
back2dos
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.