16 Replies to “The importance of simplicity”

  1. All this shows it that the respondents “want to get stuff done”, but don’t know what role simplicity plays in that. People I talk to think simplicity in a programming language means less-features, and therefore less power. So who is going to chose “languages that are less powerful” in a survey? We are asking the wrong questions.

  2. As a PL designer, that aspect of the result made me sad 🙁

    However, take heart! The figure reports perceived importance, and respondents are probably not gauging latent factors such as whether simplicity fosters library creation.

    (Then again, who cares: Google has deep enough pockets to pay for the important efficient standard libraries without relying upon language simplicity.)

  3. I can see how this would be the result. I myself value simplicity a lot in a language–but I also value availability of libraries, familiarity (syntax I’m used to), run-time speed, development speed, and so forth, roughly just as much as simplicity. So I wouldn’t remove those other good things in favor of simplicity, but as a language designer I would (and do) try to get as much simplicity as possible without sacrificing other benefits.

    From a user perspective, simplicity might not be the most important thing, but it is very important for language designers and for advanced users (or rather, users who *want* to be advanced: if it’s simple, users can understand it better and accomplish advanced things more easily. e.g. I’m having trouble learning C# 5 async effectively because although the basic concepts are straightforward enough, the feature relies on complicated and poorly-documented runtime libraries.)

    It’s hard to put into words why simplicity is so important. But on some level, it really, really is.

    1. Introducing new words that are synonyms of familiar ones is not simplification. Complect = intertwine. It’s a good way to get attention though.

      There is a lot of fresh thinking and tasteful design in Clojure. I like it. But the overheated rhetoric and cult of personality are off-putting.

    2. Most of Hickey’s writing is nothing more than attention-whoring. Consciously trying to coin a term is possibly the most attention-whorish thing imaginable.

  4. Do people have difficulty distinguishing simple vs. simplistic? When things really are ‘simple’, how often do we think about it? How often do people sell ‘simplistic’ using the word ‘simple’? How much would you trust a language advertised as ‘simple’?

    I think it isn’t hard to see why simplicity rates poorly. As a prospective language user, even I’d rate it pretty low. As a language designer, OTOH, it’s important to me. I’ll just need to remember to keep ‘simple’ out of my language but obvious in the demonstrations…

    Simplicity is a fine goal for language and designers,

  5. Love the ideas of Subtext: especially live coding. The most enjoyable programming I’ve done is with live-ish environments, especially ones where the environment itself is live. I.e. where you can modify the behavior of the environment without leaving the environment. Combine that with a simple, but powerful, language, and miracles of programming become possible.

Comments are closed.