Interface (object oriented programming)

He was one of the hippies/hackers/artists in computing before the military/corporate “computer engineers” took over the professional ideology. The irony is that nothing less than JAVA took over and reshaped OOP principles and practices in this new cultural environment. Another irony is that in the '70s and '80s, real engineers were working with computers, which changed a lot in what today is ‘computer science’. Jay Sussman talked about it when someone asked why MIT abandoned Scheme and adopted Python, also changing the entire curriculum.

EDIT: Probably the words ‘engineer’ and ‘scientist’ have different connotations in US academia than elsewhere, I apologize if it sounded weird. To give a counter-example, in Brazil, the title “Engineer” is regulated by the state through the Ministry of Education and other civil organizations, and that means that some universities offer bachelor’s degrees in “computer engineering” and “computer science”. That was the case in my first university, one of the leading ones in the country and always mentioned among those international ‘rankings’. They adopted the “middle” way there. The difference is basically that “engineering” needs to meet a series of requirements, such as more advanced calculus (BTW how strict is the training for CS undergrads in the USA? They go all the way deep into the good engineering and math stuff?), and many other things, so in a way both models were coexisting and mixed there.