Live data from Hacker News

Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

infoq.com

21–30 of 104 posts

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#21
post #4

A good talk. Leave it to a lisper though to call testing and type-checking "guardrail programming". Hickey says instead you should reason about your programming without acknowledging that testing and type-checking are ways to have executable documentation of your reasoning about your program. Testing does in fact feedback into complexity - if something is hard to test it may be due to complexity that you realize you…

Yeah. I like tests because they let me export my mental state about a codebase.. and reimport it later. I can get the code back into my head faster.

I use lisp -- and half my code is tests.

http://github.com/akkartik/wart

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#22
post #3

Ugh. Why don't they release the presos as opposed to having to deal with synchronous video?

This was done at Rich's request. I've asked whether we can release them now that the video is available.

Any chance of releasing the videos somewhere that doesn't require Flash?

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#23
post #4

A good talk. Leave it to a lisper though to call testing and type-checking "guardrail programming". Hickey says instead you should reason about your programming without acknowledging that testing and type-checking are ways to have executable documentation of your reasoning about your program. Testing does in fact feedback into complexity - if something is hard to test it may be due to complexity that you realize you…

He says relying on tests and type-checking to verify a program still does the right thing after making changes is "guardrail programming".

The slide where this comes up (~15:45) is about debugging. I think the point Rich is trying to make on that slide is that a bug in production passed the type checker and all the tests. Therefore, tests are not solving the problem of building high quality systems.

Rather, tests (and type safety) are "guardrails" that warn when you when you are doing something wrong (they are reactive). As Rich said on Twitter (https://twitter.com/#!/richhickey/status/116490495500357633), "I have nothing against guard rails, but let's recognize their limited utility in trip planning and navigation."

I believe that linking back to the greater context, Rich is saying that simplicity and doing more to think about your problem at the beginning (proactive steps) provide value in building systems that are high quality and easy to maintain. I think he is at least implicitly challenging whether the value you get from simplicity is greater than the value you get from an extensive test suite.

I do not hear his comments as anti-testing, but rather more as pro-thinking and pro-simplicity. Personally, I find tests useful. I write them when writing Clojure code. However, I also get tremendous value from focusing on abstraction and composability and simplicity in design.

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#24

Earlier quoted context omitted.

This was done at Rich's request. I've asked whether we can release them now that the video is available.

Any chance of releasing the videos somewhere that doesn't require Flash?

No, sorry.

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#25
Great presentation, but it got me thinking. Am I wasting my time trying to get software just right? Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for?

How many programmers do you know that are learning all kinds of languages and technologies and methodologies and other things to improve the quality of the software they write and yet will probably sit at a desk writing code for the next 30 years? As opposed to starting a business, getting financial free, etc.

Take the guy from Duck Duck Go. He wrote all of that in Perl; talk about easy, but not always so simple (to maintain). What if he spent his time learning Lisp and Monads instead of writing an app that lots of people use?

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#26

Great presentation, but it got me thinking. Am I wasting my time trying to get software just right? Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for? How many programmers do you know that are learning all kinds of languages and technologies and methodologies and other things to improve the quality of the software they write and yet will probably sit at a desk writing code f…

I find I can't learn a language very well without having a real project to use it on anyway.

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#27
post #13

For me this was the best talk I've seen in a long while. It reminded me of how I felt when I first read PG's essays, someone articulating your own suspicions whilst going further and deeper and bringing you to a place of enlightenment and clarity. BTW for those of you who haven't watched it, this talk is not Clojure specific.

However it's a great advertisement for Clojure, since the set of things he highlights as enabling simplicity is pretty much a subset of Clojure (or included libraries, like core.logic). I'd be interested in seeing someone present a different and convincing set of concepts. At this point, I think Rich has put together a very good toolset.

Well, yes, IIRC he described one of his major goals with Clojure as enabling simplicity, or something like that. That Clojure's design follows his views on simplicity seems natural.

Non-Clojure examples would help make the point. He does bring up examples from Haskell (such as type classes) in the talk in places, but doesn't dive deeply into them.

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#28

Great presentation, but it got me thinking. Am I wasting my time trying to get software just right? Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for? How many programmers do you know that are learning all kinds of languages and technologies and methodologies and other things to improve the quality of the software they write and yet will probably sit at a desk writing code f…

I find I can't learn a language very well without having a real project to use it on anyway.

That's true.

I'm just thinking my time might better be spent thinking about business ideas, and then trying those ideas out on Heroku. As opposed to learning about some technology that may make me a better programmer but may not really help me get to where I want to be, which is having a successful product that I own equity in.

Is it really worth my time to learn the intricacies of functional programming? Am I still going to be writing code for some corporate overlord 5 or 10 years from now?

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#29
post #27

Earlier quoted context omitted.

However it's a great advertisement for Clojure, since the set of things he highlights as enabling simplicity is pretty much a subset of Clojure (or included libraries, like core.logic). I'd be interested in seeing someone present a different and convincing set of concepts. At this point, I think Rich has put together a very good toolset.

Well, yes, IIRC he described one of his major goals with Clojure as enabling simplicity, or something like that. That Clojure's design follows his views on simplicity seems natural. Non-Clojure examples would help make the point. He does bring up examples from Haskell (such as type classes) in the talk in places, but doesn't dive deeply into them.

SQL and Prolog were also cited, but yes, nothing very deep (which I think is fine for this talk)

I would love to see the programs that are generated from this philosophy.

Re: Rich Hickey: "Simple Made Easy" from Strange Loop 2011 [video]

#30

Great presentation, but it got me thinking. Am I wasting my time trying to get software just right? Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for? How many programmers do you know that are learning all kinds of languages and technologies and methodologies and other things to improve the quality of the software they write and yet will probably sit at a desk writing code f…

> Is it worth my time to learn Clojure or Haskell, when I don't even know what I'll use it for?

I don't know if it's a binary decision between investing a lot of of time, or investing none. You could skim the reference manual, and if anything jumps out at you, you have a topic for future investigation, or a non-zero quantity of information to base your decision to "is it worth more time?" on.

If you mean on a very abstract level, the balance between learning what others are doing and producing your own stuff, you might enjoy Richard's Hamming essay "You and your Research", pg hosts a copy on his site: http://www.paulgraham.com/hamming.html

Post reply on HN