Re: Choosing a PL - What you can do or how you do it?



August Karlstrom <fusionfive@xxxxxxxxx> wrote on Monday 30 July 2007 16:43
in comp.programming <QQtri.5128$ZA.2230@xxxxxxxxxxxxxxx>:

evan@xxxxxxxxxxxxxxxxx skrev:
[...]
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?

Well, in fact there are saner alternatives to C and C++. Oberon, for
instance, is a completely type safe procedural language with OOP support.

Oh yes, Pascal without the real-world uptake or usage. The Algol Type System
From Hell and no support for meta-programming or type inferencing.


http://www.zel.org/oberon/fromctoo.htm
http://www.modulaware.com/mdltws.htm
http://www.modulaware.com/mdlt49.htm

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?

To cite Niklaus Wirth regarding functional languages:

If he really said that, he's a moron.


"To postulate a state-less model of computation on top of a machinery
whose most eminent characteristic is state, seems to be an odd idea, to
say the least.

Not if you want parallelism with code humans can still read.

The gap between model and machinery is wide, and
therefore costly to bridge. No hardware support feature can wash this
fact aside: It remains a bad idea for practice.

Google and their MapReduce model beg to differ.

From Google, a company with real-world experience developing real systems,
as opposed to academic experience developing toys:

"Programs written in this functional style are automatically parallelized
and executed on a large cluster of commodity machines. The run-time system
takes care of the details of partitioning the input data, scheduling the
program's execution across a set of machines, handling machine failures,
and managing the required inter-machine communication. This allows
programmers without any experience with parallel and distributed systems to
easily utilize the resources of a large distributed system."

<http://labs.google.com/papers/mapreduce.html>

This has in due time
also been recognized by the protagonists of functional languages. They
have introduced state (and variables) in various tricky ways. The purely
functional character has thereby been compromised and sacrificed. The
old terminology has become deceiving."

Utter nonsense.


http://www.cs.inf.ethz.ch/~wirth/Articles/GoodIdeas_origFig.pdf


August

--
My address happens to be com (dot) gmail (at) usenet (plus) chbarts,
wardsback and translated.
It's in my header if you need a spoiler.

.



Relevant Pages

  • Re: Interesting bug
    ... >which the C64 derived). ... >So structured BASIC existed on the C64 or similar machines. ... the possibility of implementing structured programming languages on such ... Merely the practicality of having such implementations in the ...
    (comp.lang.c)
  • Re: A 21st Century Apple II?
    ... It's certainly a benefit of resource constrained machines that quality ... when you consider total cost. ... It's also responsible for popularising many of the architectural ... since languages in popular use prior to that lacked ...
    (comp.sys.apple2)
  • Re: suggest a new Star Trek TV show
    ... affected certain key alloys and made certain kinds of machines used by ... From a transporter pad to another pad, ... The Universal Translator is really good at languages that have already ... The Starship Enterprise leaves Earth to discover what's happened to the ...
    (rec.arts.sf.tv)
  • Re: whats it worth to write a short program for polynomial multiplication?
    ... compile time, it is likely that the user will have to ... Most OO programming languages work that way. ... will also work on the POWER machines and related one. ...
    (sci.math.symbolic)
  • Re: Challenge for lisp lovers....
    ... representation of numbers a particular language implementation uses. ... I do care about other languages. ... Lisp Machines were almost tied to a single ...
    (comp.lang.lisp)