Hacker News new | ask | show | jobs
by peteretep 4189 days ago

    > In the way of purpose and design, Rust has next to
    > nothing in common with Perl, Ruby, Python, etc
This is the top-rated reply to my initial comment, so I'll try and fill in the gaps.

People choose Python instead of Perl because - and the reason they give may be different, but it comes down to the same thing - there's one RIGHT way to do everything. There's a _pythonic_ way to do everything. PEP 8 not only exists, but people take it _seriously_. Python code is predictable, and while people will bring different engineering approaches to bear on certain problems, good Python looks the same at every company.

Go is the Next Level Up of that. "go fmt" and "go vet" are baked right in. The language is small, and explicitly leaves out certain constructs in order that there is one, clear, obvious way of doing things. In short, Go code is meant to be predictable, and good Go code should look the same everywhere.

If you want to spend your time thinking about the problems, solving the problems, and zero time decorating your art, Python and Go are for you. They are the International Style or architecture, they are Brutalist languages, and that's not only OK, but it's a fundamental part of their success.

Me? I like Baroque.

I like my sigils, I like combining functional and imperative constructs in ways that I think look beautiful as I write them. I like cute tricks, and coworkers can see code I wrote because I come back to my favourite beautiful and intuitive idiomatic patterns over and over again, just as I can identify their code for what they do. I don't think `map` is a dirty word, and I love starting with a list and whittling away at it, sorting it, reshaping it, exercising the differences between lists, arrays, hashes, and the coercions between those.

You go to the back of the Camel book, and it gives you four different code styles, depending on what you're optimizing for. Perl Best Practices is the most controversial book ever written.

I'm still a Rust baby, but I'm telling you, it TASTES like Perl. The language "features" thing is reminiscent of someone suggesting you shouldn't buy an iPhone based on processor speed.