As of lately I have been doing a lot of work in web based programming. Not strictly web development or design. But, web application development such as, a web application that provides the features of a conventional computer programming laboratory. Such applications are called SaaS or Software as a Service. Since it's over the internet, it's a service and of course you are providing a software service, hence the name. But for above purpose I'm using a RIA platform called Vaadin, which is a platform built over GWT or Google Web Toolkit. RIA stands for Rich Internet Application, which simply means a web software/application as opposed to the classic web, which is just nice visuals to present some information in the form of pictures, words, graphics, sounds and videos.
While at it, I got an interest in the concepts of design & development of beautiful and elegant websites. Its an art in itself. Well, currently I'm in the learning phase. It boils down to proficiency in JavaScript and Ajax as they provide beautiful designs and effects.
From what I understood, JavaScript is really a messy language when it comes to debugging. In order to make JavaScript development easy there are multiple JavaScript based libraries to make it easy. Apparently JQuery is one of them and really reduces the amount of coding. Wikipedia claims that up to 41% of websites among the 10,000 most visited websites uses JQuery.
Another interesting web development framework is Ruby on Rails. As the name suggests, it uses Ruby, a language developed in Japan, and incorporates the Agile development concepts. The Agile development concept focuses on getting the actual work done in adaptive or iterative manner, instead of going through a lot of formal levels of software specification, documentation, prototyping and so on before the actual software's development is initiated. Ruby on Rails is very popular nowadays due to its very less development time. Some even claim that it is even reduces up to 10 times compared to the traditional way.
Now, to justify the title; as I was trying to learn Ruby, I came across a novel way of tutoring one a new programming language. It goes as following: you are provided with a terminal and the instructions are given at the bottom, you follow the instruction and practice the commands on the terminal, and you get to learn the language and practice on the fly, all online. Take a look here to know more:
http://tryruby.org/ .