Programming Languages

What programming language should I learn, a link I found on Twitter (like most of the other things I seem to find, nowadays) is a nice list and a good map for some one who is learning languages and looking for experimenting more.

I think for each language we can add a set of additional reasons – for example:

php – any work on mediawiki, drupal, joomla etc.
c# – any work on web parts, dotnet components, silverlight RIA
python – any work on django, nltk, machine learning, Plone, zope

In addition, I would add these languages. They are on my list to play around with and build a few prototypes (not sure when I get to them, though)

Boo – A python inspired language for writing DSLs (domain specific languages)
L Sharp or Lisp or Scheme – A list based language for learning programming
Squeak – A small talk based language for building delightful interactive applications
Berkeley Logo – For simulations, nothing beats this lisp inspired language
Prolog – for building logic programs and expert systems (though expert systems are fading away with machine learning based languages)
Haskell – Seems to be catching fire and may be one of the preferred languages for building multi-core apps
Erlang – Another language for building highly robust, scalable, multi-core apps
AIML – Artificial Intelligence Markup Language for buidling chat bots (even has a python AIML engine). Currently working with a student to build a chatbot for SugarCRM
SPARQL – A semantic web query language (easy if you already know SQL)
RDF and OWL – Not really languages in the conventional sense but I consider them as data languages

After writing all this, I decided to put this in my blog since it is worth remembering and updating them.

When I watch some videos on Lisp/Scheme, I understand why Lispers are so religious about their language. I have not seen more efficient/concise ways of solving problems or clarity of concepts.


5 thoughts on “Programming Languages

  1. I work with OWL/RDF for the US Air Force. I would say it is somewhere in between a conceptual data model and a logical data model that supports inferencing. Fun stuff to say the least. I thought that the article you commented in, like any article on languages to learn, was biased towards the programmers knowledge, as any article of the type would be.
    You had the open source camp vs. the microsoft/coporate camp. You were the only commenter who even mentioned anything close to semantic technology. Too many coders/developers are stuck in reactive mode, and only work to imitate what they have already seen.
    Have you been working on any semantic applications that use SPARQL queries on the back end? I have heard of people using Drupal, although I am only beginning to learn about it.

  2. John,
    Thanks for taking the time to share your thoughts. I am looking at several semantic technology related efforts. Testing out Twine, Look at Open Calais API, browsing Freebase and checking out dbpedia. In addition, I follow Planet RDF. I did look at Drupal and was surprised that it took the lead in supporting Semantic Technologies. Since we work mostly with Python and Django and occassionally dabble in a bit of dot net, I am looking at the Entity Framework. My interests are also in tracking Semantic Wiki (an extension to the media wiki engine) developments. At this time I am dipping my toes a bit, reading books, trying out a few small programs and watching the space. Hopefull will have a few apps over the next several months.

    There is a small group of Semantic Technology enthusiasts on Twitter. I think RDF may first surface as a data integration technology more than anything else, but I could be wrong about that.

    Take care,

  3. You are on the money regarding RDF being used for data integration. That, combined with its ability to support discovery through inferencing, is what the USAF is pushing for with its OWL/RDF mapping effort. It is a strictly internal effort, involving hundreds, if not thousands, of small, domain/service focused OWL ontologies mapping up to conceptual reference focused OWLS.
    As far as wondering where RDF is going, just follow the dollars. The company that I see as being the leader in utilizing RDF for applications is Top Quadrant. They offer a tool called Top Braid that is quite impressive in its integration capabilities. It still requires hardware, though. It makes use of triple store servers to import data from various oracle, sql, DB’s, and then stores the data as RDF triples according to the users requirements at time of import.
    I highly recommend checking out their solutions. The software is very expensive, but they have a fully functional demo you can download, which will allow you to perform SPARQL queries of data housed in a SESAME DB. SPARQL has its limitations, and their scientists are working on extending its functionality. Some of this is available in the tool. They call it SPARQL motion. Its pricey, but I’m assuming its going to be years before a capability like they offer become available as open source. They would do a lot better if they came down on their prices. Way too high.

Please Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s