
Truth F. answered 10/03/22
7 years in quantitative-finance UX and algorithm design with Python
Python is the programming language that most closely resembles natural speech.
Many people will find themselves looking at Python as the first programming language they want to learn.
- I do not recommend this. Why? Because even though it is intuitive, Python is a language built on top of another language (C-programming-language) and if you're learning how to program for the first time many of the introductory concepts of programming and the full ability of computers may get lost in abstractions or skipped over in the slick language design of Python. In Python you will learn enough to create what you want but it will take longer to intuitively understand the entire world of programming and transfer your Python skills to every other corner of programming and software design.
- I recommend learning C first, and then C++, and then Javascript/HTML/CSS, and then Python. Why?
- Because you will start to grasp how Python programming was created and the limitations and possibilities of the language even before you start using/learning it.
- You will learn more about hardware, hardware communication using software, and user interfaces, which will facilitate your understanding of how best to use Python and every other language created or to be created.
Many people will need to learn Python out of necessity for a work environment or to create a specific solution they read about:
- I recommend this method of learning programming for the first time to everyone and is the only instance where I encourage others to learn Python as a first programming language. Many people will discover a need for Python programming when learning about some new data management technique or imagining some new system to manage data. Python in my opinion is built specifically for people who have an idea, but have never programmed before.
- It is much easier to stay focused on learning a new language, which is what Python is, when you have a project and purpose to learn toward. Having an end goal gives clear direction and makes successful learning that much more exciting because you are designing a specific solution for your own purposes which you yourself have created and not some examples which have already been designed and do not engage the critical thought skills required to learn how to apply your Python skills to future unrelated projects. Python for these reasons can be challenging but rewarding once you learn the niche skills within Python to accomplish your goals.
Python is a simple intuitive language that can help teach you how to use some of the more complex logic-design patterns necessary to create math and science based algorithms and readable and intuitive data management and user interface systems.
Most people who are interested in becoming programmers are overwhelmed with the volume of knowledge surrounding programming and computers. To fight against this I recommend learning the most fundamental languages and how they work with the hardware to produce desired results. I also recommend learning about the hardware all the way down to the "logic gates", the manufacturing of computer chips, and the past and future of computing to get a grasp on what is and isn't possible with programming in Python and other languages.
Luckily even with the sheer volume of information available, Python programming in my opinion has the most beginner friendly developer communities and that's a good reason to start learning today.