Thursday, July 30, 2009

A programming language in my name!

While googling in a sleepless night, I found something intersting (interesting for me and all other Toms!). A good looking programming language named "Tom" which is my name. I just went through the official website and found it was cool. I liked some of its specialities available, and also it's license.-Yes, it's under GPL (GNU General Public License). Some of the pecularities are: (I just copied it from the official site)
  • TOM sports extensibility of objects: a class is not just defined by its main definition: classes can be adjusted, even at run time. A prime example of this is to modify in your program a class offered by a shared library, just to make it suit your program better.
  • TOM methods employ default argument values and multi-valued returns;
  • TOM has multiple inheritance - with semantics much simpler than in C++ or Eiffel and obviating the need for interfaces (Java) or protocols (Objective-C);
  • TOM offers reflectivity on objects, their classes, member variables, and methods;
  • TOM discerns classes and a few basic types - like Java and Objective-C;
  • TOM has conditions modeled after CLOS conditions;
  • TOM, as compiled by Tesla, the first TOM compiler written in TOM, adds blocks to the language;
  • The TOM standard libraries offers time-constrained garbage collection, multi-threading, distributed objects.
In their FAQ, I found a question "What does the name "Tom" mean?
The answer given was like this: "The name TOM is a name. Names don't need to have a meaning. :)"
Well, here is simple "Hello Tom" program in TOM which resembles C and Java.

int
main Array arguments
{
[[[stdio out] print "hello, Tom!"] nl];
}


Currently Tom is available for Linux,BSD platforms. An unsupported version of win32 platform also
Visit official TOM website

No comments: