Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Designing a pretty and elegant language is hard, but fun. You don't even need to implement it.

The parts that make Python slow make it easier to hack on, but they don't make it elegant in any meaningful sense.

> Designing a language that is deliberately amenable to optimization is also hard, but not fun (especially when optimization has to be prioritized over elegance).

Elegant languages are usually amenable to being efficiently implemented without the implementor having to do anything special. That's because elegant languages guide you towards using the simplest, least powerful features that are powerful enough to solve your problem. For example, in Standard ML, I don't use higher-order functions that much, not because they suck (they don't), but rather because first-order functions and functors (which can't be recursive) are powerful enough for most things I want to do.

On the other hand, in a language like Python, it can be very difficult to find features that solve exactly your problem and nothing more, so often you have to reach for super-powerful hammers (operator overloading, metaprogramming, etc.). These hammers are almost invariably more general than the intrinsic demands of your problem, but, since the language designer can't provide an implementation that only works for your use cases, you must pay the price of the unnecessary generality of the feature.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: