Python hate thread

This is objectively the worst fucking language

Attached: python.jpg (1440x900, 59K)

But its so easy it must be good

Print "fart"

>This is objectively the worst fucking language
t. neet who has never held a single programming job, and never seen advanced Python features like metaclasses.

At least state why you believe that Python is so bad.

Do references and pointers in python.

>and never seen advanced Python features like metaclasses
Those are actually an antipattern with their current semantics.

You don't need to. Why make a function pointer when you can pass functions as an argument?

>Shitty use of blocks via tabs
>Inconsistent versions where basic functions and features aren't consistent
>if main == __main__ run main

This language makes it fucking unbearable to use different files from across the web, let alone working with other people. Let's hope your tab index is the same, or you can figure out how many times you should hit space. Or let's make sure that you're using 2.7 or 3 or fucking counterstrike 1.6

But let's just be glad strings are easy and no semicolons hurrdurr :^)

objects are already passed by reference tard

Attached: 1556144905957.jpg (225x225, 9K)

This, hilarious how Python users bitch about JS, but at least JS CAN do basic name checking before execution.

Stop expecting a scripting language to be C. Python get's the job done for simple shit like web scraping.

Fair enough

>but at least JS CAN
>simple shit
i just love it when people that don't use python think they're experts. they should be spending their time and using their pretend expertise to load up their favourite shotguns, put them in their mouths and pull the fucking triggers. make humanity great again, you useless faggots.

>Let's hope your tab index is the same, or you can figure out how many times you should hit space
This is standardized you tard, if your editor isn't configured for flake8 then it's your own fault. If your collaborators can't follow it either then you're all idiots.

>hurr why are incompatible versions incompatible? a decade is too short for me to figure out the difference between 2 and 3
Stop being a copy-paste code monkey and this problem goes away.

Attached: 1555664202655.gif (395x520, 1.69M)

I love RUBY

You can set this up while working on Python also. Pretty much any sort of tooling you want exists for Python to solve all of these problems.

>>Shitty use of blocks via tabs
Just use an IDE.

>top being a copy-paste code monkey and this problem goes away.
what do you expect? large amount of Jow Forums users can barely use any language, including english. they're just that useless. im sure they fail in spectacular fashion just copying and pasting code from stackoverflow.

Even for shit like that you can just use Scheme
Python has no reason to exist

i'm trying to get away from python but goddamn if you can't do almost anything reasonably well in ~10 lines

Why the fuck did you quote me faggot? I was defending python by saying that it wasn't meant for for full-blown software.

I fucking LOVE LUA HNNNG

>Hurr durr I suck dicks
The problem is that we actually are experts and therefore are delegated to fix code from the subhuman likes of you for a living. In particular in cases when their garbage kept growing and they didn't understand that they weren't allowed to throw away their prototypes and that their "simple shit" inevitable got integrated into a big piece of shit.

everything is a pointer in python

>Scheme in production
You’d have to find a standard implementation for everyone to agree on first.

It doesn't matter. A bolted on, opt-in, half-assed type checker isn't enforced and therefore is automatically worthless.

Lol, I don't think any language can top python on webscraping.

It’s a dynamic langauge, what do you expect? MyPy gets you nost of the way if you are disciplined with it.

wrong & deprecated

That's the sort of thing that needs to be built in, but it's not terrible now. I've been tempted to replace all my defs with lambdas so i can avoid meaningful whitespace in them but that seems like I should just rewrite everything in a better language instead.

i dunno man i like python

sometimes i try to write pseudocode but it turns out as python

This wouldn't work in Python 3
But it would detect the error, and even say "did you mean 'print("fart") "
But it still wouldn't run

>It’s a dynamic langauge, what do you expect?
I don't expect anything, people are brainlets after all. If they weren't, I would expect them to have gotten rid of a lot of more pure garbage a long time ago.
>MyPy gets you nost of the way if you are disciplined with it.
>if you are disciplined with it
Again, this isn't about me.
The only way to ensure maintainable code is to directly put a bullet between a programmers eye once he suggest writing more than 10 lines in dynamic garbage.

It literally is the anti-functional language.

thank you for posting. i completely agree. fuck this language

reduce() was removed from std too.

this.

ruby is fucking epic, i just got someone to switch from python to ruby, their code is shit bc theyre still "writing python" but its a step forward

Well, this is also an interesting point, but what I actually mean is, there is no way to actually program declarative in Python.
Literally every construct is a statement, executed at runtime. Everything is a side effect, for shits and giggles.

version management is a fucking mess

then youre a fucking idiot

Actually, Ruby is plagued by a lot of the same problems.

Python is the best programming language retard. It's what the Linux kernel is written in, faggot.

A reference is a non null pointer. Only pointers are allowed to be null.
So again, do a reference and do a pointer in python.

Why?

ruby is cute, very pleasant to deal with strings in. Shame nobody needs perl5, it's a good competitor.

Static typing is garbage. It gives you false safety and handholding so you can outsource it all to India. In reality, everything will start breaking in runtime because compilers detect only around 70 percent of use cases.

Meanwhile you should do the thinking yourself and implement type safety in the context, in your user space code. There are plenty of fast dynamic languages out there, too, if performance is an issue.

Python is good because it is general purpose and widely deployed in many contexts (science, data analysis, machine learning, web development, automation), has a ton of good libraries and simple syntax that makes it easy to learn and use.

That being said, it’s not necessarily the best language for any one scenario and what it wins in ease of use it suffers in speed. It’s high-level, so you of course won’t be doing anything too close to the hardware. Depends on what your ends are. It’s a good language to learn as a beginner because it’s easy and can be used for many things which means it’ll get you writing code quickly. If it excels in any area it’s as a scripting language for none-developer people like systems or networking guys looking to automate some tasks.

I think a lot of the hype/praise is a result of an echo chamber around the large crowd of new people learning code and preaching about the gospel of their first language being “the best ever”, and the badmouthing/backlash comes from people who recognize that Python is not necessarily *the best* at anything.

Pragmatically speaking, it’s a good language insofar as you can built stuff that works.

>chooses slow language to webscrape
Just moronic.
We need these pajeets to uninstall and go back to picking cotton

runtime type checks just are not feasible in really any use case because the alternative justwerks. There might be pajeet logic errors but type errors are a solved problem.

Why use python when any lisp is superior in every way?

Stop being reasonable on Jow Forums

Prove it.

>stop using vim and use a real ide

if you don’t like python then i guarantee nothing you code has any value

pip pip2.7 pip3.4 pipenv
pip2 pip3 pip3.6 pipenv-resolver

Attached: tired2.png (1022x731, 643K)

cpython exposes all of its internals and libc via ctypes, it can be used to avoid copying in some situations

Oh really? So pick a language you think is type-safe and ill show you why it is not.

Jesus christ. My personal scraping and parsing tools ive made in qt probably outshine anything written in python.

rust :^)

There is no purpose for pointers in languages which automatically manage memory. Even sepples prefers references to pointers, because the former is archaic garbage.

T. Pro fizz buzzer

>deprecated
Lol after a decade, i still have a v2 interpreter installed on my machine by default.
Pydevs are so fucking retarded to purposefully deprecate and break their shit.

What makes it so special?

WTF I LOVE PYTHON NOW
YOU DUMB FUCK

Because you are using a deprecated distro which insists on shipping with v2

What did reduce() do? I barely touch stdlib

Python is bad, but not horrible. I'd absolutely prefer to use it over most other job languages.

reduce is universal funcprog shit, reduces a list~ to a single value.

>hey what does this function return?
>>who knows??????????????!!!!!!!
>i guess i better read everything
This is whu dynamic fags have 70% higher suicide

if i was writing a serious scraper i'd use qt's webkit bindings or javafx's webkit bindings or puppeteer, but python is also okay

Has a ton of bad libraries. Have fun trying to figure out which.

Qt.

theres enough latency that speed won't be a real issue, a GIL would be though.

Does qt/javafx have some magic beyond gui shit? What's the point?

Haskell

this

Lisp requires intelligence and actual programming knowledge, while on Python you can just import any library and do do.Thing()

Well, intelligence maybe but there's a minuscule amount of knowledge required for lisps. Also plenty of libs to do things for you in some.

>Lisp requires being an autist neet who insists on reimplementing the wheel instead of importing a proven module and getting on with their work.
Accurate

they can run headless for scraping and are a hell of a lot lighter than anything chrome based

Anyone using Python should be writing Cython first if they can.

We're waiting user. I'd really like to know.

Multithreaded for one.
Knowing python, that should be enough to blow it out of the water.

Buuuut what else?
My parser encapsulates code blocks into generic bracket types, that have every property accessible via a map.
It could for instance take a self closing tag, add content, and reconstruct it as a normal tag or I could even reconstruct it as json, a wikitemplate, or a ton of other types.
When it comes to filtering, i can use regular expressions, strings, string properties, in both include and exclude modes. I can even modify the values by exposing them to a hash before i do filter checks on them.

Not sure if any of that made sense, but its a million times cleaner and more cozy than css

fuck this dog shit language.

python2.1
python2.5
python2.9
python3
python3.5
python3.6
python3.7

please stop this madness

Its the latest ubuntu.
God you are dumb.

Fair I guess, if thats what you gotta do.

Why even use python~ at that point?

Still better than JavaScript

I don't even hate javascript (the language) anymore. Node.js is fucking garbage though.

sure it's backend isnt great but thats made up for by the features, + its faster and better than python so ill take it

I dont know about javafx, but i program only console applications with qt. Gui and platform consistency is a nice to have, but qt has a full stack of quality and vetted libraries, and their design philosophy is basically
>everything as an api

That makes it amazing to use.
It also has qbs.... which is heavenly. Qml if you need something higher level. Qtcreator which is cozy and allows vim.
And given that its c, you can do systems level programming in it, and interface with things like the kernel or x.

just use venv, pipenv is a fucking meme

string manipulation in ruby is fucking based:
`ls somedir`
.gsub(".tar.gz", "")
.split("\n")

OR

regexed_output = `some command`[/re/]

Exactly. Component distros all switched to 3 a long time ago. Its only the debian and ubuntu turtles who can’t move on.

Because python is actually pretty good performance aside.

javascript

Doesn't even support smart tabs as indentation. Pure garbage.

Fix your editor dad

>performance aside
you just invalidated your own point

Not sure about about Haskell due to algebraic types, but in Rust you can't have an upper-bounded type. Consider fn like this:

fn hello_g(list: &LinkedList) -> Option {
let mut hello_g = None;
for &val in hello_g {
hello_g = Some(val);
}

hello_g
}

It will compile but you can expand input any to whatever the fuck you want. Clearly, you don't want that. What do you do here? Right - implement your custom validation. Same goes for literally any other type aspect you can't compute at compile time.

not your (You) but
phantom js is a cross platform with webdriver tool..
and it needs backend support like python, java...
you cant say only js in webscraping...

>eating your own shit is good, flavor aside

vim has plugins for all of these things, are you telling me you don't use plugins with vim?

but that doesn't compile

Attached: Screenshot_20190429_173550.png (996x1059, 108K)