Choosing a PL - What you can do or how you do it?
- From: evan@xxxxxxxxxxxxxxxxx
- Date: Fri, 27 Jul 2007 19:38:56 -0000
The title may be unclear. When choosing a programming language, I
think there are two, perhaps, mutually exclusive options, namely a) PL
that enables you to do whatever you want to do, but not necessarily
the way you (or your friends) would like to do it; and b) PL enables
you to do things the way you (and your friends) like, but not
everything you (and your friends) want/need to do. For example, I
think it's generally agreed that with C/C++ one can pretty much do
anything in the world one could think of with a computer program -
including meeting real-world practical criterion, such as real-time
speed. On the other hand, more elegant/academic languages, such as
Haskell/Lisp, may be preferred by some for how they let you do things
(and express "personality" in doing those things) - even though these
languages may not be able to do all the things that one may need to do
in the real world.
The reason I bring this up, is because I have been sort of on a "meta-
learning" quest to grok Haskell. From everything I read on the web and
in textbooks, Haskell does emphatically impress the geeky/academic
side of myself that would like to use the language for everything.
However, there are some things, for example real-time image
processing, that I think Haskell simply won't be able to do - that is
without interfacing an "uglier" low-level language. I may be wrong -
and please let me know if I am (I'd be happy to be wrong) - but from
all my reading on Haskell, I started to feel more sympathy for C/C++,
especially when one is almost invariably faced with needing to use the
FFI for some really hard problem that Haskell can't handle. On the one
hand, it is all well and good to sing the praises of languages like
Haskell, and it's FP brethren, but on the other hand - why do
necessary languages like C/C++ get such a bad rap, when it is pretty
clear we can't actually live without them? Now, if Haskell could do
all the things that C can do - including meeting performance
requirements - then I would be fully converted. Right now, I'm still
sort of on the fence - and quite a bit skeptical. Thoughts, anyone?
.
- Follow-Ups:
- Re: Choosing a PL - What you can do or how you do it?
- From: August Karlstrom
- Re: Choosing a PL - What you can do or how you do it?
- From: Chris Barts
- Re: Choosing a PL - What you can do or how you do it?
- From: ajk
- Re: Choosing a PL - What you can do or how you do it?
- Prev by Date: Re: How to verify the path of an open file.
- Next by Date: Multiple #defines in WinError.h
- Previous by thread: How to verify the path of an open file.
- Next by thread: Re: Choosing a PL - What you can do or how you do it?
- Index(es):
Relevant Pages
|