3 ms·
> Python and Ruby are notable counter-examples to this. I beg to differ. You seem to imply that Python is a simple language. Quite the contrary. Attempts to ac
by perfunctory 12y ago
> Python and Ruby are notable counter-examples to this.
I beg to differ. You seem to imply that Python is a simple language. Quite the contrary. Attempts to accelerate Python failed exactly because it's an extremely complicated language. Same goes for Ruby and JavaScript.
- haberman 12y agoThis essay defines complexity like so: > We should measure complexity as the cumulative effort to learn and use a technology. Given that Python and Ruby are both simple to learn and use (as users, not implementors), they are both simple by the definition given in this article.
- mamcx 12y agoPython have a simple syntax, yet a complex implementation, so simplicity is not carried all along the path. A argument could be made this is in part the fault of C... because a state sub-goal of python is easy to integrate with C and back them the way they do it is complex, and because C is worse than python and a lot of code is made with it. So, you have a simpler language in top of a messy one (ie: In contrast with something like for example, pascal). The problem when try to make something simple is that carry the idea across boundaries/subsystem eventually break. If, for example, you wanna to make a performant language with clean syntax for a multi-procesor setup with intuitive behaviour, but, the base system/os/CPU not make it easy, you eventually need to break the simplicity along the way. This also touch the problem that to make something simple is necesary the skill and mastery across the whole problem. So perhaps python/ruby is like is because the authors are great at building a aproachable language but not at build the VM. You need to be both. Contrast with erlang. Amazing VM but whacky syntax. Or haskell, amazing ideas but the way they are teached... seriuously? A functor, monad, who talk like that? Have simplicity along ALL the path... that is hard!
- perfunctory 12y ago> Python have a simple syntax Python has a rather simple syntax indeed, but it has very complicated semantics. `foo.bar` - syntactically very simple expression of the attribute access has a mountain of semantics behind it. > Given that Python and Ruby are both simple to learn and use (as users, not implementors), they are both simple by the definition given in this article. Good remark. I still tend to disagree though. It's easy to learn and use a very small subset of the language. Not the whole language. Even then, it's practically impossible to limit yourself to a certain subset. Not if you want to use any python libraries.