CS191 16 04 01
Zhu, Justin

CS191 16 04 01
Wed, Apr 10, 2019


Reflecting on Fred Brooks’s history

Aiken was a visionary, seeing computer for business process, a dominant figure who was 6’3”, had sparky eyebrows and was fierce. Relay machine, magnetic drum machine, very interesting time to be in Harvard.

404 Test, that says how many kids you have. If nobody pushes the button, you get a come back later message. The world had changed dramatically. People read Dijkstra. New programmers are most concerned about working code.

Domineering Manager is not a good manager. You want your people to feel fun to come to work everyday. The key difference is the attitude of the manager towards the people.

Reflecting on Liskov’s history

FORTRAN manual, and then transferred to Harvard to maintaining. What that meant was that millions of dollars spent on a system that we did not know, Dijkstra. How do you organize them for modules and control? We have a description but no ideas what those modules were. You can think about the specification and there could be a hidden implementation, often times, this was not enough. How can we make programs so that people made sense of them. Abstract the modularity, left MIT as a faculty member due to hiring in general. SLP invited to MIT, first woman in EE and CS faculty. FORTRAN and LISP for 6 months, what is data abstraction?

How can we develop software and maintain complexity, academic environment made this possible? It wasn’t something that a manager can forsee. IBM could not foresee this occurrence. Data abstraction floating in these early papers. By that time, there’s a variety of papers that were already self-taught. Monolithic, undifferentiated maths. You could not solve chess by search, a real AI thesis.

Microcode and instruction set, Dijkstra’s is an abstract data type. Linked abstraction to modularity, a prickly person. 1990 had an anniversary of where the computer science department formed there. Take all the courses they could, and you want to have the basic knowledge that allows you to move around. A real solid basis, management and MIT, a number of reunions. What’s interesting is that most people did not do what they do. What happens is that you go through and do the stuff that you find the most rewarding. A complete history of the field, you have to do ALOT of readings, some readings are crap. The stuff they don’t talk about, a question they should ask. It’s not necessarily a waste of time, focus on what you.

Miguel Castro Byzantine Fault Tolerance, the state continues to be correct even if f of those computers fail in a Byzantine way. Practical Byzantine fault tolerance, Miguel finished this in 2001 and 2002. f = 2 or 3, and 6 years later, the Nakamura paper came out on bitcoin, weird fault tolerance. This is completely separate from whether blockchain was useful or not.

Python does not have encapsulation, needed for modularity. Cater to the programming language, put in features without any control. The weakest person on the team determines the quality of the code. The emphasis is often the modularity and if people have an idea of speed, obstruction, when computers were slow. A good compiler can do a lot of stuff for you, calling a method can do that.

Corbato 1962

Backus said that using time sharing would allow a bigger computer to be used into several smaller computers where there would be a reading station for each user.

Hopper and Backus agree that Hopper thinks more about business applications while Backus thinks more about scientific users. The Compatible Time-Sharing System was supplanted at MIT by MULTICS system, forming the basis of the UNIX operating system.

A nice man originally from Cal. In the data, he was there to run their computing standard, it was McCarthy who originally talked about time sharing. However, McCarthy told Corbano to just do it and Corbano did it.

Metcalfe 1983

Time sharing is antiquated, according to Lewis.

Multiprogramming is oriented towards hardware efficiency in order to utilize all components. Complexity has increased due to interests in larger and faster computers, leading to more programming errors and longer periods required for debugging.

A lacking of sophisticated queries can lead to slow man-computer interaction rates with bigger, more advanced computers. The rate changes little over time.

Linux has some interesting developments as well. Overall Ethernet is a pretty important concept that allows us to better document what we need.