what other languages could i learn in under 3(edit:basics in 3-5 weeks) weeks, that will be useful?
edit: later with this background, i want to go into iPhone / Android development.
1) Front-End: This is the User Interface, the part you actually see and interact with. HTML, CSS, and Javascript are the core technologies used to develop front-end. As you must have noticed, HTML/CSS/Javascript files are served by a web server and are rendered by browser(client) to display the UI. These files can be served statically or it can be generated dynamically using Back-End technologies.
Once you have mastered the fundamentals of HTML,CSS, Javascript, which is all you basically need to develop front-end, you may want to learn javascript libraries like jquery/angular.js/backbone.js etc and css frameworks like twitter bootstrap. These technologies will make your web development task easier.
2) Back-End: This is where the core business logic resides. Typically a back-end application consists of a programming language, a framework and a database. Its role is to perform the business logic, save the information in database and send the changes in UI to client as HTML. If the back-end is a REST API it can serve JSON/XML instead of HTML and Javascript can update HTML after parsing JSON/XML.
Some of the popular back-end language/framework combinations used are PHP/CodeIgniter, Python/Django, Ruby/Rails, C#/Asp.net MVC, Javascript(node.js) etc. Databases used are either relational (MySQL, PostgreSQL) or NoSQL(MongoDB, CoucheDB).
My suggestion : After leaning HTML/CSS/Javascript, learn jquery and twitter bootstrap. Then learn any one of Python/Django or Ruby/Rails while using MySQL as database.
In the startup world very few are using Java for web development. They are using either Ruby, PHP, Python or Node.js. Java is mainly being used to develop Android applications. However, some companies like Twitter shifted to Scala after starting with Ruby. From wikipedia - Scala is a multi-paradigm programming language designed as a "better Java" — building on top of the Java virtual machine (JVM) and maintaining strong interoperability with Java, while at the same time integrating functional programming along with Java's object-oriented programming model. Here is a related article - http://www.readwriteweb.com/hack/2011/07/twitter-java-scala....
When it comes to enterprise, Java and .Net are still most used technology platforms.
If you want to start your own startup or if you want to work in a startup think about learning web development using HTML5, CSS3, JavaScript and any one of Python/Django/Flask, Ruby/Rails or PHP/CodeIgniter/Symfony. I would suggest to go with python/django. If you want to get into mobile application development learn Objective-C/ios for apple devices and Java/Android for Android based devices.
If it is all about getting a job in high profile software companies that makes softwares for big banks go for .Net or Java.
Next you should learn to program on a server. If you already know JavaScript, node.js might be a good thing to learn, but it's a little hard to get it working on your computer.
PHP (the language WordPress is written in) is really easy to get working on your computer, so that might also be a good place to start.
Both are popular and very useful. Ruby or Python would also be good choices.
Web development using python is now generally done using frameworks such as django, flask, tornado, bottle etc. but in early days it was used as cgi scripts for generating web pages. Youtube is one great example of a web application developed using python.
After that, PHP + MySQL is fairly popular choice for beginning web programmers. But the point isn't just to "learn" the languages, make something cool and useful out of it.
If you want to develop native mobile applications you need to learn platform specific technologies:
1. Objective-C/ios for iphone/ipad
2. Java/Android for android phones and tablets.
3. Windows Phone 7/8 for new windows based phones of Nokia and other manufacturers.
haxe - http://www.haxe.org
lua - http://www.lua.org
processing - http://www.processing.org
smalltalk - http://www.smalltalk.org/main
puredata - http://puredata.info
arduino - http://arduino.cc/en
three.js - http://mrdoob.github.com/three.js/
kinetic.js - http://kineticjs.com/
d3.js - http://d3js.org/
and then there is always the ubiquitous jquery for reducing the amount of browser stupidness - http://jquery.com/
And if you want to do apps, you could do worse than trying out unity3d - http://unity3d.com/ (It has a free version for learning it, though it will cost you a lot to do proper commercial work with it)
Some people here are recommending Ruby. Ruby is also a great language, and probably a little more expressive than Python. However, Ruby lacks libraries for some areas (numerical and scientific computing, machine learning..). Ruby tends to have a more web-focused community.
I would recommend Python.
Then you'll be able to set up your own marketing sites/blogs, work as a freelancer, and know a little php too.