this post was submitted on 02 Apr 2024
143 points (98.6% liked)
Programming
17483 readers
279 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
No. Dynamic typing, though, is absolutely a fad.
Dynamic typing is not a fad.
Python is older than Java, older than me. It is still going strong.
Python also has a statically typed option these days.
Edit: Previously said "strongly" instead of "statically"
Which one? There is static typing with the
typing
module, but that's not strong.I should have said statically typed, fixed.
Ah, gotcha, thanks! I'd have loved a strongly-typed option.
The static typing system is slowly getting there, but many useful Python patterns can't be expressed yet. You can, for example, write a function that appends an item to a generic tuple - but you can't concatenate two tuples. I really hope they keep expanding on the system!
Isn’t Python already strongly typed?
No:
I haven’t used Python since around the time when type hints first became a thing so I might be completely wrong here, but isn’t this because Python just generally ignores type hints? If you ran a static type checker like mypy over this it would complain right?
Also, if you actually did anything with the list that you couldn’t do with a bool (e.g.
len(value)
), it would throw an error too because Python is actually pretty strict about types, just only at runtime. That’s why it’s usually considered to be strongly typed, although people don’t seem to agree what exactly that’s supposed to mean.This just blew my mind. I had always assumed Java was older. I started writing hobby projects in Java in the 90s. I don't think I heard about Python until the early 2000s.
"Strong"... how many actual projects run on python?
Half of the internet ( backend) runs on java, banking, your government systems, etc.
It's not a fad, it's just unusable for anything other than research project and small time scripting, which to be fair, it's what it's designed for.
You have no idea. Python (and Ruby) are used widely in the industry. Large parts of YouTube are written in Python, and large parts of GitHub are written in Ruby. And every major tech company is using Python in their offline data pipelines.
I know of systems critical to the modern web that are written in Python.
With how shit youtube is I am not sure you made a great case for python mate.
Thats a meaningless statement, ETL tools can execute python as part of a multi step process and then yeah they use python in their data pipeline, but the ETL tool that orchestrates it is which is the actual value add software is not written in Python it's written in Java, I know this for a fact...
I'm not good with names about logical fallacies but that sure is one. You asked for "actual projects" and YouTube is one of the biggest and most popular platforms out there. That you personally dislike it is irrelevant.
So what's your point, that interpreted languages don't count because they're interpreted? Why stop there? It's the actual C compiler that was used to compile the JRE that brings the value here, so your ETL tool doesn't count.
You're either a troll or a joke.
If you dont know the difference between software and script I am not sure I can explain it to you...
That distinction is not relevant at all in this discussion.
But hey, I think that's one I know: should count as a strawman.
How is it not relevant? This is my comment you are replying to
I'm sorry, apparently I missed that because of your dismissal of YouTube.
To make up for it I have another small scripting example for you: the Instagram backend runs on Python, too.
So, to my example of critical, important infrastructure of government and banking running on Java, your reply is, youtube and instagram.
That's lit mate, no cap, frfr. (Sorry I am not that familiar with your gen's slang)
No, I'm not going to follow your logical retreat any longer. You said
You were presented with not small but big time scripting and two of the largest and most popular modern web platforms of the world (BTW I neither use nor like those myself but that's, as mentioned, irrelevant) and still cannot admit you're wrong, so I don't think you would even if I dug out some examples in "serious" fields (apparently building trillion dollar companies on such platforms isn't serious enough).
Also never assume generations. According to social media demographics, odds are I'm older than you.
And my example of knowing critical systems for the web written in Python is somehow different from your argument?
What a joke
I work in investment banking environments (calculations). Python is everywhere. Java and C++ as well.
Yeah calculations, not actual software... how is this hard to understand... you don't write long lived, stable software that multiple developers work on that needs to do real work in python
So, calculations are not actual software... I'll stop there.
No, it's a script
Well, no
It might not be a fad, but it's definitely a local maximum and/or a limitation that many devs seem to be stuck with.