I assume that you have already eliminated other low-level programming languages such as Java, C, or C ++ as an option.
These two languages are getting more and more popular. Therefore, I think that these two languages will come out numerically in the recommendations they receive from the people they consult.
When seeking advice on any matter, the expertise of the adviser also determines how seriously the advice should be taken. For this, I think it is essential to talk a little about myself and my experiences with those programming languages.
First, what I should say is that I am not an expert in software. Please note that this post is only the opinion of someone who has been dealing with software for 3 years.
I will provide more detailed information about me in the following sections of the article, under the title Personal Recommendations.
I will give a few examples from the survey of StackOverflow.
This info-graphic shows the responses of developers who do not speak that language now but want to learn in the future. Python is by far the leader in this list.
Python is a high-level language developed by Guido Van Rossum. It is the first language I learned. Therefore, its place in me is different.
Let us point out that the Mozilla Foundation is one of the 3-5 non-profit actors who are the game-setters of the internet. (Others: Google, Apple, Microsoft)
In short, it is the only actor who cares about the users, not the profit of their own companies.
As a nonprofit recommendation, I can also recommend using the Brave browser. It is a fast and Chromium-based browser developed by the team of Brendan Eich.
You may call it a cliché, but its accuracy is beyond doubt. The software will teach you how to think. Therefore, the programming language you will choose first is important in this regard.
One of my experiences with the similarity of natural languages and programming languages is that I still get the feeling that I am writing in my native language while writing Python code.
Higher level languages abstract away technical complexity with the cost of somethings like speed.
In this context, if you intend to work with relatively lower level languages such as Rust, C, C ++ in the future, starting software with Python will bring some difficulties.
Because the first language you learn is Python, the way you think will be as Python dictated to you.
I graduated from Boğaziçi University in 2017 as a civil engineer. When I graduated, my relationship with the computer did not go beyond being able to crack and format games.
I started to learn Excel, thinking it would be useful for companies when applying for jobs. I started my first programming language adventure with VBA, thinking that it was necessary to write macros while using Excel, but I realized I understood nothing.
Later, I started Python with the knowledge we gained with my roommate about the importance of Data Science and Analytics.
I’m sure many of you hold back on what’s popular. When you see what the mass likes, the most popular lost their attraction.
This is not the case with software. It may be a little pretentious, but a software language without a community is nothing.
Namely, while talking about an open source software language, someone has surely encountered the problems you have encountered before, mostly asked them in Stack Overflow and the answer was given. This means that you will find solutions to the problems you encounter more easily.
Also, there is no need to reinvent the wheel. Someone will have written a library before for a lot of things that you will need to code step by step from the very beginning. Using them will save you time.
When I learned the basics of the Python language, I was learning new things about Data Science and trying to apply them. Thus, I was improving both Data Science and my Python skills in its application.
Considering what I have mentioned above, there are justified reasons for recommending Python for data science. The NumPy and Pandas libraries, which are Data Science libraries, are libraries that will eliminate the disadvantages of Python, such as the slowness of speed because of being an interpreted language.
I continue my own story. While learning a lot about data science, I realized the necessity of working on a project implementation. I wrote a program that calculates how many points people can give for a movie they don't watch, based on their cinematic taste. (Is currently retired)
I had several options to make this available to people. I would either share it as a web application or launch its mobile application.
Thinking it would be easier to publish on a website, I started researching how to make a website with Python. I settled on the Django library. I can recommend MDN's English Django Education Series to those who are interested.
Of course at that time, I was not aware of the front-end or back-end distinction. Django actually allows you to develop a full-stack application, however. In any case, the HTML and CSS markup languages you should learn are mandatory.
Especially after Facebook developed React and Google's Angular, it became possible to write effective code and make application quality websites with framework libraries such as Vue developed by Evan You and Svelte developed by Rich Harris.
Of course, it is not just a website that the HTML / CSS / JS trio called front-end can do.
Using this triple technology in mobile applications was a situation that would benefit many website developers.
For example, let's consider the Instagram application. When we look at it, it does not need a very powerful graphics card. It is very easy to make up an ordinary web page.