UT Lisp Users Group?
Levi Pearson
levi at cold.org
Wed Jul 13 16:02:42 MDT 2005
On Jul 13, 2005, at 3:02 PM, Stuart Jansen wrote:
>
> C++ : Object oriented. Messier than Java. No big deal.
>
C++ is more of a multi-paradigm language than a pure object-oriented
one. It's got some extremely powerful features, but is very
complicated. I wouldn't call it no big deal, but it wouldn't be my
first choice for most things. It'd be hard to judge any particular
skill set from a C++ ad, and it might be difficult to find a group of
C++ programmers that actually know the same subsets/paradigms of the
language.
> PL/SQL : Procedural. The only really interesting part is the
> declarative
> SQL. Not very indicative.
>
> asm : Procedural. At best. But at least they know what all the Java is
> doing deep underneath.
>
Only if you describe 'procedural' very loosely. Of course, there are
a lot of things you can do easily in asm that are very difficult to
do in a strictly procedural language.
> Fortran : /me shivers
>
Still one of the fastest languages out there for numerical
processing, and widely used in the high performance computing world.
If you need to do distributed number crunching, a Fortran/MPI guy
might be good to look for.
> Smalltalk : Not widely used outside academia. Probably have a better
> background in theory.
>
Smalltalk is what Object Oriented Programming was supposed to look
like, more or less, and was created largely by the guy who coined the
term. I don't think it's particularly widely used in academia any
more, either, but it's a very nice language and it and its
descendants have spawned a LOT of cool technology that's used in
common dynamic languages today.
Smalltalk is also full of the sort of higher-order programming that
you can do in functional languages, and so skilled Smalltalk
programmers are going to have a different way of thinking about
problems than Java programmers.
> Perl : Procedural/object oriented/functional/crazy powerful regex/
> scary.
> Depending on how much they know, could be indicative of a skilled
> programmer. Alternatively, if they say they know just enough to know
> better than to use perl, that's also a good sign. ;-)
>
You can program Perl like C, or you can program it like Lisp (or so
I've heard). It doesn't force much of anything on you aside from
learning its myriad implicit semantic details and complicated syntax,
and just about everyone's dabbled in it at one point or another, so
it's hard to say much about someone just from perl experience.
> Lisp: Functional. Very different from Java. Even if you don't use it
> regularly, learning to think in a lispy manner will make you a better
> programmer..
Depending on the Lisp, it can be more or less functional. It's got
side-effect functions, destructive functions, etc. so no Lisp I'm
aware of is purely functional. Common Lisp has iteration constructs
and such that the more-pure Scheme doesn't. It's also used more
these days than most people are aware, though it's still a minor
player. A seasoned Lisper will have a very different way of
approaching problems than that of most other language users.
Metaprogramming-- extending the language to meet your problem
domain-- is very common in Lisp.
>
> So no, not all languages are equal.
>
Don't forget purely functional languages, like Haskell, Erlang,
etc. Or Prolog.
--Levi
More information about the PLUG
mailing list