Re: Closures versus objects
Robbert Haarman <[email protected]>
| Newsgroups | gmane.comp.lang.lightweight |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Feb 15, 2007 at 10:39:14PM +0100, Pascal Costanza wrote: > > As soon as your language is Turing-complete, anything you add is > redundant. Language features are always only about convenience. I contest that. In a theoretical world where only programs and/or values exist, any Turing-complete language may be equivalent to any other Turing-complete language. However, in a practical world, where things besides programs and values exist, there are real differences in what languages can and can't do which have nothing to do with Turing-completeness. For example, to drive the PC's floppy drive controller, you need access to I/O ports. If your language does not provide such access, you can't drive the FDC from that language, whether the language is Turing-complete or not. Even when language features are only about convenience (which I believe is the case with closures vs. objects), they make a difference. For example, I think available language features have a great influence of what programming paradigms will be common. I also think most people on this list will agree with me that different paradigms are suitable for different problems. This means that languages in which certain paradigms cannot be expressed elegantly cannot be used to solve certain problems elegantly. This can have very real implications, such as these problems not being solved or the programs that purport to solve them being unreliable. To put the above more bluntly and concisely: I think Turing-completeness is overrated, and that designing a language so that only one or a few paradigms can be elegantly expressed in it is a mistake. Regards, Bob -- That that is is that that is not not, that is, not that that is not.
signature.asc
(application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFF1O6Lfb9wcmD+WN4RAksBAKCs7celALHKE37xyVJl/cBYlKqi6wCcD8Y3 kltPkj9NzTpzHqlAXUSycRk= =ClAu -----END PGP SIGNATURE-----