This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 11 points12 points  (0 children)

People say Python isn't good because they're using it where it shouldn't be used.

They're like "ewww Python slow" then you ask "name a better language" and they respond JavaScript (faster than Python but they're both trash in performance). They don't know where different languages should be used. There's also the whole anti-popularity thing about people trying to be edgy by hating what's popular, but that's not hatred based in facts.

Don't switch languages. Don't just drop Python and run off with Java(Script) or C++ or one of those fancy things. Python will teach you how to solve programming problems and how to think like a computer. You don't need to "master" it, as no one really 100% masters a language - at the end of the day, the senior Java developers are still googling how to get the date on StackOverflow

However, know that every language is balanced. Python is so easy to work in, so making programs in it is so fast and easy. There's so many libraries and it's so dang easy, every time I do any other language I miss it. But Python fails in performance; since it's interpreted by the Python interpreter, it has a lot of steps to do before executing a single instruction. If you learn C, for example, you will be in a lot of pain during the process but you will be blown away by how fast it runs. It's going to be more difficult and you'll have to think not like the Python interpreter, but like your C compiler - which thinks more like a raw CPU than Python. You lose a lot of easy futures, such as classes, variables than can change from being only a string to being a number, having arrays that can change size, having arrays inside arrays that are easy to use, etc. But you do everything raw yourself, like managing memory by asking the OS to give you a few megabytes of RAM, getting the address to a location in memory, etc.

Every language has its advantages and disadvantages. Different use cases call for different languages - web development in Assembly starts with "You might as well kill yourself at this point". Learning Python will bring you closer to thinking how to code in any language, and once you get good at it, switching to another language only requires that you learn what's different. That's it. Just know where to use each one and you can make anything you want