Hacker News new | past | comments | ask | show | jobs | submit login

Joel argues that the simplicity we strive for in software should be expressed in a lack of options, not a lack of features. I think this dovetails nicely with Brent Simmons' piece "Flexibility and power" http://inessential.com/2010/08/09/flexibility_and_power with Joel coming in on Brent's side of powerful software being what is exciting.

Joel makes the point that making elegant (or powerful) software is very hard and time consuming, which I think is why so much good software does start out at the 37signals-y "do one thing really well" side of things. The trick is to keep building on that core, adding features that allow the user to do more without having to make more choices about it.




To build on that a little: the main point he makes is that a lot of the decision making can be made during the design process of the software, if you think about not just building a few features, but building THE few features.

I agree with almost all of what he says, the one place he loses me is with the SUPER concise python and C++ code he shows (while (c++ = s++) to copy an array). It makes no sense - that's not elegant, that's just concise - it's very unreadable (at least to someone who has little C++ experience). Elegance and efficiency are correlated, but they aren't the same thing.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: