Why is Python so current?

Asked

Viewed 1,494 times

7

I noticed that the world’s leading sites (Google, Facebook, Youtube) still use Python. I found in several sites the advantages of using Python (simplicity, robustness...), but I still follow with doubts:

  1. Why Python is so current?

  2. Java being more current would not do everything that Python does?

  • 2

    Could you explain your doubt better? What exactly "current"? You want a comparison between languages?

  • 1

    What it is to be "so current" and "more current than so current" for you?

  • Current would be in the sense to be popular and widely used, so I notice, including by the questions here of the site, even making a few decades of its creation .

  • @Andréfilipe by the time of creation, li python was created in 1989, and java in 1995, correct me if I’m wrong.

  • 1

    I don’t know much python but I’ve seen it be recommended several times as the language to learn to program, due to simple and intuitive syntax, another point in favor is its versatility, is widely used in AI (artificial intelligence), data science (data science)creation of web servers and desktop applications, all this combined with good performance

  • 1

    If actuality were an attribute of superiority in a language today we would all be programming in Haskell.

  • 3

    @Augustovasques Haskell is older than Python :)

  • @Maniero, you’re right, they’re a year apart.

  • python is very easy to understand so is very productive Java is very prolix compared to python and is essentially Object Oriented

Show 4 more comments

3 answers

30


I noticed that the world’s leading sites (Google, Facebook, Youtube)

False premise. Can use punctually for some script or some code that the responsible team thought it should use, but they are not fundamentally written in Python.

Understand that all the places that propose to speak well of a tool end up doing just that, even if you try to say that you are impartial. Of course, many of these may have talked about the disadvantages in a correct way, they may not have exaggerated the advantages. Note that your question has a certain bias towards Python, so they got what they wanted, sell the idea that Python is sensational.

Have you ever thought that Python has been the same for years, and even in the great change of 3.0 hasn’t changed that much? What has changed is people’s perception. I encouraged the use of Python more than 10 years ago, I had even given up hope that it would be well used.

Whenever someone is speaking only well of a language, it’s because they love language, not because language is all that. And Python is full of problems (unlike marketing it’s full of WTF, just not as much as PHP or JS, but there’s a worse side, people don’t talk about them), I’ve noticed this more and more as I look deeper. This does not mean that it has more than other languages and that it prevents its good use.

Why Python is so current?

Python is just another programming language that solves problems that require expressing computational algorithms. It was created almost 30 years ago, evolved like many languages, and has been acquiring users over time. Lately there have been more people coming in and liking it. Having more people like it tends to have more people knowing and liking it, so everyone fights so hard to make their technology well known. Besides, I can’t explain the sudden popularity, except for what I say below.

Java being more current would not do everything that Python does?

I don’t know if this makes sense, Java was created 2 or 3 years later. To tell you the truth I don’t even know what this "current" is, I don’t know if it fits into objective criteria. And subjective doesn’t matter. If you mean being popular, it’s not that popular.

Java is still much more used than Python, C# is not even spoken in Javascript, and even PHP is even more used. But it’s time for growth, so people’s perception is that it’s at the top. When something was underused and comes into great use it tends to distort the perception that that new demand is too great overshadowing the normal demand for technologies that are at a normal pace but still at full strength.

Java does everything Python does and vice versa, just like any other language. Some allow to do certain things better, in an easier way than others, each one with its advantages. Java for example is much more robust than Python, although Python is also to some extent so the advantages it saw are relative.

For some reason Python started to be used with artificial intelligence, but everything you can do in Python in this area can do in other languages, usually with more performance and robustness. I don’t know, maybe because it’s easier, who doesn’t know how to program ends up using Python, after all she’s more permissive, lets you make more mistakes. Python facilitates the idea of the "works so it’s right" that people love, and that is not at all robust. And almost everyone who enters the area nowadays does not know how to program and does not want to learn, just want to produce codes.

Fiat 147 todo detonado andando pelas ruas

Python is slightly easier to learn than a more robust language. Javascript is even more, is faster and more permissive (if using Typescript can get a little more robustness) and generally can access all AI libraries that Python accesses, so I can only believe that this popularity is just herd effect, people go to Python because there are people talking about going to Python (JS has much more WTF).

Python is cool, it has advantages and disadvantages. It is better for some things, not others, but it can be used practically for everything. Of course, unless you have some platform restriction, you can’t easily run on a browser, may not run on any embedded device, or may not be ideal to run on mobile, or even within a database, or run directly on hardware, etc. Professional programmers use the best tool for the task and Python is good at several of them, when you need to scripts. Many problems need only them.

Popularity

Little by little you can understand that what we’re talking about here is popularity, and the topic kind of focused on that.

It is undeniable that in recent years Python has grown a lot, especially in the last year. What has changed? Nothing technical, only that there was a conjunction of socio-political factors that created a positive spiral that was feedback. Which makes me increasingly certain that most people who work in the field are not real engineers and are always very susceptible to marketing, It’s no wonder that companies and communities that are behind certain technologies invest so much effort in making it look popular. Popularity attracts popularity (this reminds me Girlfriend for Hire). The language has always been there the same way as always. C# changed much more, opened the fan and did not have the same explosion, still had new adoption (for some reason people program in C# as they did 10, 15 years ago, so I have a talk showing how to program in the modern way).

Unfortunately many people no longer program in PHP, they program in Laravel, CI, etc. They almost never programmed in Ruby, only in Rails. Just as they programmed more in jQuery and now in Angular, React or Vue. Yeah, none of that is programming language, but people don’t even realize it. Those who have entered the area have not learned to program, only use these technologies to gather pieces of Lego and make something work. One of Python’s trump cards is that she has several frameworks with distinct functions and not just several web. Django’s use is even small in proportion to the community as a whole.

Bias

If looking at the existing vacancies means only that the area has a lot of turnover or difficulty filling vacancies with suitable professionals (It’s getting worse, full of vacancies, full of people coming in and the vacancies can’t be filled because people are very low-skilled, and they don’t want to do their homework). This is worse in languages that attract more unqualified people. If you look at it, it looks like you don’t have a job for C and C++, but you do, except that people in this area don’t really change jobs that much, and vacancies are filled a lot on the basis of networking.

If you look at events and congresses, some languages appear more than others. Again C and C++ practically disappear, because if the person only uses for college exercise does not go in these places, and if he is professional even in this manages to get his knowledge in other ways or all in English.

If looking at the OS or similar sites means only that the documentation is bad, that people interested in that technology are more lazy or disqualified, or that the technology gives too much trouble. There is also the other side. D has almost no question in the OS, but because the community has decided to focus on the forum itself. There is distortion for several reasons. Or do you think R is being used as it seems?

If looking at searches indicates only that there is interest in it, even if it is just curiosity. Or it can be just false positive, easy to happen.

Books, conferences and articles indicate this too.

Blogs and the like indicate more community engagement, not necessarily use.

Github just looks at the open source. Are there projects that are usually very internal, who uses it doesn’t make a fuss, or do you think that no one else uses COBOL or Clipper? You’d be surprised. It has language that does not have, or did not have so much community spirit. It has language that people are not very adept of the internet. There is community that beats the drum stronger than is actually used.

If you walk in certain circles tend to think that it’s much more popular than it really is, and tend to think that other things aren’t used that much, especially the ones that are more discreet.

The reality is that it is very difficult to say what is most used, the margin of error is very high, you can only get a notion by looking at many sources. Just don’t use TIOBE as a reference. VB.NET more used than JS and C#? Hilarious! I could cite so many inconsistencies there, but the number of combinations is very large.

We can say that Javascript is the traditional programming language (exceptional Excel, but today maybe JS already win because spreadsheets are not so much used, although it is much more than I would like) more used because people adopt web in exaggeration and is practically the only option for web frontend (along with Typescript now) and is option for backend. Java, C#, Python and PHP are often used for backend, and except the last one, a little bit for desktop too (yes, it’s still important). These are fired the most used and it doesn’t matter which one is the most used.

C and C++ still have strong use, but the bulk of the visible interest is because of college and the like. Swift exists on the map because of iOS, Kotlin has been growing. Delphi is in survival mode, and Ruby is losing space. Perl almost died in fact. Go has been growing, Rust and D serve some niches well. R seems to me to have a more academic but strong use. BASIC survives, mainly with VB.NET. Moon has its niche. But it still has room for COBOL, Fortran, Clipper. Or we can still talk about some use of functional languages like Haskell, OCAML and F#, Scala, etc.

  • 1

    "Note that your question has a certain bias towards Python, so they got what they wanted, selling the idea that Python is sensational." I hadn’t thought about it! Thank you very much, full reply!

  • 1

    The most important thing about Tensorflow (always taken as an example of python) is that, for the most part, the core is not in Python: but in a combination of highly optimized C++ and CUDA (Nvidia language for Gpus programming). And in turn, using Eigen (a high-performance C++ numerical library and CUDA) and Nvidia cuDNN (a very optimized DNN library for Nvidia Gpus, for functions such as convolutions). But it’s like the fellow above said, herd.

  • "Java is much more used than Python, C# is not even spoken in Javascript, and even PHP is even more used." Can you pass me the source of this data? I saw reports saying that Python had already surpassed most of these

  • 1

    @Viniciusmacelai cite the source, let’s see if it is kick or if it has any relevance and foundation. Nowhere we see this. Although it has decreased is still much the joke, which is still worth a little, Python programmer is unemployed, many people playing a few working with it. As I said below, anywhere that says any language is more used than JS is saying something very wrong and this is obviously absurd. Though I think it’s a mistake to use so much.

  • @Maniero this is point, I do not have the source ready, after a quick search, lebmbrei the one of IEEE https://spectrum.ieee.org/at-work/innovation/the-2018-top-programming-languages and wanted to validate its source. Here in my region the demand for python programmers has increased considerably, passing java.

  • 1

    Have you read this ranking? It’s not even about usage. That’s why I say the person picks up any list, which has no definite criteria and considers that that is the use of language. Neither this, nor Tiobe, nor qq other site says which is the most used. By gathering a lot of information and having a little common sense you can infer something approximate. Again, any source that says that some language that is universal, which is used as frontend, is less used than a backend (which has several competing technologies and spraying, has even JS), is completely bored.

  • 1

    Analysis of region, of sector, of "people I know" are not valid to say what is used more as a whole. All this is unrealized perception. Lucky for those who have the perception that matches reality, but this does not always happen. That’s why people get crazy about Microservices, Ddds, Nosql, because there are a lot of people talking about it and it seems like everyone is used. Right there is 0.1% of people wearing because these things are not for general use like this, turn the trend.

  • 2

    And that’s what I said, now everyone learns Python because everyone is learning Python. When it was right for people to study computing, engineering, science to make better decisions and grounded and thus be prepared for the right technology, not for the fashion of the moment. I commented below how to find this information, and as nothing will be 100% in this subject.

Show 3 more comments

3

1- For beginners, Python is incredibly easy to learn and use. It’s actually one of the most affordable programming languages available. Part of the reason is simplified syntax with emphasis on natural language. But it’s also because you can write Python code and run it much faster. In addition, it is powerful and by having these features has become one of the most widely used languages for programming neural networks. See Google tensorflow for example.

2- Knowing that both languages are "old" for the standard programming, 1989 for python and 1995 for Java I would say that although Java does everything that python does, Java has a higher learning curve than python and often lacks the naturalness of the language that python has become. But Java is still an essential language for any programmer, especially if you want to program mobile. In my case, I find a language simply fun to program, much more than java. But I repeat, in my case.

  • 4

    I wouldn’t say that "Java is still an essential language", today there are many languages and, although it is still the most used, Java would not be essential, not even for a mobile programmer, because the official language is Kotlin, outside that many create mobile applications with React Native, Ionic, Flutter, etc.

  • 1

    You are correct. It is because java tai for so long that we end up exaggerating. I really like React Native.

  • @Guilhermecostamilam if Kotlin has become "the" official language, I’m not aware. For me she and Java are both official languages.

  • In Java jre loads already compiled files, after implementing the compiled files which is the case with Java are much faster than interpreted which is the case with Python. One problem that people complained about is that Java "carried a lot of stuff" in memory, but this was solved from Java 9 with Jigsaw.

3

Only complementing a part of the response of @Maniero, where he makes a comparison on the language Java and the Python:

Java is much more used than Python

There is a website of a company of quality of cool software that contains a list of the positions of the most used languages in the world. It is the UNCLEB. There is information that may raise some questions about you regarding the greater usability between languages and their percentage in relation to others.

@edited

We can also check another very interesting ranking of the most used programming languages in the last 5 years, with a Top 10 based on projects created and developed in the Github.

  • 1

    Remember that in this update of January/2019, they mention the language Python as the programming language of the year, with emphasis on other languages.

  • 1

    Thank you for mentioning the site, I will take a look yes!

  • 1

    Not expensive, I find the site very interesting, including it is quoted in many programming books in the part of curiosities.

  • 1

    And this statistic is nothing reliable. Everyone who is experienced does not consider it to be true. Looking at what people ask on Stack Overflow or put on Github gives a better idea. Even this gives the wrong idea because this has its biased side by a number of factors that we do not always understand, may be things that go more in open source than others, (C# is much more used than it seems, but has little open thing, compared to others)or because the documentation is too bad or gives too much problem or has too much bad programmer and generates more support, or it may still be because the...

  • 1

    ...language has more active community, or has more jobs because it has more turnover in that area, or sells more books because it is fashionable, but it is not something sustainable, or has a lot of questions or articles because it is used a lot in college, but not in practice. Why do you think C is used so much? It’s not even used that much in fact (it’s a lot, but not as much as it looks). Does anyone think that C is more used than JS? Anything that doesn’t put JS first is wrong.Anyway, there’s a lot to list. The Tiobe index can be used to have a notion, but not as reliable and definitive data

  • I totally agree with you, therefore, it would be difficult to find a statistic on this reliable subject, when it comes to programming languages the diversity is giant and what will matter most in these cases would be the criteria used in the formulation of the results. TIOBE has a link explaining the criteria used in its mechanism for defining the indexes displayed in the tables.

  • 2

    Cool you have posted the "ranking" of TIOBE. I like it a lot this one from Github.

  • 1

    Nice guy, I think it is even valid to make an edition of the answer to add this ranking of Github.

  • Good George! also think valid André, the more sources better!

  • 1

    @Georgewurthmann is a good reference, but only for projects open source. It drops all languages that are used more in internal projects, which greatly distorts actual usage. That’s why you have to look at several fountains and make a broth.

  • 1

    @Maniero, yes, you’re absolutely right I usually look a lot at the TIOBE also that is already in the comments and use also as reference the tags of the OS!! hehe

Show 6 more comments

Browser other questions tagged

You are not signed in. Login or sign up in order to post.