archives

The C++ Source Journal

via Digital Mars C++

C++ [is] indisputably the most powerful programming language in the world. For reasons understood by many, it has, however, become a very complex language, and many a novice has followed after the siren song of lesser languages.

So is launched The C++ Source, the authoritative voice for the C++ community on the web. The board of editors is a veritable Who's Who of C++. Articles are peer-reviewed. There is not much content yet, but it looks like they offer live feeds. The journal's premiere article, "The Spirit of C," offers a potted history of C.

Like BCPL, B was a typeless language with a rich set of operations on machine words... How well does B embody The Spirit [of C]? Almost perfectly, in my opinion. "Trust the programmer" and "Don't prevent the programmer from doing what needs to be done" are obvious characteristics of a typeless language. [Meanwhile, however, the] C++ language is very nearly completely type-safe, which is a good thing, as its type system is arguably the most complex of any language.

Put that in your pipe and smoke it.

PyCLIPS - expert systems shell in Python

PyCLIPS embeds the CLIPS "expert systems shell" in Python.

It appears to be a set of Python wrappers for the CLIPS C modules themselves, rather than a complete reimplementation in Python. In fact, the CLIPS engine runs in its own memory space and allocates its own objects. However, the integration with the engine is extensive enough to be of interest here, because some of the challenges it poses are similar to those involved in embedding one language in another (e.g. finding a good fit between Python syntax and the protocol used to communicate with the engine).

More details can be found in the manual, downloadable from the project's sourceforge site.

It's the language, stupid. Or is it?

In a forum dedicated to programming languages is it is easy to get carried away, and forget that choosing a programming language for a project is not just about finding the best or most expressive language possible, but often very much dependent on the platform for which the software is developed.

An interesting blog post about web applications, AlphaBlox and Oddpost should help drive this point home.

It describes the struggle it took to develop applications with rich user interfaces for web browsers, especially early versions of IE. Javascript was the programming language used.

Along the line browsers evolved (as well as the browser-language interface called the DOM), the language matured, and programming techniques were discovered.

So, yes, it is the language. But it is good to keep in mind that things are not always a simple as they may seem on first sight.