Live data from Hacker News

John Ousterhout: My favorite sayings

web.stanford.edu

31–40 of 66 posts

Re: John Ousterhout: My favorite sayings

#31
post #8

His book a philosophy of software design is an excellent read.

Link: https://www.amazon.com/Philosophy-Software-Design-John-Ouste... Looks like it was just released!

Salvatore 'antirez' seems to think pretty highly of the book too; got a copy on his recommendation and am just starting to read it.

Re: John Ousterhout: My favorite sayings

#32
post #18

>Programmers tend to worry too much and too soon about performance. Many college-level Computer Science classes focus on fancy algorithms to improve performance, but in real life performance rarely matters . Stopped reading there. A great plague of modern software development is a complete disregard for performance or resource conservation.

The problem is not this advice, but that people tend to stop reading (or remembering) there. It's misapplied or misunderstood so often that I wonder if it shouldn't be promulgated. Today something like this may be more appropriate: "You should pay attention to performance, but your algorithms probably won't be the problem. It's more likely you're doing something stupid or wasteful, probably with the help of your tech…

>The problem is not this advice, but that people tend to stop reading (or remembering) there. It's misapplied or misunderstood so often that I wonder if it shouldn't be promulgated.

That's EXACTLY my problem whenever I hear this or similar advice. It's exactly what I think when I hear people (mis)quote Knuth by mindlessly parroting the old adage (optimization is the root of all evil). Too many people interpret this as a licence to waste resources and bloat your program with reckless abandon to an egregious degree, that I too think people should probably not say spread stuff like this.

Re: John Ousterhout: My favorite sayings

#33

Earlier quoted context omitted.

TCL is a great systems programming language. When I need a glue language for an imperative model program it's my first choice.

What Lua is doing today, TCL was doing 20 years ago. Though I believe Lua is a smaller binary, which matters in some embedded scenarios. According to [1], the core Lua interpreter is 40kB with additional base libraries of 22kB, so total of 62kB. There are a variety of "small TCL" implementations [2], and one of them, TinyTCL claims to be excluding C library functions. I can say that for my embedded requirements, Lua…

Interesting. I tried Lua about 6 years ago and found myself unable to see an upside to the language in comparative perspective with python and tcl.

This is for full featured *nix systems programming in the HPC world so ymmv.

Re: John Ousterhout: My favorite sayings

#34
post #9

Side note: Ousterhout was famous for being the author of Tcl/Tk, which was a popular language and GUI toolkit in the early days of Linux (before Qt and GTK came along). I wouldn't be surprised if many older Unixes are still running Tcl/Tk apps.

He also developed an IC design system.

https://en.m.wikipedia.org/wiki/Magic_(software)

Re: John Ousterhout: My favorite sayings

#35

Earlier quoted context omitted.

What Lua is doing today, TCL was doing 20 years ago. Though I believe Lua is a smaller binary, which matters in some embedded scenarios. According to [1], the core Lua interpreter is 40kB with additional base libraries of 22kB, so total of 62kB. There are a variety of "small TCL" implementations [2], and one of them, TinyTCL claims to be excluding C library functions. I can say that for my embedded requirements, Lua…

Interesting. I tried Lua about 6 years ago and found myself unable to see an upside to the language in comparative perspective with python and tcl. This is for full featured *nix systems programming in the HPC world so ymmv.

Lua's niche is absolutely as an embedded extension language for C/C++ programs. It's core benefits is how tiny and yet expressive it is (and it looks like C if you squint.) I've seen it show up in a variety of projects in that role, for games or embedded testing environments.

I indeed don't see it having any benefit over Python or TCL in more sophisticated environments.

Re: John Ousterhout: My favorite sayings

#36
post #31
post #8

Earlier quoted context omitted.

Link: https://www.amazon.com/Philosophy-Software-Design-John-Ouste... Looks like it was just released!

Salvatore 'antirez' seems to think pretty highly of the book too; got a copy on his recommendation and am just starting to read it.

For those who haven't seen it:

http://antirez.com/articoli/tclmisunderstood.html

(Ousterhout is the creator of Tcl and both antirez and Richard Hipp of sqlite are Tcl programmers)

Re: John Ousterhout: My favorite sayings

#38

The three most powerful words for building credibility are "I don't know" I had a supervisor once who always had an answer to your question. He was always 100% sure he was right. He was not always right. Consequently, going to him for help would sometimes result in the problem becoming worse. The best supervisor I ever had was the one who routinely told me "I don't know, let me call {PersonInOtherDepartment}" or "See…

I'm always ready to say I don't know. But just to advocate for the opposite -- it is perfectly OK to have an clear opinion, weakly held.

So, say what you think but at the same time ask (demand?) an argument or discussion.

A friend has a T-shirt with the words: Always sure, often wrong.

Also see: https://www.psychologytoday.com/us/blog/work-matters/201002/...

Re: John Ousterhout: My favorite sayings

#39
> The greatest performance improvement of all is when a system goes from not-working to working

Except when speed is part of the definition of working. For example deep learning. The correct implementation was not enough until the hardware was fast enough.

Re: John Ousterhout: My favorite sayings

#40
post #18

>Programmers tend to worry too much and too soon about performance. Many college-level Computer Science classes focus on fancy algorithms to improve performance, but in real life performance rarely matters . Stopped reading there. A great plague of modern software development is a complete disregard for performance or resource conservation.

why do people post this kind of stuff "stopped reading right ....". congrats now we all know you're too arrogant and too impatient to finish a 1000 word essay. don't you realize that dismissing the bulk of the text based on just one comment is ignorant? do you think it matters to anyone what you even think relative to this person? do you think you have some deep insight that others don't (such that they don't already realize that that particular point should be contextualized appropriately). I just don't understand people constantly trying to assert their delusional superiority at every vague opportunity - let me kindly inform you that op posting this wasn't an invitation.
Post reply on HN