November 16, 2017
On Thursday, 16 November 2017 at 22:27:58 UTC, sarn wrote:
> In the 90s (and a bit into the 00s) there was a pretty extreme "everything must be an object; OO is the solution to everything" movement in the industry.

Yes, around 1991, the computer mags were all over C++ and the bookshelves in the programming section of book stores too…

> Look around most programming languages today and you'll see objects, so in that sense OOP never failed.  What failed was the hype train.  It's no different from most other tech fads (except XML has declined drastically since the hype passed).

*nods* I recall Kristen Nygaard (driving force behind OO and Simula) being sceptical of some of the drive away from OO modelling and towards OO-everything in the mid 90s. However in Scandinavia I think the focus was predominantly on supporting modelling. OOP is a way to support the model. I never heard any of the people behind OO suggest anything more than that OO was one paradigm among many. Nygaard also believed that OO modelling would be useful outside programming, as a mode-of-thinking when doing analysis, for instance in government.

Of course there are plenty of pure OO languages that also are interesting in their own right: Smalltalk, Beta, gBeta, Self, and in online text games Moo. Javascript could have made it onto that list too, if it had been given a more suitable syntax and slightly different semantics.

November 17, 2017
On Thursday, 16 November 2017 at 11:52:45 UTC, Ola Fosheim Grostad wrote:
>
> Uhm, no? What do you mean by 'primary focus of program design' and in which context?
>

I the context that, this is specifically what Stroustrup says in his book (The Design and Evolution of C++ 1994)

"Simula's class concept was seen as the key difference, and ever since I have seen classes as the proper primary focus of program design." (chp1, page 20).

Freud would tell us, that Stroustups obssesion with Simula, is where it all began.

Stroustrup also wrote this paper in 1995 (due to all the hype of OO in the 90's), where again, he highlights how classes (and there derivatives) are his primary focus of program design:

http://www.stroustrup.com/oopsla.pdf

November 17, 2017
On Friday, 17 November 2017 at 00:36:21 UTC, codephantom wrote:
> On Thursday, 16 November 2017 at 11:52:45 UTC, Ola Fosheim Grostad wrote:
>>
>> Uhm, no? What do you mean by 'primary focus of program design' and in which context?
>>
>
> I the context that, this is specifically what Stroustrup says in his book (The Design and Evolution of C++ 1994)
>
> "Simula's class concept was seen as the key difference, and ever since I have seen classes as the proper primary focus of program design." (chp1, page 20)

Yes, that is reasonable, it is very useful when made available in a generic form. I believe Simula was used in teaching at his university.

A class in Simula is essentially a record, library scope, block-scope, coroutines, with inheritance and virtual functions, implemented as a closure where the body acts as an extensible constructor. So it is a foundational primitive. Nygaard and Dahl got the Turing award for their work. Ole-Johan Dahl was also a coauthor of an influental book on structured programming which had a chapter on it IIRC. Nygaard and others in Denmark later in the 70s and 80s refined the class concept into a unifying concept that was essentially the only primary building block in Beta (called pattern, which allows functions to be extended using inheritance, instantiation of objects from virtual patterns, type variables as members etc).

So Beta establish that you don't need other structural mechanisms than a powerful class concept + tuples for parameters.

Self establish the same with objects.

> Freud would tell us, that Stroustups obssesion with Simula, is where it all began.

Anyone that cares already know that Simula was an ancestor for C++, Smalltalk, Java and many other OO languages... But Stroustrup wasn't obsessed by Simula, if he was he would have added things like coroutines, local functions, used the class as a module scope etc. He also would have avoided multiple inheritance.

November 22, 2017
Also http://ithare.com/chapter-vb-modular-architecture-client-side-programming-languages-for-games-including-resilience-to-reverse-engineering-and-portability/ scroll to the part about language choice.
1 2 3 4
Next ›   Last »