Ask HN: What's the most beautiful language in your opinion? Why?

9 points by thomasfoster96 ↗ HN
This may have been posted before (I couldn't find a similar post), but I'm curious and looking for some reasoned opinions. Of course, there is no real right or wrong answer.

I'm asking also because as a bit of a side project, I've been making a simple interpreter for a very basic scripting language (that I'm making up as I go along) in JavaScript.

27 comments

[ 2.6 ms ] story [ 69.1 ms ] thread
This is going to get guffaws, and spit-takes, and incredulous stares.

All that matters not, it's a language I love, however it fares.

With postconditionals, and heredocs, and references to unfurl,

my answer is simple, the language is Perl.

Agreed. When written with care it's a very elegant and expressive language.

Perl does gives you a ton of rope to hang yourself with though.

Furthering the analogy, PHP gives you several miles of rope and a noose already done.
That won't snap your neck, but it might break your legs.
Haskell for its unrelenting purity and take on laziness. Clojure because Rich Hickey's take on lisp and functional programming is beautiful in both concept and execution. Scala's type system (given its limitations from being on the jvm), traits, and pattern matching also are deserving of a mention.
Arabic typography is beautiful. Esperanto is nice for its mathematical purity.

Oh, and Python is rather nice too.

I should have really made this a bit more precise, shouldn't I?
You've done fine. A post that might have become dry and academic has morphed into something that is eclectic and beautiful.
If you want mathematical purity, go for Lojban. It's parseable with yacc/lex, and can be [somewhat crudely] translated with a computer (google for jbofihe).
CoffeeScript: it blends some of my favorite parts of Ruby, Python, and JavaScript.
java - if you think it's too slow, update your toolset
Java? Really? The JVM is kind of cool but Java as language not at all. There are other languages much more simple and beautiful. That's at least my opinion.
I have some bias from having started on it like 15 years ago... the key thing to me is the toolset : eclipse and maven and code generation templates and mylyn and all this stuff just makes it so easy - now sure you can do that in other languages, but the toolset is very mature, written in java primarily and also a lot of the really cool speed tricks are tough as heck to do with a dynamically typed language
I do not evaluate languages in terms of beauty anymore. Instead, I try to identify its niche, where it beats all other languages.

For all major languages, there is a niche, where you should use it above all other languages. For toy languages, the niche is usually something like "the single author enjoys developing it". For academic languages, the niche is something like "showcases concept X concisely".

You want to design and implement a small scripting language? Look at Lua, TCL, Forth, Squirrel, sh, Scheme, Javascript and IO.

I like English. It gets a bad wrap because of all of the exceptions and corner cases, however it's extremely expressive and easily lends itself to many different oratory and literary styles.

It's easier in many respects to romance languages because when conjugating verbs you don't have to also conjugate possessive personal pronouns which you do with most other languages of European origin. And yet, in my opinion, it is more expressive than languages such as Chinese which don't have proper pronouns at all. Because of its rich vocabulary, it is also very easy to express ideas that may be difficult to express in other languages.

Oh, and Python is rather nice too.

I like English too, especially for dramatic uses from Shakespeare over Hollywood to furious rants by programmers.

However, my mother tongue is german, which is nicer, if you talk about technical stuff, because you can compose nouns so nicely. On the downside, we cannot convert nouns into verbs so easily (e.g. to google).

And the "library" ecosystem. Most science, technology and other things of worldwide significance are conducted in English. Reading that stuff in other languages feels like using a crappy wrapper library.
I'd vote for Scheme.

It's so compact, that when larger blocks work, it's almost magical. It's really a wonder to see a great Scheme/LISP hacker do their magic.

Ruby. Idiomatic syntax combined with an object model that makes sense.
Smalltalk — because of a simplicity in sending messages between parts to create structure. As a signal propagates through various distinctions in a carefully crafted information space, a result emerges.

The LISP family also rather elegant.

I'm trying to learn Lojban, because I think it might make a good general interlanguage between people and computers.

I've also heard interesting things about Sanskrit, for the same purpose.

I would have to select French. It's a very musical and sensuous language. Years ago after walking into a convenience store I was asked by a beautiful French girl to help her with a confusing copy machine. Here we are talking about paper feed and an errant machine and I am mesmerized by the sound of her voice and expressive hand gestures. She was speaking in broken English and mixing French words when necessary but the lyrical tone was undiminished. My heart beats a little faster just thinking about it again.

As far as talking to a machine I would select Ruby. A deciding factor in recognizing the presence of beauty is the alluring attraction to interact. Ruby's language makes the odds of scoring on your first date with her a real possibility.

Visual Basic! Haha .. just kidding! My favourite is Ruby. It is simple enough that you don't need a 500 MB tool to edit your code ;-)
Are we talking programming or literature?