Live data from Hacker News

Ask HN: What are some examples of beautiful software?

news.ycombinator.com

251–260 of 262 posts

Re: Ask HN: What are some examples of beautiful software?

#251
post #45

Earlier quoted context omitted.

I think the complexity of the problem actually speaks in favour of Varnish. The Unix philosophy of writing software is based on the principle of doing one, possibly small thing very well. And that's exactly what Varnish does: it is a reverse-proxy cache that can optionally do a bit of preprocessing on the incoming HTTP requests. Besides, it's not trivial to write a high performance HTTP cache.

> Besides, it's not trivial to write a high performance HTTP cache. Certainly true. I guess that for me "beautiful code" invents some abstractions that transform a problem that initially seems dauntingly difficult into something that is easy to reason about. A proxy cache does not, for me, satisfy the first part of this premise, although I can imagine that the details of such a project take a lot of effort (hence "no…

>I guess that for me "beautiful code" invents some abstractions that transform a problem that initially seems dauntingly difficult into something that is easy to reason about.

Well then, look no further than any RDBMS.

Seriously, for as much as people sometimes rag on the relation model, it is amazing for its power and relative simplicity.

Re: Ask HN: What are some examples of beautiful software?

#252

The Haskell and Clojure standard libraries. It's very rare in a programming language that I can click through to the implementation of a function and actually understand the code I get through the wall of error checking and coercion and OOP gobbledygook to even make sense of what I'm looking at. But I've never had this problem in Haskell or Clojure. Haskell because that awesome type system makes most of that boilerpl…

>Racket, on the other hand, much as I love it, when I go looking at it's internals most of the time it's practically unintelligible to me.

This is one of the reasons Racket never appealed to me. R5RS and R7RS are so simple that you can write most of the interpreter in about a page of code in the language. Although if you read SICP, you already know that :-).

Racket and R6RS, OTOH, are full to the brim with complex systems that all interact in a manner that's hard to wrap your head around. Custodians, Contracts, OOP, Delimited Continuations, all there by default... It's just too much. I also dislike syntax-case, but that's more of a personal issue than anything else.

I'd even prefer Common Lisp. Sure, it's about the same size at least, but it's not trying to make you use 5 paradigms at once. Sure, you COULD, but you don't HAVE to. But then, I suppose that is what lisp is about.

Re: Ask HN: What are some examples of beautiful software?

#253
post #147

Earlier quoted context omitted.

When he says "the algorithm is given just the pixels", does that mean it's not given any information about the game itself, like the objective? How does it know how to measure it's own success?

There is an objective, but it may not be exactly as you reason about it. There's a great video that made the rounds last year about building a neural net that plays Super Mario World, that may help visualize what's going on - https://www.youtube.com/watch?v=qv6UVOQ0F44 There's also a great snippet in the currently-ongoing AlphaGo videos that explains that when AlphaGo plays in ways that you may not expect, it's becau…

Yeah, I love sethbling. And the lua for MarI/O is only one file, and a relatively small one at that.

Re: Ask HN: What are some examples of beautiful software?

#254

The Scheme programming language. As close to the core essence of programming as an actually usable, practical programming language has ever come. LLVM. Being able to fully represent general code in a simple, well-defined, readable text-based format is a far bigger achievement than you would think until you look at what it took to do it.

Erm... Which Scheme? Or do you mean the standard?

I think he means R5RS. But honestly, It's missing a bit of what you need for most programming. Chicken Scheme is probably the best actual scheme on the sliding scale of elegance/power, IMHO.

Re: Ask HN: What are some examples of beautiful software?

#255
post #227

Earlier quoted context omitted.

It's a really clean abstraction of a computing environment, which is as well defined and predicatable that is possible. I tend to prefer that to performance cludges, arcane architectural hand waving, and undefined behaviour. Some people thinks it's useless, since they do no see the benefits, as there are costs. (There are some obvious UX-flaws, especially on the desktop, where it takes a bit to start up, and clearly…

> It's a really clean abstraction of a computing environment No, it's a clumsy and leaky abstraction which was not well thought out. P-codes are a nice abstraction. AS/400 is a nice abstrction. Dozens of other, better VMs are a nice abstraction. But not a JVM, which is broken by design. I'd never chose it as an underlying VM for anything important.

You forgot about Squeak. Now THAT is a brilliant abstraction. Provided you don't touch the outside OS, you can copy an image, bit-for-bit, to another computer that runs the Squeak VM, and it'll just work.

Re: Ask HN: What are some examples of beautiful software?

#256
post #240

Earlier quoted context omitted.

I'd be a bit surprised if anyone did. Git is powerful and flexible, but it is also complicated and difficult to use for people who aren't experts. Beautiful software should make simple things simple, and hard things possible. Git leans strongly toward the latter, to the detriment of the former. I need version control software that's mostly like a shovel and maybe sometimes like a backhoe. Git is like one of these: ht…

I am of the same opinion as you. I have started using git flow recently and it keeps me from shooting myself in the foot as often. So far this is as much documentation I have needed. http://danielkummer.github.io/git-flow-cheatsheet/

I would agree with you, but this[1] article changed my mind.

0: http://lucumr.pocoo.org/2015/2/17/ui-and-hidden-consistency/

Re: Ask HN: What are some examples of beautiful software?

#257
post #101

C: anything by antirez (redis, etc...) Redis is the epitome of well written understandable C. Ruby: anything written by _why (if you can find the source) He once gave a whole presentation on the splat operator and it's bizarre uses that gave me goosebumps. A true artist. The code twists and contorts ruby in unimaginable ways. JS: anything written by TJ hollwaychuck (express, mocha, etc...) Express is so simple but po…

I've not used it in recent years, but PolarSSL (now mbed TLS) was quite nice for a crypto library. It's a light, simple and clear C library.

Not directly code, but the "Beyond pep 8" talk at PyCon 2015 by Raymond Hettinger is quite nice (https://www.youtube.com/watch?v=wf-BqAjZb8M). It gives interesting tips on how to separate "business logic" (the high level problem you try to solve) from the "purely technical stuff".

Re: Ask HN: What are some examples of beautiful software?

#259

My vote is for SQLite. It is very well written, incredibly well tested, and one of the simplest and most flexible tools out there. My favorite part is the extensive documentation explaining the architecture decisions they made.

Aesthetically, SQLite is some of the most perversely formatted C code I've ever seen. I find it more painful to view than GNU-style C.

Re: Ask HN: What are some examples of beautiful software?

#260
post #118

Earlier quoted context omitted.

Notably the "requests" library

That's the one! The reason I fell in love with requests was because it was leagues better than python's own http lib. Pay attention to the way he designed he API, it's genius. Updated my comment.

requests is built on top of urllib3, BTW.
Post reply on HN