- My post was about the out of the box experience and not what is technically possible with addons. As you saw I mentioned bpython so I am fully aware that there are better alternatives. I just think it is unforgiving to bundle with such a poorly functional standard REPL.
- I disagree. isEmpty() is common in many programming languages, Ruby, Swift, C++, Java etc to name some from the top of my head. This is for good reason. You want all collections to share a minimum set of operations, so they can be exhanged for each other. count() is a poor choice because it would be a O(N) operation on a linked list or UTF8 encoded string. It is a good habit to avoid checking length when all you want is to check if collection is empty.
- With python priding itself on having the most obvious thing work, it is an odd choice.
- That is good. Like with the REPL I do find it odd that it take such long time to fix. Python has enormous amounts of resources behind it compared to Julia, which makes you wonder why low hanging fruit like this isn’t taken care of sooner.
- I know there are reasons for most odd things in any programming language. But that doesn’t make the problem go away, or mean that we shouldn’t point it out. I think it is useful information for anybody e.g. considering whether Julia is worth a try.
- White space is definitly a never ending debate with Python. I don’t know what the most prominent arguments are for it today, but I feel the orginal arguments in favor no longer applies, for the reasons stated. I can’t say I like programming languages which require IDEs. Professionally I use Objective-C and Swift a lot and they both require IDEs for the type of work I do. I find that to be a disadvantage not an advantage. Especially for script languages one of the main advantages IMHO is the minimum set of tools required to use them.
Oh I’d certainly prefer Python over .NET or Java for that matter. Python is pretty high on my list of languages. I just wish it was cleaner and stayed more true to its own stated philosophy. But my post can also be read as a suggestion that Python is not a silver bullet. It is not the last word on beautiful, pratical and easy to use programming languages. I think one has to be open to the possibility that better alternatives for a number of cases are arriving. That is why a lot of us used Python in the first place. It was perhaps novel and less known, but it did the job better than the crufty alternatives at that time. I don’t know where we would have been today if we had tried to indefinitly improve perl, C or bash scripts instead of abandoning them for better things like Python or Ruby.