DEV Community

Cover image for Do you think Python is overrated ?
Bek Brace
Bek Brace

Posted on

Do you think Python is overrated ?

Conversation between a friend [Java programmer] and myself:
Me - I code in Python
Her - I h ate Python, it's overrated

Subscribe in Bek Brace YT Channel
https://www.youtube.com/bekbrace

Join Bek Brace Page @bekbraceinc
https://www.facebook.com/bekbraceinc

Instagram
https://www.instagram.com/bek_brace/

Reach out
info@bekbrace.com

Discussion (56)

Collapse
nombrekeff profile image
Keff

This tells more about your fiend than Python.

It's not overrated I don't think, neither is any programing language (apart from solidity and other web3 stuff xD). They all have their place, and we, us developers have the choice to decide what language to use in each situation. Once you know the basics and have a good skillset, the language becomes almost meaningless, you pick the one most appropiate for the task at hand.

Collapse
rjrobinson profile image
R.J. Robinson

I can't express in words how true this is. "programming" fundamentals is paramount. After that, the rest is just learning the nuances.

This month I have written production Java and python. 2 languages that i've never pushed before. ( ruby dev here )

Collapse
bekbrace profile image
Bek Brace Author

how long have you been developing in Ruby ?

Collapse
bekbrace profile image
Bek Brace Author

I agree, and I think the main reason she despised Python is only because of its syntax, surprisingly, as she felt more comfortable with C like languages.
But, apart from my colleague, I've read a lot of opinions, especially on Twitter (i don't like to go there often for obvious reasons!) that Python is overrated

Collapse
nombrekeff profile image
Keff

Makes sense, we tend to not like stuff we're not familiar with.

I don't use Twitter at all, I despise it, makes me angry each time I use it

Thread Thread
bekbrace profile image
Bek Brace Author

same for me, Keff :)

Collapse
ben profile image
Ben Halpern

I think it's silly to be as reductive as just "Python is overrated", but to entertain that idea: Yeah, I think in some ways Python is overrated.

I see Python held up on a pedestal for some of its data/academic use cases, or just as the only language to do certain type of work in ā€” but in my experience I can find a library for most of the cool data stuff in any other popular language and I have never felt the need to get into Python deliberately for this purpose.

Python is a much loved programming language for a lot of reasons, but I have definitely met some people who overrate it for one reason or another.

All that being said, saying "I hate Python, it's overrated" is just a personal stance which is fine to have, but doesn't need to be taken very seriously. A lot of people would say that about JavaScript, and they're not wrong, but they're also only right on their own terms.

Collapse
etienneburdet profile image
Etienne Burdet

Agreed, I think it's over-rated because it's the default choice for too many things and increasingly so. It's the lazy "no-risk/no-reward", choice for too many things, where , yes things are doable and people know it, from data-science to backend plumbing, but rarely the best choice.

Collapse
bekbrace profile image
Bek Brace Author

Absolutely 100% I agree with those words

Collapse
leob profile image
leob

Thoughtful comment ...

Collapse
tandrieu profile image
Thibaut Andrieu

I don't think python is overrated, but I can understand people feel it is.

First, Python is a golden hammer:

  • Want to build a web server ? flask can do that.
  • Want to do super fast scientific processing ? numpy can do that.
  • Want to build desktop application ? pyQt can do that.
  • Want to do quick'n dirty tools for your build system ? Python can do that.
  • ... But like any golden hammer, you reach the limits when your application scales.

Python is slow when badly used (sorry to emphasis, but well used python is extremely fast, even faster than average C++ program). The problem is that python is very bad in doing loops and if.

So, you want to have a look to pyhon, you write an hello world program that sum integer from 1 to n and end up with:

res = 0
for i in range(0, 100000000):
    res = res + i
Enter fullscreen mode Exit fullscreen mode

And then you scream "Oh my god that's so f*** slow !!!"

But then, you try for example

import numpy
range = numpy.arange(0, 100000000, 1, dtype=np.float32)
range.sum()
Enter fullscreen mode Exit fullscreen mode

And you gain nearly an order of magnitude.

Collapse
bekbrace profile image
Bek Brace Author • Edited on

Totally, and even with this problem:
res = 0
for i in range(0, 100000000):
res = res + i

If you think you can fix it with list comprehension:
item = [n+1 for n in range(100000000)]

Then you're wrong, it's so slow

CAUTION Do not try that code, it will slow your system and will freeze the transistors even for some time!

Collapse
cicirello profile image
Vincent A. Cicirello

The reason the numpy version of your example is fast is that numpy is written in C. You're really contrasting interpreted Python execution speed (your first example) with natively compiled C execution speed (the numpy version) in this example.

Collapse
tandrieu profile image
Thibaut Andrieu

Well, that's the problem. When talking about a language, you don't talk about only the language, but all its ecosystem, its libraries, its package manager, its interop, etc...
WebGL is base on vendor's OpenGL implementation, which in the end are written in C. Does this means OpenGL is not a Javascript library ?
Some part of OpenCV C++ are written in CUDA. Does this means C++ is not fast because it uses CUDA libraries ?

DĆ©velopper est maintenant plus proche de coller des briques ensemble que d'Ć©crire un algorithme pur en utilisant uniquement le langage.

Thread Thread
cicirello profile image
Vincent A. Cicirello

CUDA is a C/C++ interface enabling utilizing GPUs. It isn't a general purpose language that can be compared to C++. It is complimentary to C++, enabling utilizing hardware that you couldn't otherwise directly use. It is the GPU that is speeding things up in that case and not an alternative language.

In the case of numpy or scipy (both great libraries that I regularly use), the speed advantage comes because those libraries are native C implementations. The Python modules are just wrappers. If they were implemented directly in Python, they would be slow by comparison.

One of the advantages to Python is the combination of (a) it is relatively straightforward to provide a Python interface to C, and (b) its relatively simpler syntax, etc compared to other languages. This is likely why it has been so widely adopted in data science and scientific applications. All of the computationally intense stuff is actually implemented and compiled natively in C. The data scientists, etc, can then use these as needed from Python with its simpler syntax.

Collapse
syeo66 profile image
Red Ochsenbein

And then you try 'n*(n+1)/2' ...

Collapse
darkwiiplayer profile image
DarkWiiPlayer

Python the ecosystem? I don't use it, but from what I've heard there's barely anything you can't find a library or a tutorial on, and in some fields specifically (like ML) it's probably the easiest language to get started with, so it's definitely not overrated.

Python the language? Yes, absolutely, it's overrated dog shit and I don't understand how anybody ever adopted it for any serious project let alone how it became as big as it is. I'd rather switch to lisp than to python.

Collapse
bekbrace profile image
Bek Brace Author

Lisp ? šŸ˜†

Collapse
darkwiiplayer profile image
DarkWiiPlayer

Yes?

Collapse
stojakovic99 profile image
Nikola Stojaković

I'd rather switch to lisp than to python.

Lisp FTW. I wish it was used a bit more in the industry.

Collapse
bekbrace profile image
Bek Brace Author

Have you worked with Lisp before ?

Thread Thread
stojakovic99 profile image
Nikola Stojaković

Yes, I worked with Clojure.

Thread Thread
bekbrace profile image
Bek Brace Author

cool!

Collapse
kaitosama profile image
Kaito • Edited on

I think Python is a little bit overrated, the language has LOTS of potential, but it will eventually not meeting all the expectations people have in it at this moment.
If we recall the Gartner Hype cycle, I believe python not reach the "Trough of Disillusionment" yet.
dev-to-uploads.s3.amazonaws.com/up...

Collapse
bekbrace profile image
Bek Brace Author

Gartner Hype cycle ... pretty interesting !

Collapse
vaarun_sinha profile image
Vaarun Sinha

Let's quote Bjarne Stroustrup:

ā€œThere are only two kinds of languages: the ones people complain about and the ones nobody usesā€.

Collapse
bekbrace profile image
Bek Brace Author

That's a good one :D

Collapse
natescode profile image
Nathan Hedglin
  1. Who cares? It's a tool. Are screwdrivers overrated?
  2. Python has pros and cons
Collapse
darkwiiplayer profile image
DarkWiiPlayer

If programming languages were tools, then they'd all have weird quirks like a screw driver that you have to hold with a reverse grip because otherwise it won't grip the screw, or a hammer that can magically hammer in screws as well as nails, but there's a weird bump on the handle that you have to keep your fingers off because otherwise it will pull the nail out instead of hammering it in.

Every programming language has these quirks, but some of them have more than others, and some quirks are more severe.

In that sense, is the screwdriver overrated? Really depends on whether you're comfortable gripping it like that.

Collapse
natescode profile image
Nathan Hedglin

Again. Who cares? It isn't a popularity contest. Use the right tool for the job.

Thread Thread
darkwiiplayer profile image
DarkWiiPlayer

Who cares?

Everyone should care. Precisely because you couldn't know the right tool for a job without knowing the available tools.

Thread Thread
natescode profile image
Nathan Hedglin

Who cares if it is OVERRATED. I DO care about standard library, ecosystem etc.

Thread Thread
darkwiiplayer profile image
DarkWiiPlayer

Same thing. Saying it's "overrated" is basically just short form "many users believe it's the right tool for jobs that there's really much better tools for".

Thread Thread
natescode profile image
Nathan Hedglin

Sure I get your point. Any easy language like Python or JavaScript is overrated simply because it is easy.

Thread Thread
bekbrace profile image
Bek Brace Author

Yes, this is applied on JS too

Collapse
andrewbaisden profile image
Andrew Baisden

I don't think Python is overrated it's far too easy for programmers to become super defensive over their choice of programming language. Like it's two rival sports teams trying to get a victory. I believe there is a tool to suit every purpose and the fact that we have so many tools aka programming languages ensures that there is something out there for everyone.

I can think of one solution to this argument. Just learn as many programming languages as you can or in a lot of cases that tends to be possibly 3 different languages so you can alternative between technical stacks.

Then you can just choose to use whatever you want depending on the use case. For example JavaScript for building websites, Python for creating machine learning apps and C# for game development.

Everybody is a winner!

Collapse
natescode profile image
Nathan Hedglin

Of course. All simple languages are overrated because newb coders like easy.

Collapse
bekbrace profile image
Bek Brace Author

In my opinion, Python is not an easy language, not just because the syntax is simple and more readable than C like languages makes it simple and appetizing for beginner programmers, I know a lot of those who started learning Python and did not like the indentation concept for instance, they had to study it because of their university course only, but later in their own projects they have switched over to C++ or C# despite the relative complexity of the syntax, structure etc...

My original question was a result of that comment my friend said, it was intriguing.

If you will take a look to SO survey for 2020, Python is the most demanded language on the market [ of course that does not make it the best ], however Rust is the most loved language by 86.1% of 65,000 developers.

Collapse
natescode profile image
Nathan Hedglin
  1. Python is very easy to begin with. If Python isn't easy then one shouldn't be a programmer.

  2. Surveys don't mean anything. I've read the survey. Your point?

  3. Your friend's comment is just an opinion, nothing more. Python and JavaScript are overrated, again by newbs mostly. I hate Python's syntax too.

  4. Python isn't a panacea, nor is any language; they're just tools. It works well for AI / ML and light scripting, not much more. It isn't ever going to replace other languages, runtimes and ecosystem.

  5. What's your point? Why are you debating my OPINION? Lol.

Peace āœŒļø out

Thread Thread
bekbrace profile image
Bek Brace Author

wow, relax. lol
I am not debating, your opinion is only your opinion.
I was just sharing my viewpoint with you, that's all.
cheers.

Collapse
vulcanwm profile image
Medea

Nah, Iā€™m still finding new things in Python everyday

Collapse
fen1499 profile image
Fen

From the point of view of marketing and business I guess it is, which leads to python taking places it shouldn't be. I would say that many python applications are overrated but not the language itself

Collapse
bekbrace profile image
Bek Brace Author

Agreed, Fen

Collapse
gjorgivarelov profile image
gjorgivarelov

You think Python is overrated? Wait till you see Java!

Collapse
waleedhcoder profile image
Waleedh Nihal Ahmed

Kinda

Collapse
stojakovic99 profile image
Nikola Stojaković

Yes, I think it is considering the attention it gets (but I completely understand why that happens).

Yes, it's very easy language. Yes, it has a vast ecosystem. But when I look at it, I can't find anything that is so appealing that will make me eager to use it actively. I think it's great for writing scripts and small applications, but for anything bigger than that, I would always take some other language.

Collapse
supportic profile image
Supportic

A programming language gets its job done. Point.
Use it or don't. It was just a cheap argument without any meaning.

Collapse
jmau111 profile image
jmau111

It's not overrated, it's easy to learn and use, with a very convenient syntax. I love that language, particularly for scripting instructions and browse large csv.

To me, the only case where a language can be "overrated" is if someone talk about it without knowing it. For example, a "non-technical" profile who says "the dev made the tools with Python." Nice, but why?

Collapse
rafo profile image
Rafael Osipov

Does anyone think the chisel is overrated? Yes, the same work can be done with a screwdriver if you want. But should it be done with a screwdriver?