Expressive programming language? Was: [Gllug] Speaker Suggestion

Richard Jones rich at annexia.org
Thu Jan 8 17:56:23 UTC 2004


I love a good flamewar in the morning ... erm evening.  Whatever :-)

Objective CAML - currently doing everything in this language.  It's
strongly typed, but in a good way, not a bad way like Java/C++.
That's because, as with other languages in the ML & Haskell families,
it uses a technique called "type inference" which works out types of
things for you.  You never (at least very very rarely) need to write a
type declaration for anything.  It also has all the other features of
Lisp-class languages, eg. real garbage collection, real macros (not C
macros), OO, data structure matching, labelled arguments to functions,
closures.  Did I mention it also compiles to very very fast code
(faster than C in many cases)?  Also you can call Perl functions and
libraries directly, so it's got the whole of CPAN available to make up
for its own rather small library.  Plus programs work transparently
across Unix, Mac OS X, old Mac OS and Windows from the same source
code.  Nice!

Perl - everything which I don't do in OCaml, I do in Perl.  This is
mainly because my Merjis colleagues are dyed in the wool Perl
programmers.  Perl is also a very good language, once you get to know
it.

Python - I'm sure I'd love this language if I could only get over the
syntax.  As with Perl, it's a shame it doesn't have proper garbage
collection.

Lisp - I'd like to love Lisp, and even invested a lot of time learning
and using Common Lisp.  But OCaml just does things better, and has a
much nicer syntax.  (Note to Lisp advocates: you don't need to use
(all (those (brackets))) just so you can do macros.  Proof of this is
CamlP4, the OCaml macro system).

Java - words cannot describe how much I dislike this language, after
I had to spend about 6 months writing web server apps in J2EE.  Ugly,
slow, bloated, featureless.  Let's just leave it at that.

C++ - a few years ago I used to work at a company which did everything
in C++.  After spending hours and hours debugging segfaults,
untangling mazes of templates, and getting everything to run on both
gcc and VC++, I gave up with it.  Horrible, overcomplex, underpowered,
bloated.

C - you might think I wouldn't like C, but I do.  Once you add a few
libraries, you can actually do very nice things with it.  I consider
my webserver (rws) which fits in the L1 cache on most modern
processors, to be very elegant indeed.

Rich.

-- 
Richard Jones. http://www.annexia.org/ http://freshmeat.net/users/rwmj
Merjis Ltd. http://www.merjis.com/ - improving website return on investment
MOD_CAML lets you run type-safe Objective CAML programs inside the Apache
webserver. http://www.merjis.com/developers/mod_caml/
-- 
Gllug mailing list  -  Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug




More information about the GLLUG mailing list