The worst advice I was ever given by a professor is that Gang of Four is the only programming book worth reading. After that, its just a matter of practice 🙃

he is one of the founders of bandcamp, actually. they were just starting it at the time, and then it blew up, so ofc I took his advice seriously.

same guy who was adamant that C and C++ are the only serious programming languages, which I took as a simple fact until ~7 years ago, unfortunately.

once he threw a house party, and there was a half-finished bowl of Fruity Loops in his bathroom on the toilet mantel.

@rml

> same guy who was adamant that C and C++ are the only serious programming languages,

The error is thinking that there can be only one programming language. Obviously, it is better reducing the number of PL and paradigms, but one is not the optimal 🙂

There are successful commercial software analysis tools written in Prolog. Many theorem provers are written in FP languages. Many workflow jobs that run on the cloud are written in Go. Rust is used for multithreading code with manual memory. Ada and Spark are used in operational software where there must be some proofs. Erlang is used for distributed services. Etc...

These are serious systems, used in production. If you try to rewrite them in C++, probably you will fail, because the task is enormous without using the proper PL for the specific domain.

@ramin_hal9001@emacs.ch

@mzan @rml @ramin_hal9001

> The error is thinking that there can be only one programming language.

There can, but it's definitely not C++; despite attempts of the committee to ape from every language in existence.
Follow

@hayley

you can use one PL, but not one paradigm and not one run-time. At a certain point you had to introduce Actor semantic if you want to manage complex distributed systems, or logical programming if you want to specify complex business rules, and so on. In the end you have many PL paradigms, using more or less the same syntax. It is the Common Lisp approach.

@ramin_hal9001@emacs.ch @rml

@mzan
are you saying that Basically The Good Algorithm Here mostly has one, or a few quite analogous approaches to implementation? But I'm supportive of DSLs and the MOP in common lisp. Or [I forgot the punny name of Kiczalez' implementation of MOP for schemes] for rml and ramin
@hayley @ramin_hal9001 @rml

@zardoz03 @screwtape @mzan @hayley @ramin_hal9001 theres tinyCLOS, GOOPs in guile, chez has a minimal object system which I believe is integrated into its record layer providing interesting properties, i think chicken has ''coops" or something like that, and AFAIK #gauche has the most slickest object system of any scheme today which the record system is implemented in

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.