Sujet : Re: TeX and Pascal [was Re: The joy of FORTRAN]
De : commodorejohn (at) *nospam* gmail.com (John Ames)
Groupes : alt.folklore.computers comp.os.linux.miscDate : 30. Sep 2024, 21:52:08
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <20240930135208.00004170@gmail.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Claws Mail 4.2.0 (GTK 3.24.38; x86_64-w64-mingw32)
On 30 Sep 2024 19:32:56 GMT
ram@zedat.fu-berlin.de (Stefan Ram) wrote:
John Ames <commodorejohn@gmail.com> wrote or quoted:
This bears repeating. As someone whose initial exposure to OOP
concepts was via C++ (and then Java,) I spent *years* never
understanding what the appeal was. Wasn't until I encountered
Smalltalk, way on down the line, that I finally *got* it.
Can you explain what the that appeal was?
I must confess that I haven't made enough use of it myself to say how
well it holds up in real-world usage (it certainly has its proponents,
but so does basically anything,) but ST at its core* has a beautifully
consistent, coherent approach to OOP design compared to C++ (where the
OOP elements are clearly a bolt-on to something else which never feels
entirely natural or particularly necessary - how many C++ programs are
really just C programs with a different file extension, or at best use
iostream because it's easier than reconfiguring printf format strings
every time you change what debug info you're logging to stderr?)
* (I say this because it seems to have accreted a substantial layer of
other-stuff - ST people are really, really into model-view-controller
design, f'rexample, and the GUI has evolved on a parallel track to
basically everything else in the world since the '70s, so it's not
terribly intuitive for anybody accustomed to Mac/Windows/X/* - that
may or may not be a natural fit with its way of doing things, but
isn't strictly essential to what I'm describing.)
With ST, it's "objects all the way down" (at least 'til you hit that
magic ignore-the-man-behind-the-curtain barrier that every HLL has at
some point, which is still admirably low compared to most "friendly"
languages,) and the underlying design makes it possible to examine and
modify even a substantial portion of the runtime itself.
This gives it a kind of self-similar quality that reminds me of Lisp -
nothing is magic, even the "magic" bits (the primitives generally have
a "reference" version in pure ST, when possible,) and everything's made
from the same kind of stuff. That's what I find appealing about it; I
haven't worked with it enough to say whether it's truly *useful,* but
in its own way it *is* beautiful.