Exploring the philosophy of objects
Ola Fosheim Grøstad
ola.fosheim.grostad at gmail.com
Mon Jun 27 12:18:10 UTC 2022
On Monday, 27 June 2022 at 01:35:59 UTC, forkit wrote:
> I don't think it's unreasonable, for me to assert, that
> flexibiltiy does not exactly encourage 'structured design'.
Well, max implementation flexibility is essentially machine
language. The 68000 instruction set is surprisingly pleasant. You
can invent your own mechanisms that can make some tasks easier…
but a nightmare for others to read.
The more flexibility, the more chaos programmers will produce.
You see this in JavaScript, TypeScript code tends to be much more
structured. You see this in D code bases that allow string mixins
too.
> To do structured design in D, you have to make the conscious
> 'effort', to not accept the defaults.
I don't think the defaults matter much.
> btw. Here's a great talk on 'A philosophy of software design',
> by John Ousterhout, Professor of Computer Science at Stanford
> University.
>
> The talk is more or less based on the question he asks the
> audience at the start of this talk.
>
> Having not studied computer science (I did psychology), I was
> surprised when he mentioned 'we just don't teach this' :-(
Too long… Are you suggesting that he said that they don't teach
OO? OO is more tied to modelling/systems development than strict
Computer Science though. Computer Science is a «messy» branch of
discrete mathematics that is more theoretical than practical, but
still aims to enable useful theory, e.g. algorithms. In Europe
the broader umbrella term is «Informatics» which covers more
applied fields as well as «Computer Science».
More information about the Digitalmars-d
mailing list