←back to thread

47 points cxr | 1 comments | | HN request time: 0.227s | source
Show context
ipython ◴[] No.42187553[source]
That is an incredible story of successful yak shaving. I have the same experience, but ultimately my attempts end in failure as I lose interest and sight of the end goal. Kudos!
replies(1): >>42187989 #
cxr ◴[] No.42187989[source]
The author of the piece here has something to say about that, too: write code top-down.

> There are two ways to architect a program and write code: top-down and bottom-up.¶ […] The correct way to architect and write a program is top-down. This is not a matter of taste or preference. Bottom-up design is fundamentally busted and you shouldn’t use it. Every system I’ve been involved in that used top-down succeeded and those that used bottom-up failed. [...]

> At every level there’s pressure to do bottom-up programming. Avoid it. Instead, start at the top, with `main()` or its equivalent, and write it as if you had all the parts already written. Get that to look right. Stub out or hard-code the parts until you can get it to compile and run. Then slowly move your way down, keeping everything as brutally simple as you can. Don’t write a line of code that isn’t solving a problem you have *right now*. Then you may have a chance of succeeding in writing a large, working, long-lived program.

<https://www.teamten.com/lawrence/programming/write-code-top-...>

See also: Java for Everything <https://www.teamten.com/lawrence/writings/java-for-everythin...>

replies(1): >>42189516 #
type_enthusiast ◴[] No.42189516[source]
I found "Java for Everything" really interesting, so thanks for posting it. It also seems it's been featured on HN many times[1], and the progression of comments (from 10 years ago to 4 years ago, to 1 year ago where nobody commented) feel like an archaeological strata that shows how things change and how they stay the same.

[1] https://hn.algolia.com/?q=java+for+everything (just searching for the URL doesn't work, because it started as http and changed to https 5 years ago)

replies(1): >>42189558 #
type_enthusiast ◴[] No.42189558[source]
FWIW, while I'm not sure I agree that JVM is the right solution for every problem, I agree with much of the author's sentiment from that time, which is: programs are written much less frequently than they are run, so surely developer keystrokes are laughably unimportant compared to runtime performance and other user-facing concerns.
replies(2): >>42194013 #>>42203034 #
1. cxr ◴[] No.42194013[source]
The post is a lot more about Java-the-language and has very little to do with the JVM.