Need a new programming language

Matthew Hawkins matthew at topic.com.au
Fri Feb 8 09:53:29 EST 2002


On Wed, 06 Feb 2002, Paul Matthews wrote:
> Getting frustrated by the limitations and sheer stupidity of C/C++, and
> pure kludges of Perl. Would anyone like to recommend a new programming
> language.

Brainf**k [1].  No, wait, ...

> Preferably one that can be both compiled to native and interpreted.

What I think you're going to find is that in the not too distant future,
most languages will be interpreted to a common bytecode (and illegal
monopolies inc. would no doubt like that to be CLI).  There will then be
tools to build native machine code out of that bytecode.  I believe this
was Sun's vision with Java, though unfortunately there has not been much
progress in this area.  I don't know whether this is due to some fault
in the language (or perhaps its license?) that turns academia off
tinkering with the possibilities, or whether part of the deal to sell
your University to Microsoft *cough*UC*cough* involves never using Java
at all.  It certainly means that in Government departments, where
Microsoft salesmen are claiming Java is a huge security hole and people
should program in Visual Basic and ASP/VBscript instead - and the
management are lapping this bullshit up like the dogs they are, forming
policy based on marketing hype from the illegal monopoly.

Er, I digress.  What I believe you should look for in a programming
language is its ability to best describe and manipulate the data you're
working with, and its overall "ease of use".  By that I mean the
features it has that makes your life easier.  There's never going to be
one language to rule them all, part of the analysis and design stage is
choosing the right language(s) for the task.  Different tasks have
different requirements, different languages have different features, you
have to mesh the two together.

I have to agree with the people mentioning Python.  There's actually two
implementations of the language, one in C and one in Java.  The Java one
has the added bonus of making the integration between Python and Java
seamless, ie if you want to use a Java object/library/etc you treat it
like a Python one and just go for it.  CPython involves a bit of
wrapping first which can be time-consuming (though there's tools like
SWIG to cut that time down).  Another one to look at is rep, its a
subset of lisp, and has similar features to CPython in the way of
extensibility.  Sawfish, the GNOME WM, is written in rep.  The other
thing about both rep and Python is they can be embedded - so you can
write your MUD in C/C++ for speed/size/control and provide a programming
interface for the users in Python or rep :)

Anyway, I think I've rambled on more than enough.  Have fun!

[1] http://www.catseye.mb.ca/esoteric/bf/index.html
    http://david.student.utwente.nl/BrainOS/brainos.html

-- 
Matt




More information about the linux mailing list