5 ms·
I find it a bit strange that the post lists both LISP and Python as "truly elegant software system[s]". To me Python is a super-pragmatic language that sacrific
by timkam 7y ago
I find it a bit strange that the post lists both LISP and Python as "truly elegant software system[s]". To me Python is a super-pragmatic language that sacrifices intellectual elegance to allow people (even, but not necessarily) without a CS/Math background to "get stuff done". I also wonder how software "artists" should be different from other artists. For example, in music, there are great teams of artists, like Lennon/McCartney.
- pjc50 7y agoAs far as I can tell "Elegant" means "I like it, and believe that my aesthetic preferences are a universal law of humanity"
- Indifference123 7y agoI'd say that elegant is a tight implementation to language fit. When you can express an implementation purely in terms of idiomatic language constructs in an obvious simply understandable way, that is elegant.
- flir 7y agoNah, there's a property of elegance that appears similar in mechanical engineering, typography, maths, poetry and a bunch of other places. I don't know exactly what it is, but I think it maps closely to "the minimum number of moving parts necessary to complete the task"
- Proziam 7y agoSomewhat similar, I always thought of elegance as the minimum complexity required. However, truly elegant solutions are sometimes counter-intuitive or 'hidden' beneath a few layers of detail, but once understood feel "obvious." That "oh man that's smooth" feeling is often the first step for me to think of something as elegant, and separates 'good solutions' from truly elegant ones.
- bpyne 7y ago"I also wonder how software "artists" should be different from other artists. For example, in music, there are great teams of artists, like Lennon/McCartney" Yes, in music, composers do work together although I wouldn't make a general rule about it. Writers tend to be solitary. They reach out to people when they're researching something for a story. But outlining, thinking through story lines, and the actual typing part are solitary. From interviews with writers, I get the impression that a good editor is indispensable for developing a story though. Likewise, painters and sculptors in my acquaintance work alone.
- magicalhippo 7y ago> For example, in music, there are great teams of artists, like Lennon/McCartney. Read this made me think of John Carmack and Michael Abrash, working on the Quake engine. Both are programming artists, but in different ways. When they came together, working on Quake, I'm sure we can all agree that the result was magic. Not sure where I first read about their work on Quake, but The Graphics Programming Black Book[1] contains some details in the forewords from both. There's also more details in various sections. [1]: http://www.jagregory.com/abrash-black-book/ http://www.jagregory.com/abrash-black-book/
- breck 7y ago> For example, in music, there are great teams of artists, like Lennon/McCartney. I think there are similarly great teams in software that have multiple hits (Pike, Thompson, and Ritchie being one that comes to mind).
- slumdev 7y ago> Python is a super-pragmatic language that sacrifices intellectual elegance to allow people (even, but not necessarily) without a CS/Math background to "get stuff done" Is this its elegance? That it exposes general purpose programming and an exhaustive library list to the Muggles? So that people without a CS background can do Real Work? I'm with you on gut reaction, though. Python always struck me as an open-source VBA.