Gabriel Sechan wrote:
From: Stewart Stremler <[EMAIL PROTECTED]>
begin quoting Gabriel Sechan as of Tue, Aug 22, 2006 at 05:36:16PM
-0500:
[snip]
> Bullshit. High level languages don't simplify code, they complicate
it.
> Inheretence, exceptions, templating, etc are all far more
complicated to
> understand than simple procedural code.
I'm getting the impression that you might think that C++ is a high-level
language. If that's the case... it ain't.
Yes, it is. So is C, for that matter. Anything above assembly is a
high level language. The correct term for Java, Python, and its ilk is
"4GL"- fourth generation language.
Tell you what, show me this mythical word processor and mp3 player that
you have on the P2 box which all work perfectly well and are written in
assembler, and I'll cede your point. ;-)
The implication here is that you are arguing that desktop applications
would have fewer problems and consume fewer resources if they were
written in assembler. It's been a long time since I've seen such an app,
but I can assure you that modern apps crush it both in terms of
functionality that I actually use and stability. The assembly apps
certainly did use fewer hardware resources, but I'd seriously doubt that
would be the case if the assembly app even implemented the features that
a fairly inept end user such as myself used.
To paraphrase Mr. Greenspun: Any sufficiently complicated assembly
program contains an ad-hoc, informally-specified bug-ridden slow
implementation of half of Common Lisp. ;-)
As for 4GL.... I don't think the term means what you think it means.
4GL's are domain specific languages, which most definitely does not
include Java, Python, and its ilk. They are generally data-oriented
languages designed for manipulating databases or more generally datasets
(and the good ones are head and shoulders more developer efficient than
assembly for the kinds of specific problems they were designed to
tackle). I point you to the Wikipedia entry for a more detailed explanation:
http://en.wikipedia.org/w/index.php?title=4GL
C++ is a perfectly fine example of a high level language.
If you are going to insist on using C++ as your straw man, there is
little point in discussing this further, as you are engaging is not a
practical argument, but rather a semantic one, comparing your personal
dictionary with that of the world at large.
I can't imagine a sane person who would try to represent C++ as
exemplary of any of the principles that people have been talking about
in this thread. It is, by all accounts, a very complex and error prone
language, far more so than any of the examples that people have been
foisting on to this list (well, I might make an exception for Perl ;-).
Perhaps it'd be helpful to rephrase the argument then: if higher levels
of abstraction are the cause of the problem, not only would C++ be worse
than assembler, but Java, Python and their ilk would be worse than C++
(and so far worse than assembler). If the only straw man you can shut
down is C++, there would seem to be a flaw in your generalization.
As for the OO snipe- face it pure OO languages lost for a reason-
> OO just isn't that useful.
A verdict fully supported by the fact that OO languages and OOP have
largely been abandoned.... oh wait.
The reality is that OO was not the silver bullet everyone claimed.
Silver bullet's are never the silver bullet that "everyone" (for all
definitions of "everyone" which are actually a small group of technology
advocates) claims. I can quite comfortably say that assembler is not the
silver bullet you seem to be claiming it is.
It has its uses, but 99% of the benefit came from encapsulation-
> something good designers were doing a decade before OOP.
This is precisely what the advocates of OOP were advocating, and the
advocates of OOP *languages* were advocating that using their languages
integrated common encapsulation techniques, thereby making encapsulation
more accessible to developers, and in doing so improving the efficiency
of good developers. I'd argue they were right in these regards, the
snake oil was the notion that this would somehow turn bad programmers in
to good ones (which interestingly was primarily claimed by salesman ;-).
--Chris
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg