Hoi.
[2022-02-02 21:47] Rich Morin <rdm(a)cfcl.com>
In any case, the K&P book I'd _really_ like to see brought up
to date is "The Elements of Programming Style". It could have
been subtitled "How to write small, simple programs that work."
It's still a very fine book, but I'm not sure that the current
crop of beginning programmers would be patient enough to deal
with the sadly dated example code.
Don't you think that ``The Practice of Programming'' is the modern
version of ``The Elements of Programming Style''? (Also a K&P book,
btw. ;-) ) (Of course, the C++ and Java code in there would be
seen as outdated as well, by now.)
But even this one, today's programmers don't wanna read. They all
go for ``Clean Code'', because they seem to like the style where
someone with perfect selfconfidence answers all their questions
and tells them what to do, as long it is not telling them to think
for themselves and compromise between various conflicting goals
that you all like go reach and thus that it depends on the
specific situation.
The problem IMO is not some dated example code but today's
programmers having few interest in learning things outside their
main modern focus and the style the're used to. They usually think
that running fast is the best way moving forward, but they don't
realize that slowing down, looking around, understanding the paths
that lead us where we are and taking time to learn and think,
isn't as slow as they might expect and eventually leads to better
results.
Being used to reading code and understanding concepts that are not
fully in the style you're used to and transferring them to one's
own world actually is a valuable ability, that people should train
instead of avoid. Thus especially students should do read that good
old ``Elements of Programming Style'' and discuss that, not a new
book.
Overall I don't really think that there's much hope in getting
programmers to read such stuff, because they simply don't want to.
Many don't care for good code, because they don't think in code
lifespans of more than three to five years. They don't care to
understand what they do and how the internals work, because that's
hard work without instant results. And in today's world it's
usually pays out to not do it. They don't care for simplicity but
they want features and nice GUIs. Besides, they use technologies
that favor huge programs and often are poorly suited for programming
with small programs. Likewise, their whole thinking is focussed on
large programs, because that's what they've been taught the whole
time.
What attracts them more and probably is more helpful is something
like Go, which solves their problems. They don't use it because of
conceptional beauty but because of its features. If you want to
attract the masses, then you have to give them solutions to their
problems and their wishes, not trying to educate them. ;-) To
really step forward with the Unix philosophy Go needs to enter
education and become today's Java as a main programming learning
language.
And for those, who are different, it doesn't matter so much how
dated the examples are. It's the ideas and concepts which attract
them. With Go there is a very modern technology, for beginners and
experts alike, that carries Unix concepts and its way of thinking
and decision making throughout. That probably is much more
effective than any book. Besides, there are lots of Youtube videos
around Go which transport the ideas and concepts, which as well are
probably much more effective today than books.
Anyone on this list, on the other hand, will probably be very happy
in reading on of these old books (again) ... and have a great time!
:-)
meillo
P.S.
Thanks for sharing your bwk stories!