Live data from Hacker News

Software development topics I've changed my mind on

chriskiehl.com

11–20 of 788 posts

Re: Software development topics I've changed my mind on

#11
> Typed languages are essential on teams with mixed experience levels

I like this one because it puts this endless dilemma in a human context. Most discussions are technical (static typing ease refactoring and safety, dynamic typing is easier to learn and better for interactive programming etc.) and ignore the users, the programmers.

Re: Software development topics I've changed my mind on

#13

> Typed languages are essential on teams with mixed experience levels I like this one because it puts this endless dilemma in a human context. Most discussions are technical (static typing ease refactoring and safety, dynamic typing is easier to learn and better for interactive programming etc.) and ignore the users, the programmers.

UX really is everywhere, once your eyes are opened to it.

Re: Software development topics I've changed my mind on

#14
post #2

> Java is a great language because it's boring [...] Types are assertions we make about the world This is less of a mind-was-changed case and more just controversial, but... Checked Exceptions were a fundamentally good idea. They just needed some syntactic sugar to help redirect certain developers into less self-destructive ways of procrastinating on proper error handling. In brief for non-Java folks: Checked Excepti…

remind me why they don’t work? because “throws Exception” propagates virally to every method in the codebase?

Well, if you don’t handle them then… yes? What else can be done?

Re: Software development topics I've changed my mind on

#15
post #2

> Java is a great language because it's boring [...] Types are assertions we make about the world This is less of a mind-was-changed case and more just controversial, but... Checked Exceptions were a fundamentally good idea. They just needed some syntactic sugar to help redirect certain developers into less self-destructive ways of procrastinating on proper error handling. In brief for non-Java folks: Checked Excepti…

> Alas, many caught it and wrapped it in a generic RuntimeException.

Actually sounded great right up until this point. Deal with it, or explicitly acknowledge that you do not. It's honest.

Apparently other developers are why we can't have nice things.

Re: Software development topics I've changed my mind on

#16
> Most programming should be done long before a single line of code is written

I'd rephrase this to something like: Most programming should be done before 5% of the code is written. Because "no plan survives contact with the enemy". I often develop a plan, work for just a tiny bit, and realize some new constraints. It's after that point that you should construct your grand battle plan.

Re: Software development topics I've changed my mind on

#17
It felt good to read someone who thinks like me, honestly.

Also the observation of "The trouble with functional programming is functional programmers" is absolutely correct.

This needs to be said more. Way more.

P.S.: You can ask why, and I can answer honestly, without hostility.

Re: Software development topics I've changed my mind on

#19
> REPLs are not useful design tools (though, they are useful exploratory tools)

I disagree with this. I’m a Clojure dev, and most of the time, I use the REPL to iterate on features, fix bugs, and refactor, thanks to the fast feedback loop.

I used to be a Java dev—oh god, restarting the whole app after every change made me want to shoot myself in the head. Now, I use the REPL to build what I want and then move on. This brings joy back to programming.

I’m not saying other languages are bad, but working with Clojure is more enjoyable for me. I’m at least 2-3 times faster than I was with Java. Of course, there are techniques you need to know to write efficient and idiomatic functional code.

Re: Software development topics I've changed my mind on

#20
post #10

> Good management is invaluable. (I went most of my career before seeing it done well) Yes, and: it's difficult to describe, must be led from the top, and extremely difficult to evaluate from above.

If the person at the top can come down for a coffee with people who endured some bad management, and ask honest, non-loaded three questions, it can be measured qualitatively but with very high accuracy.

The three questions are:

    - What should we start doing?
    - What should we continue doing?
    - What should we stop doing?
This is an immensely powerful tool. Thanks to the awesome person who introduced me this.

Addenda: "Theory X" is something really bad. If you're working with a team which responds positively to Theory X, you have much bigger problems IMHO.

Post reply on HN