The Language Guide

There are so many computer programming languages that newcomers and around-IT people get confused very often. Which language should I learn? What is better C or Perl? What is SQL? These are the questions posted forums and newsgroups where programmers hang out.

The Language Guide website attempts to tell the difference between 40 or so most popular programming languages. It provides a brief history of each language, key features listings, sample programs, and links to other resources about each language.

Object-oriented programming concepts

Here is a nice (as in short and simple) tutorial on object-oriented programming concepts. It touches only briefly and a few concepts: objects, class, message, inheritance, and interface. There is a practical part based on Java. And that’s about it. Studying this tutorial will not make you an OOP expert (I doubt that anything will), but it will provide with the general direction to dig in.

Thought of the day

I think I have finally realized today why I don’t like “corporate” and “enterprise” programmers and the technologies that they enjoy, like Java and XML. Many of them don’t take languages like Perl, Python, and PHP seriosly. Text files in general and the word “script” in particular make smile. I think, many of them are just hiding behind the complex technology.

Programming skills should grow from small and simple to large and complex. Most people have a kind feeling of nostalgy towards things they have learned in the beginning of their way. Sciprts and one-liners do provide small and simple things which programmers should start with. People who jump straight into Java classes will never be able to produce nice code. And those who had started with one-liners will stick to them until there is a strong reason to do otherwise, since it is natural for people to use the most common way, the way they know better.

So, finally I understood that it is not the laughing at my favourite tools that makes me disrespect “enterprise” developers, but it is their lack of base knowledge and unprofessionalism. Maybe now I’ll find peace with them…

Advantages of mod_perl over Java servlets

Pretty often, in the mailing lists, people ask why should they use one solution instead of another. There is a similar discussion on mod_perl mailing list. While there are, as usual, a number of reasons to use Perl over Java, it gets interesting when it comes to examples and references. Particularly, these lines from reply by Perrin Harkins:

Amazon runs on Perl. Yahoo runs a lot of Perl. Ticketmaster is all
mod_perl. IMDB is Perl. All of these get tons more traffic than Slashdot.

Groovy, a Java-like Scripting Language

By means of Linux Weekly News, I came across Groovy. Groovy is a Java-like scripting language. It is JRE compliant, has Java syntax, supports existing Java objects and libraries, has dynamically-types variables, and some more. It has templating system, simplified interface to JavaBeans, works with SQL, and can be used to write Java servlets.

Here is what they say about it on their website:

Groovy is designed to help you get things done on the Java platform in a quicker, more concise and fun way – bringing the power of Python and Ruby inside the Java platform.

Groovy can be used as an alternative compiler to javac to generate standard Java bytecode to be used by any Java project or it can be used dynamically as an alternative language such as for scripting Java objects, templating or writing unit test cases.

Overall it sounds rather interesting. It seems that it feel the niche between Java and Perl/Python/Ruby, providing an acceptable compromise for all those people participating in the holy wars. :)