Live data from Hacker News

Minimalism – An undervalued development skill

volument.com

21–30 of 179 posts

Re: Minimalism – An undervalued development skill

#21
I agree with the article. There is too much crap today in software. Much of it external crap.

When I was young, I used to scoff when old programmers told me not to include external/3rd-party libraries. What did they know, these libs are so convenient! Today, I clearly see the downside of doing that and the slippery slope that it introduces.

Rather than do the hard work myself upfront and pay that cost, I let someone else do it for me and simply included their work. Great, right? Not really. Now, I'm at their mercy. They break things all the time, don't address security issues, abandon the code I rely on, don't support OpenBSD armv7 (or whatever you run on), etc.

Now, I'm much older and only include when there is absolutely no other way (very rarely).

Re: Minimalism – An undervalued development skill

#22
post #4

At a recent job, people were advocating for ginkgo, a non-standard "reinvents the wheel" type of testing framework in golang. If you don't know golang, it has near perfect tooling out of the box, including a standard test framework. I joined on the brink of this decision i.e. moving to ginkgo. I was the first and only person to ask what does ginkgo do that "go test" does not for us ? Nobody could really answer that.…

I had to go look up Ginkgo... and I'm not sure it's an Apples to Apples comparison. The built-in Go framework for unit testing is great but I don't think I would want to try to write clean BDD tests with it.

Part of the value-prop for Ginkgo is that it gives you a standard BDD DSL which if you're doing BDD is half the battle... describing and testing the behavior with a human-friendly programmatic interface.

On the other hand if none of the team could articulate why they needed Ginkgo that probably means they don't actually know what BDD and your point still stands.

Re: Minimalism – An undervalued development skill

#23
I have super mixed feelings on this.

Minimalism makes for a clean, easy to understand codebase, that avoids some of the performance pitfalls associated with bigness.

But sometimes it’s easy to build 80% of what you need, and then massively difficult to get to 100%, and the ease of getting to 80% can lead you astray.

For instance, I can write a pretty fast matrix multiplication algorithm in maybe a few dozen lines of code. But then you look at OpenBLAS, Eigen, MKL, FBGEMM, etc. and you see thousands of lines of code. And it’s not because I’m 100x better at programming than the developers of these libraries, it’s that they’ve really put in effort to getting the best performance, in all corner cases, on all platforms.

You could argue that matrix multiplication is an extreme case, and it is, but I think it’s still valuable to critically think about what you give up by opting for minimalism before you write off other people’s software as aimless bloatware.

Re: Minimalism – An undervalued development skill

#24
This reminded me of the Twain quote: "I didn't have time to write a short letter, so I wrote a long one instead."

Sometimes I don't know how to solve my problems with tiny amounts of code. It often takes skill and effort to come up with an elegant solution. But I agree it is something we should try to do when we can.

Re: Minimalism – An undervalued development skill

#25
post #9
post #2

Author here: over the years this has been my prime strategy on building new stuff. First jQuery Tools, then Head JS, later Riot JS. Happy to talk about minimalism on this weird announcement day. Happy holidays!

The link for the Disqus bullet (to try your alternative commenting system at the bottom of the page) is broken. It points to: https://volument.com/blog/minimalism-the-most-undervalued-de... ... but what you want is: https://volument.com/blog/minimalism-the-most-undervalued-de... Two things suggest you've still got some work to do cutting out the crap: 1. The commenting widget manages to foil my ability to select text…

The link is now fixed. I'll look the other two issues after the Christmas chores. The JavaScript-disabled issue is probably non-trivial, but obviously doable. Thanks!

Re: Minimalism – An undervalued development skill

#26

I have super mixed feelings on this. Minimalism makes for a clean, easy to understand codebase, that avoids some of the performance pitfalls associated with bigness. But sometimes it’s easy to build 80% of what you need, and then massively difficult to get to 100%, and the ease of getting to 80% can lead you astray. For instance, I can write a pretty fast matrix multiplication algorithm in maybe a few dozen lines of…

AKA "The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."

—Tom Cargill, Bell Labs

Re: Minimalism – An undervalued development skill

#27
post #2

Author here: over the years this has been my prime strategy on building new stuff. First jQuery Tools, then Head JS, later Riot JS. Happy to talk about minimalism on this weird announcement day. Happy holidays!

Without javascript this shows a blank page. And it's about minimalism?

It's a bug. Not related to minimalism :) Thanks.

Re: Minimalism – An undervalued development skill

#28
It's very hard to write perfect minimal code from scratch. It takes a lot of foresight and consideration that mortals like myself simply don't possess.

I think finding the optimal solution to any problem usually requires delving through a lot of crap, trial and error etc. Maybe this is why I find the trend towards minimalism a little bit condescending, if that's the right word.

Re: Minimalism – An undervalued development skill

#29
post #3
post #2

Author here: over the years this has been my prime strategy on building new stuff. First jQuery Tools, then Head JS, later Riot JS. Happy to talk about minimalism on this weird announcement day. Happy holidays!

How do you weigh minimalism in a build vs. buy decision?

It's a strategy. To use minimalism as a competitive advantage. In an attempt to build products that are compelling. People only buy products they want.

Re: Minimalism – An undervalued development skill

#30
post #4

At a recent job, people were advocating for ginkgo, a non-standard "reinvents the wheel" type of testing framework in golang. If you don't know golang, it has near perfect tooling out of the box, including a standard test framework. I joined on the brink of this decision i.e. moving to ginkgo. I was the first and only person to ask what does ginkgo do that "go test" does not for us ? Nobody could really answer that.…

I had to go look up Ginkgo... and I'm not sure it's an Apples to Apples comparison. The built-in Go framework for unit testing is great but I don't think I would want to try to write clean BDD tests with it. Part of the value-prop for Ginkgo is that it gives you a standard BDD DSL which if you're doing BDD is half the battle... describing and testing the behavior with a human-friendly programmatic interface. On the o…

oh yeah absolutely, ginkgo has its use. It was not suited to what we were after, though.
Post reply on HN