>>>>> "Mike" == Mike Bresnahan <mike at fruitioninc.com> writes:

    >> Supposedly with lower level languages you buy better run time with a
    >> big expenditure of more programmer time; but by and large I don't see
    >> the payoff as being worth it.  YMMV, but for anything other than
    >> hard-core systems programming (including developing inner-loop
    >> libraries), C, C++, and even Java (although it's certainly easier than
    >> the first two) seem really masochistic.

    Mike> I guess I find it, well WEIRD, that you would consider Java
    Mike> as a low-level systems programming language.  To me it is a
    Mike> very high level language.  It runs on top of a virtual
    Mike> machine and you have zero direct access to the hardware.  It
    Mike> has feature-full runtime metadata system, dynamic code
    Mike> swapping/generation/instrumentation, and garbage collection.
    Mike> Plus it has a whole host of IDEs offering GUI painters, code
    Mike> generation, documentation, profiling, and refactoring tools.
    Mike> In fact, it is plain terrible at systems programming.  It's
    Mike> difficult to do things as simple as process control or
    Mike> determine if a file is executable.

    Mike> Perhaps my viewpoint is different because I programmed in C
    Mike> and C++ for several years before using Java.

Chacun a son gout.  Here's someone's inflammatory assessment of Java.
If it doesn't match your experience, feel free to ignore it.  But it's
a good rant:

"Object-oriented programming generates a lot of what looks like
work. Back in the days of fanfold, there was a type of programmer who
would only put five or ten lines of code on a page, preceded by twenty
lines of elaborately formatted comments. Object-oriented programming
is like crack for these people: it lets you incorporate all this
scaffolding right into your source code. Something that a Lisp hacker
might handle by pushing a symbol onto a list becomes a whole file of
classes and methods. So it is a good tool if you want to convince
yourself, or someone else, that you are doing a lot of work." ---
http://www.paulgraham.com/noop.html

Every time I think about using Java, I am astounded by what a blizzard
of objects I have to grapple with to do what seems to me to be the
simplest thing.  For example, the difference between what it takes to
get something displayed on the screen in Java + Swing and perl + tk,
or tcl/tk.  For example, the test scroll pane thing, draws a picture
and lets you scroll over it, which I opened at random to in a Swing
book, consumes about 30 lines.  That's approximately as much as is
consumed by a sample graph editor (micro-Visio) in Ousterhout's Tcl
book.  And you just let the wish interpreter have at it, modding it as
you go.  No heavy lifting with the IDE, the editor, etc.  Tcl isn't
really to my taste, but that's a pretty good example of what I mean by
a high-level languge.




_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
Help beta test TCLUG's potential new home: http://plone.mn-linux.org
Got pictures for TCLUG? Beta test http://plone.mn-linux.org/gallery
tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list