languages (links out of here) |
home |
related pages
python |
resource index |
i, and the people i work with (well, some of them) have a soft spot for c. it's not trendy or glamorous, but it gets the job done, and there's something enjoyable about using it. maybe you could compare it to riding a bicycle: you know how all the bits work (even the gears are exposed, you can take them apart if you're curious) and it will get you where you want to go. of course, you can fall off, but you can also travel a lot more cheaply than in a gas-guzzling limo.
what's this got to do with python? well, i feel the same way about python - it's not fast and it's not as trendy as some other languages (although it seems to be generating its own particular buzz), but for some reason it's a pleasure to use. this doesn't mean it's a comparable language to c. it's not - its list of features includes: object-oriented; introspective (you can explore and modify the structure of objects when the program is running); first class functions; closures (lambda functions); a large library (including an interface to tk graphics); built-in support for dictionaries (hash tables), lists and tuples; dynamic typing; interpreted (but partially compiled to byte code at run-time); default arguments.
i guess the comparison with c comes from the simple syntax. unlike perl, the basic language is extremely simple (it appears to have been developed for teaching). also, like c, it has its own particular wrinkles: the garbage collection is simple reference counting (so if you form a loop of self-referential objects they will never be cleared); variable scope is a little unusual (you have global and local scope, but can't see anything in a surrounding "intermediate level" block); and finally (this quickly becomes completely irrelevant) the indentation of code is significant (indentation, rather than {...} bracket pairs identifies subsections of code).
so, if you need a powerful, flexible, "modern" language, ideal for developing code quickly, but capable of supporting a large project if necessary, and are not worried about speed, try python. it is much more than a "glue" language (although, like perl and tcl, it can also be used to join together other programs) and, perhaps most importantly of all, it's a pleasure to use.
oh, and, finally, the newsgroup (comp.lang.python) is surprisingly helpful.
lisp |
resource index |
as i learn more about computing and, especially, more about computer languages, i've come to realise that there is very little that is new. instead, there seem to be a core group of ideas, and different languages implement different subsets.
lisp, despite its age, seems to include a larger selection of features than any other language. rather than forcing you into a certain style, it seems to support whatever you, as a programmer, want to do.
but all this is pure speculation. as i write this i am about to start my first project in lisp. meantime, watch this space and look here for lisp-related info.
elj |
resource index |
one of those sites that is an index to other information, this page is updated daily (usually) and has a good editorial policy (more cerebral than slashdot, less gadget bang-whiz stuff). there's a slant towards eiffel, and oo languages in general.
the main site has a collection of reference links that are also very well chosen. good for a browse.