Literally no better language than Python. Easy to learn and yet powerful...

Literally no better language than Python. Easy to learn and yet powerful, clean beautiful code - no syntax noise like in C/C++, big active growing community.
>inb4 but "m-m-mmm-uuh speed"

Just use static typing, you fucking retard. Look how much time you will save by writing cleaner code and not recompiling it every time you made a mistake.

Attached: 220px-Guido_van_Rossum_OSCON_2006~2.jpg (220x254, 19K)

What’s amazing is that this is simultaneously all true and yet here on Jow Forums it’s also amazing top tier bait.

Attached: IMG_0171.png (600x600, 17K)

Attached: 1563157711595.jpg (550x448, 75K)

Python was fine before multicore became the norm but with AMD making 8+ core CPUs the mainstream norm, Python and its GIL are tired and busted.
>nb4 import multiprocessing
don't make me laugh

unless the compiler is written in python, compiler speed is rarely big enough an issue for me to switch to a language with terrible performance

Like all languages, it's going to hell with so many added features. Pythonic code my ass.
It's getting to PHP tier levels of stupidity.
When you are forced to work with multiple languages and code from other people it becomes a nightmare. I already told my boss I'm not doing code reviews anymore.
Fuck this entire industry.

If only python had a type system

Based. Cniles btfo that I can write an entire parser in Python with less lines than just creating the tokens would take in C.

It does, the language is strongly typed (unlike C’s weak typing which is JS tier)

I've never seen a type signature in python

I miss the old days when programming was about being autistic and spending whole nights trying to achieve something way above your league. Fuck social media, code reviews, open offices, unity and your easy yet powerful baits.

You can make them, for readability, the interpreter doesn't give a fuck about it though.

>but with AMD making 8+ core CPUs the mainstream norm
Except they aren't. Don't kid yourself, Ryzen 7s (and Core i7s) are NOT the mainstream. The mainstream buyer buys i5s and R5s, both of which are STILL 6-core, and will probably STILL be 6-core next year because AMD wants to be the new Intel.

But 'm an electrical engineer who work embedded systems. I'm not a filthy computer science code monkey who work at real estate agencies writing PHP.

What's the point of writing a type signature for readability if it doesn't actually guarantee anything

> i'm too dumb to use multiprocessing, the post

cpython can still handle most things, there's also pypy, also subinterpreters are coming

with multiprocessing.Pool(multiprocessing.cpu_count()) as pool:
pool.map(do_shit, shit_to_do)
So easy to write, too bad it still fucking sucks performance and memory wise.

Come on with that shit man. I use that cludge shit just fine. It's slightly tolerable when your processes don't need to communicate but when you throw pipes, queues, and shared memory with a helping of pickling objects, knowing the whole time you should be able to use threads to saturate your cores instead of spinning up processes, you just accept the fact that Python is a language that played out in the nineties. It's over. Use Go or something.

You can't multiprocess everything — sometimes you need this shared state.
And while async is really nice it is not covering all the cases.

Javascript is not only much faster now it's also a much nicer looking language with more features

i was surprised go doesn't have a parallel map, you have to do this goofy channel + waitgroup shit

>You can't multiprocess everything
Yes you absolutely can.

t. distributed systems dev

Just so you know, Pool uses cpu_count as the default. You don't have to actually put it in as an argument

Sure, you can multiprocess everything but you shouldn't have to, you should be able to use threads. And you shouldn't have to pickle data back and forth and use ctypes. It's a kludge plain and simple.

Noted.

Oh and don't get me started on Managers which is a whole 'nother shitshow. Goshdangit the more I think about the hellscape getting Python to take advantage of a modern system is, the more I hate it.

Python is plenty for most practical applications, like wanting to snap cool digits, etc.

well shit

>you should be able to use threads
that's actually not self-evident, most scripting languages don't have real threads

checked

If it's guaranteed statically, then it's guaranteed dynamically.
This is why TypeScript is a thing.

>>you should be able to use threads
>that's actually not self-evident, most scripting languages don't have real threads
The time has come for that to change and clinging to the past isn't helping. Moore's law is over. The era of multiple cores is here and the future is more of the same. We have compiled languages like Go that are truer to the Zen of Python than Python has been since before list comprehensions were a thing.
It's time to move on. We now know static typing makes maintenance 10x easier than dynamic, we see the need for real multi threading, we need to start wringing performance gains from faster code rather than upgrading hardware since single core speed gains are grinding down. Face it, it's over for Python (and Ruby et al).
Don't misunderstand me, I coded with Python for 15 years and flirted around with Node and some other single process interpreted languages. But I've seen the light and it's an oncoming train called Go.

You just described the difference between programming at home for fun vs working in an office for productivity.

Also code reviews are okay.

What exactly do you need all that speed and multithreading for? almost all code written today is sequential. You rarely encounter nested for loops with millions of iterations in everyday tasks, and if you do then it's pretty easy to write it in C.

All that said, I don't want to discourage any noobs. If you are dipping your toes into programming and you like Python then, by all means use Python. Your first language is just there to get your mind wrapped around what programming is all about so the syntax is whatever. When you learn to program, switching to another language will be a breeze. Not to mention Python has a great repl with ipython and it has a ton of libraries for just about everything. So knock yourself out. Just don't get stuck on it.
I write trading software so speed is important but for people writing just general stuff especially with a graphical interface, the little things add up. A few dozen milliseconds here, a few dozen there, after a while it adds up to a poor user experience. If you're writing advanced hello world then of course it doesn't matter but when you get to intermediate level and you start having a dozen or more imports with several things happening at once that are CPU intensive (this happens earlier in your development than you think if you're trying) then Python and its ilk can start to be the bottleneck.

wasted

Python is like the dremel of programming languages. Cheap, fast, easy, enough for 90% of the cases. Startups are the biggest drivers of innovation these days and a fast product shipped now beats shipped next week, when next week means failing to capture marketshare and earning the investors' trust.

Attached: python_environment_2x.png (983x974, 111K)

>What exactly do you need all that speed and multithreading for?
Actual and specialty business applications, especially with accounting and related reporting where users just expect applications to scale up to infinity with whatever bullshit workloads they pile on. Then you have realtime applications like trading and physical hardware (medical devices).

bro just install miniconda, you can specify the python version for every environment.
Never install python from the python.org though.
Homebrew python3 is fine. But python2 from Homebrew might fuck your shit up.

So python guarantees explicit type signatures type check?

based and checked

still better than bash

python 2 vs 3 fuckup ruins it for me

None of you know the difference between static and dynamic typing vs strong and weak typing.

Static typing: All types may be deduced before running the program. (C, Haskell)
Dynamic typing: Types may only be determinable at run time (JS, Python)

Strong typing: No/limited implicit conversions between compatible types. No conversions between incompatible types. (Haskell, Python)
Weak typing: Relaxed implicit conversion rules and/or and raw binary conversions are allowed.
(C, JS)

Are they Coc'ed?

reverse (((Satan))) x2...you are blessed by God user

>can't get people off version 2 after more than 10 years
I made a conscious decision about 7 years ago to never use python, and I feel that has served me well.

Doesn't this cuck only teach darkies?

I've worked on massive projects and the worst I've seen was like 5 minutes fresh then 15 seconds for subsequent compiles. wtf are you retards doing anway? Oh yeah, that's right, I'm on Jow Forums.

Embedded software master race. CS retards can eat a dick.
>I don't know how to anything myself. Halp me language! Save me from myself!
kek.

Why would you want concurrent execution in python anyway? It's not meant to be fast. Not that it's hard to spawn new processes.

Don't even talk about 3.x.
We just pretend it never happened. Because it's dog shit and anyone who think it has a single feature worth breaking backwards compatibility over is retarded. They really fucked the language's legacy.

that's an argument

That's why you stick with 2.7.
t. had to make a tool run in 3 and 2 once because we had one cs faggot who made a bunch of bullshit that needed 3. He was laid off later lmao.

The point of python is for easy scripting, not concurrent programming. If you really need threads you should be in c/c++ in the first place.

I work at home as a solo developer and so far I need none of that shit, but I get your point.

I want to be in the screencap

Try Julia user. It's python with a type system.

Why can't Python into multicore? I'm a brainlet, don't other languages have the same problem?

ty

oh so you're the little faggot that cries "muh legacy", "why upgrade, python2 just werks". Fucking lazy slugs, "it takes too much time to port from python2 to python3". Especially when there are only xrange and print statements to fix.

what the fuck

> 1-indexing

Witnessed

kek

>>nb4 import multiprocessing
>don't make me laugh
Multiprocessing works just fine.
Unix processes are dirt cheap, makes you question why you need multithreading at all.

Python is the mutated, horrible child of BASIC and an OO programmer's fantasy language full of convoluted, nonsensical, unreadable bullshit. It's fucking garbage.

What's the point other than pandering to the lowest common denominator?

There's a hell of a lot more than that to fix. I had about a dozen branches for 2/3 compatibility, and the branches were minimized on a relatively small tool. Renaming modules? That's the easy shit.
Kudos to you for showing you never created a 2/3 python tool. Not that anyone should do this, considering 3.x enables nothing of value. ffs, this is a language where calling "built in functions" has a horrible run-time cost.
Anyone who advocates 3.x is a confirmed retard.

>Literally no better language than Python
actually there is a lot, but Rust is the best of them all

Programming language tiers:
The Best Tier: C
Absolute Shit Tier: every other fucking language ever invented
>BAWW BUT C POINTERS LOL INSECURE BAWW THIS THAT THE OTHER
If you think C is bad, you do not understand C. Period. If you think you understand C and you still think it's bad, you don't understand C. Period.

btw, I'm sort of drunk and didn't realize what a brainlet you are.
The requirement was to make my tool work on 2.5+ and 3.1+. As in, the same exact code runs on all those vms. It wasn't intellectually difficult, but it fully demonstrated the folly of the "python community" when they decided to break backwards compatibility for absolutely no reason.

The only thing better than C is assembly or an hdl. If you can't handle engineering, guess what, you are a retarded faggot worsening humanity's condition.

Holy Christ my nips just got so hard that they ripped holes through my shirt

LUA is better and C/C++ is better than that
praise allah heil hitler KYS

Python is an inferior Lisp, in every way imaginable except third party library availability.

Python 3 is objectively better than Python 2, in the same C++11 and newer is objectively better than older C++.
You're just a bitter contrarian if you claim otherwise.

DUHHH NUHHHHHH DA NUMBA IS BIGGA SO IT BETTA DUHHHHHH

>>inb4 but "m-m-mmm-uuh speed"
>Just use static typing, you fucking retard
how are those things related?

learn the difference between strong typing and static typing, python is a strongly typed language

>no clear direction
>previous benevolent leader opposed functional concepts
>used everywhere by incompetent brainlets
>"python codebases" for performance reasons are also in c

CS students shouldn't be allowed to post on Jow Forums

go finish your homework, fucking retard

>Why would you want concurrent execution in python anyway? It's not meant to be fast. Not that it's hard to spawn new processes.
This is an excellent question and I'm glad you asked. The answer is simple. A lot of programming is network latency sensitive these days. Imagine something making use of web sockets or zeromq or whatever. If your program is single process then your dsta feed is at the mercy of the slowest part of the entire program. Of course network IO in Python can be threaded which works great but that doesn't help when that thread is still at the mercy of a process that is blocking somewhere else in the course of events due to CPU being maxed out. Which brings us to..
..yes, we can spin off new processes. Great but then if we are dealing with large amounts of data, it has to be pickled which adds more unnecessary and possibly too much for our use case, lag. It can get into the milliseconds easily in my experience and if this is happening many times per second, it can peg the CPU on both processes. I've had to resort to some extremely non-pythonic hackery to get around this.
>Why can't Python into multicore? I'm a brainlet, don't other languages have the same problem?
It's down to some design decisions from the core developers. GvR doesn't care about it and doesn't take it into consideration at all. Some design decisions in Python actively make true multithreading much more difficult so other teams trying to make it happen with alternative implementations end up with multithreading at the expense of much slower single threadsd speed.

meant for also

Attached: look at that fucking no brain nigger monkey.png (990x682, 308K)

Dynamic typing is incompatible with strong typing, mainly because dynamic typing is mathematically equivalent to a "one true type"
Do some research

>There's a hell of a lot more than that to fix.

Like your brains. There is no value of python 2 (fuck your unicode) over python3 and vice versa (oh, no unicode, thanks python3!).

>dynamic typing is mathematically equivalent to a "one true type"
Dynamic typing just means type checking is performed at runtime if at all. It's perfectly compatible with strong typing

chads do prototyping in common lisp

Very few dynamic languages have only one type, and those ones are inherently weak. Most dynamic languages at least have built-in types for primitives and allow user defined types, composite types, and subclassing.
If the language permits adding a number and string, then it has weak typing. Python does not and will throw an exception.

Boastin in ebin bred

retard

haha
you are a college freshman arent you

>lisp
dead language

Fuck anaconda. Install Python3 from the installer (or from your package manager) and set it to path, use pip and venvs when you need them. If you want anaconda it's fine but ell it to fuck off from $PATH

pip sucks, conda all the way