loading...

re: I am going to automate you with Python | Reverse Python Lab VIEW POST

FULL DISCUSSION
 

I know there is alot of library support, such as ML, in Python. I just wish all of that was written in Ruby. I really don't enjoy programming in Python that much, it seems to have some major design issues.
I use it when I have too though.
Ruby I use whenever I get the chance, and I really enjoy it!

 

The thought that was going through my head while reading this. Ruby was why I fully committed to programming. I don't think Python matches the readability.

 

You could say that Python's dynamism is a design mistake from a performance perspective, because it makes it hard to make a straightforward efficient implementation, and it makes it hard (I didn't say completely impossible) to make an IDE with code completion, refactoring, and other nice things. At the same time, you could argue for the pros of dynamic languages.

Maybe one approach to start thinking about this is to look at the language changes from Python 2.x to 3.x. Some people would of course argue that print being a function is inconvenient, while others think it's an improvement. Overall, there are not that many changes, and most of them are quite small and subtle. For example, map() and filter() return iterators instead of lists, range() behaves like xrange() used to, and dict methods like dict.keys() return views instead of lists. Then there are some changes related to integers, and one of the big changes is binary/string data handling. It's now text and data, and text is always Unicode. There are several syntactic changes, but they are more about consistency than revamping the whole language.

From this perspective, it appears that Python has been pretty well designed on the language (syntax and sematics) level since at least 2.x. You can always argue about indentation-based block syntax, but we all know that doesn't lead anywhere :) So really I would say that Python's main design problems are in the performance domain – but these are basically the same challenges that any dynamic language has to face, and the Python family of languages and implementations are trying to address the issues.

Code of Conduct Report abuse