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