[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip / qa] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: images (11).jpg (6 KB, 214x235)
6 KB
6 KB JPG
Why does /g/ hate python so much? Not liking it and not using it isn't enough for /g/, he has to open threads just to shit on it. What makes it so bad?
>>
File: DwOU4khXQAEp-Xp.jpg (151 KB, 1200x796)
151 KB
151 KB JPG
I'm making a little game on python as we converse
>>
dog shit speed
dog shit ecosystem
isnt even fast for prototpying
scales horribly even if you use types
even a mid sized codebase has to work around mypy bugs
typescript is better in every way
>>
Just want to say that list comprehensions are great

nums = [opt["value"] for opt in opts]
weights = [opt["weight"] for opt in opts]
>>
>>101530144
https://www.geeksforgeeks.org/multiple-inheritance-in-python/

Also Its GC is shit and fuck with you for no reason, making perfectly logical code fail in extrange ways difficult to debug and impossible to fix.
>>
Also OOP with it is comfort

class Opt:
def __init__(self, value: int, weight: int) -> None:
self.value = value
self.weight = weight


class Method:
merge = Opt(0, 1)
triumph = Opt(1, 2)
hit = Opt(2, 2)
travel = Opt(3, 2)
thinking_1 = Opt(4, 2)
thinking_2 = Opt(5, 2)
sentence_1 = Opt(6, 3)
sentence_2 = Opt(7, 3)
sentence_3 = Opt(8, 3)
sentence_4 = Opt(9, 3)
>>
>>101530144
they don't understand the idea of different things being fit for different purposes, it's some kind of autism
>>
>>101530144
>NO DISCUSSING TECHNOLOGY ON THE TECHNOLOGY BOARD!
fuck off
>>
>>101530144
Because python is productive and /g/ hates doing anything productive.
>>
>>101530273
Python is fast if you take advantage of it's features.
>>
Stack overflow has 9 servers and runs on asp.net.
Twitter has 500.000 servers and runs on ruby on rails which is about as performant as Django in python.

That is why we hate python. It makes your projects costly to scale and unprofitable.

Even switching to htmx cannot change anything about that when there is a badly performing language at the core.
>>
>>101530309
its syntactical sugar for nocoders
id prefer
nums = opts.map((opt) => opt["value"]);
weights = opts.map((opt) => opt["weight"]);

if we're picking from popular languages, but it doesnt matter anyway until its time to refactor or optimize
>>
>>101530408
Are you the same person who made a comparison between GTK and Tk
>>
>>101530144
Used it for my own project and never touched it again. It wasn't slow or anything, but debugging it was a nightmare. Anytime a new bug arose, I would lose at least 40 minutes. I will never use it again, save for scripting or gluing programs together.
>>101530273
>scales horribly even if you use types
This is so true it's not even funny
>>
>>101530525
weights = [opt.weight + 2 for opt in opts if opt.value == 1]


You can use filter and map but who cares, list comprehensions make decent one-liners
>>
>>101530534
Yes sir I am.
>>
>>101530273
Now look at Node.js, yes it has meme quirks but who cares?
It has one of fastest implementations for a scripting language, and richest ecosystem there can be, any webshitter can prototype a website in mere minutes.

The difference? It was programmed in C++ instead pf C.
>>
>>101530408
>python is fast if you're nocoder
I'm too lazy to get out of my bed and stop phoneposting, but when I do I'm going to show just how slow both sides are
>>
>>101530408
>C
>write and flush 100,000 times
>python
>allocate a string then write at once
gee i wonder why python is a few milliseconds faster... you're literally just measuring syscall overhead
>>
>>101530775
js is a fun little language but it's incomplete compared to python. ts looks annoying to me and I haven't really tried it. in js I never really understood what was the proper way to make and use modules, there are like 3 methods. and it has retarded stuff like setInterval({..}, undefined) looping forever. its main strength though is that it has html and css, the most powerful ui toolkit available, but if you have heavy logic in the ui, you have to write it all in js. so i rather use qt with python right now
>>
>>101530785
That's the whole point of Python you make calls to functions written in C instead of reinventing the wheel every time.

>>101530800
What is the exact equivalent in C then? Idk how python does it but it's not allocating a 13,000,000 byte string and then printing it.
>>
File: 1708773018747.jpg (110 KB, 700x493)
110 KB
110 KB JPG
>>101530144
There are plenty of legitimate complaints, like the ecosystem and how inconsistent the standard library can be, but must of the threads shitting on it for one of two reasons:
>OP is a clueless retard who hates on Python because it's not C or it's not the best tool for every job
>OP is bored and wants to make a good old flamebait
The languages that get hate threads on /g/, like Python, Go, Rust and even Javascript, are not universally hated, but rather polarizing, love-it-or-hate-it. Python is a very expressive language with lots of features, but also many flaws, and let's not forget it's the most popular or second most popular language out there, depending on who you ask. Think about it: when have you seen a thread shitting on PHP or COBOL that didn't end with anons saying "yeah, it sucks, but that's how it is"?
>>
>>101530144
Only Python works on my pc and my brain.
It is the "only free language" that is open to the average human.
Every other is closed and non-free.
>>
>>101530408
hahahaha what the fuck are you even measuring you indian subhuman pile of shit.

this person has the audacity think he is a programmer hahaha
>>
>>101530856
post a better C solution.
>>
>>101530144
ecosystem is absolute pajeet trash tier, need to use venv and pyenv because there is no backwards nor forwards compatibility
>>
>>101530882
thats not the issue - there is no solution since you are doing no work or nothing relevant. the point is that you are comparing two completely different things. even if they were equal THERE IS NO ACTUAL COMPUTATION OR TASK DONE YOU RETARD.
>>
>>101530909
I knew you couldn't. This is /g/ manifest.
>>
>>101530839
dis is your friend https://docs.python.org/3/library/dis.html
>>
File: Untitled.png (34 KB, 737x286)
34 KB
34 KB PNG
>>101530929
even the dumbest implementation can be faster - trivial issue.
also we are moslty benchmarking our terminal here you buffoon lmao. now stop responding, knecht.
>>
File: 1705134434899157.png (136 KB, 499x499)
136 KB
136 KB PNG
>>101530408
>>101530882
>>101530929
kek
>>
>>101530144
/g/ here. I don't hate it. You can delete this thread now.
>>
oh sweet, this is where we left of yesterday

>not low level like C
>not enterprise with $JOBs like Java/C#
>not embeddable like Lua
>does not run in the browser like JS
>is not safe like Rust
>does not have the devops story of Go
>does not have exciting naval gazing features like Haskell/Idris/Coq/Agda/Whatever

still waiting on pytrannies to name 1 (uno) killer feature. No, preferring python bindings to some numerical libs is not a feature of the language
>>
>>101530956
This. The real test is done by sending the output to /dev/null. Here's the average of doing that benchmark many times:

>Python (print("Hello, World!" * 1000000))
Real:  0m0.042s
User: 0m0.021s
Sys: 0m0.021s


>C (large buffer, single call to puts)
Real:  0m0.026s
User: 0m0.020s
Sys: 0m0.006s


Both languages seem to be doing allocating memory in similar ways, but Python makes a lot more syscalls. Not posting code for Pajeet.
>>
File: adventcode.jpg (162 KB, 1885x1200)
162 KB
162 KB JPG
I remember years ago watching this guy solving aoc in 2-3 minutes, he used python and vim
>>
I have made 2 basic particle effects - in Go and in C both using raylib. The Go version is twice as fast. I have no idea why this is.
>>
>>101531117
I guess list comprehension? Also it's syntax pretty expressive.
>>
>>101530956
>>101531138
WILL YOU BE RECEIVING MY LIMP PENIS?
>>
>>101531334
why are some of your brackets colored black wth
>>
>>101531365
That would be the bracket matching.
>>
>>101531334
>Iterating 500 million times TWICE just to increment a counter by one
Lel. Please post more programming pearls, my friend from Uttar Pradesh.
>>
>>101530144
If they use the same tools, recognizing his skill is easy; therefore, he flees.
>>
>>101531405
But why black, your theme is broken
>>
>>101531334
Now lets see Python brute force the first 250000 prime numbers and lets see C do it.
>>
>>101531327
that's a minor feature other languages e.g. haskell have too.
>>
>>101531405
saar this got me $200,000 per year.
>>
>>101531117
>name 1 (uno) killer feature
There's a stdlib or 3rd party lib for anything
Language is fun to write
You can type annotate to check all your code
Well thought out features
It's getting a JIT soon
It's used a lot in AI
No compilation step, runs instantly
>>
>>101531444
saar
>>
>>101531327
This is not a killer feature, it doesn't even work that good in python, it looks out of place
>>
>>101531334
nice code, pajeet. i told you not to respond. you are making a fool out of yourself, ;)


DO NOT RESPOND TO THIS


>>101531138
this dude gets it.
>>
>>101531585
That's not brute forcing.
>>
>>101531528
>stdlib and 3rd party libraries
stdlib is inconsistent as fuck and the quality of it is reflected in the community,
Look at the documentation https://docs.python.org/3/library/heapq.html
Why are int methods _separated and str methods aren't? https://docs.python.org/3/library/stdtypes.html
Why do they sometimes choose strings as enums and sometimes they actually use enums?
If you think sphinx is good you have brain damage
>>
File: jeet-pepe.jpg (180 KB, 1080x959)
180 KB
180 KB JPG
>>101531608
Please saar I just wanted to be firends, I will take you to the hot girls.

>>101531622
>no no no you have to do it exactly how I want until you receive the outcome I need
>>
>>101531648
I accept your concession.
>>
>>101530835
Exactly you haven't really tried it. I did try both and I must say that JavaScript is better. Smart people are working on it now after all.
>>
>>101531648
i accept your apology but this is not an okay for you to shit on my porch with your friends and family.

NO GROUP SHITTING
>>
>>101531663
I have already stated >>101530839
>That's the whole point of Python you make calls to functions written in C instead of reinventing the wheel every time.
You are asking me to deliberately do something inefficiently so you get the outcome you want.
>>
>>101531706
his point is that you could do the same in c - but you insist on not doing it.
>>
>>101531666
I have used javascript extensively, it's only typescript I haven't used
>>
>>101531744
I have provided the final solution to the prime number question. I am not going to deliberately write an inefficient one.
>>
>>101530144
it is a psyop
>>
>>101531805
The point is that for anything computationally taxing python is completely fucking useless. The best it can do is call a better language to do the work for it.
>>
>>101530144
>Why does /g/ hate python so much?
idk, just a tool, imaging hating on hammers or screwdrivers lmao.
I mostly use it for scripting when the shell alternative turns out too convoluted.
>>
>>101531939
>>That's the whole point of Python you make calls to functions written in C instead of reinventing the wheel every time.
How many times do I need to say it?
>>
>>101531977
ruby is nicer for "shell" scripting
look up what `strings like these` do
>>
>>101531980
then why are you comparing two different things? is this how it works in india?
>>
>>101530525
>map has to be a method if the dict
Shit design.
>>
>>101530363
>comfort
>having to type the name of each class member 3 times
>>
>>101531334
The speed difference seems to be due to syscall overhead again. Why though? Probably just a high variance. It changes a lot each run.
>>
>>101532043
I don't know what you mean
>>
>>101531528
>You can type annotate to check all your code
But they're not checked. You can only use them with an external type checker, which you have to invoke separately every time. Literal brain damage,
>It's getting a JIT soon
2 more weeks. People have tried to speed up Python for decades. You know why it's failing? Because the Python core devs love their extremely shitty C interface, that exposes so much how the inn er interpreter works, that nobody can make real improvements. If they made the CPython API more abstract, JIT developers could make tremendous improvements, but they refuse to do so. Apparently they're too stupid to get it.
>>
I just hate white space languages. I literally will never understand how people can tolerate it. It's so fucking hard to read
>>
>>101532060
The constructor contains each object field 3 times. Why do you have to type it out 3 times? It's the opposite of convenience. It's making you repeat yourself.
Also this kind of constructor language element is fucking garbage. They can't fail, so you need to use exceptions if you do anything in the constructor that can fail. Exceptions are completely alien to elegant, functional-style code which Python sometimes appears to be encouraging.
>>
>>101532099
How about this

@dataclass
class Opt:
value: int
weight: int


This is a shortcut to do the same.
>>
>>101530144
Whitespace it's horrible like use the fukin {}
>>
>>101532123
Much better. But of course it's another bloated meta feature, instead of being a simple inherent part of the language. Compared to the simplicity and elegance of functional languages, Python looks like a bloated 500lbs freak who needs an exoskeleton to move around.
>>
>>101532060
How about this

from collections import namedtuple

Opt = namedtuple('Opt', ['value', 'weight'])
>>
>>101532185
I managed to use that but turning it into this:

class Opt(NamedTuple):
value: int
weight: int
>>
File: 1702276130389886.png (18 KB, 749x484)
18 KB
18 KB PNG
>>101530839
> Idk how python does it but it's not allocating a 13,000,000 byte string and then printing it.
actually it does lol
>>
>>101531980
And those function calls are fucking slow and inefficient. They didn't just slap some syntactical sugar and a garbage collector onto C, they make a monstrosity of a language with a terrible spec/design choices (gil for example).
>inb4 they needed to do all that shit for pythons nice syntax
Mojo and Julia managed to keep the syntax of python while having near C speeds. What's python's excuse?
>>
>>101530144
Python is the most popular language so it gets a lot of hate, but you have to use Python if you do anything related to data science or AI and Python works great for web dev as well if you use FastAPI, which is async out of the box and uses Pydantic for data validation and type hints; it's easy to spin up and is fast enough for most things. Python has it's quirks but the ecosystem is unmatched and Python is the best choice for a lot of things.
>>
>>101532123
>>101532185
>>101532226
Why are there 3 ways for something that is just slightly more verbose in native Python?
>>
File: python_pepe.png (237 KB, 700x1007)
237 KB
237 KB PNG
Why do we always have to fight /g/?
>>
>>101532093
This. It's literally unreadable and specially fucking annoying when you have to go and tab like retard and compiler tells you "INTENDATION INCORRECT" like fuck off don't i have enough problems to solve this cunt not working and you are going to bother me with a fucking white space.... fucking hell it looks retarded, it's retarded when you have to write anything and why the fuck you should bother with it ?

if you want to have
if nigercock.lenght > 5:
code...
or
if niggercock.lenght >5:
code..

no no no no no hehehe fuck you in the ass you gonna do what we want... give us at least that fucking END terminator so i don't have too i fucking hate that shit.
>>
>>101532528
oh great formating isnt right because i didn't use
suckassbitchcode
fuck you 4chin.
>>
>>101530566
>It wasn't slow or anything, but debugging it was a nightmare
This is a skill issue because it's not an issue if you use Pydantic and have solid testing and a good CI/CD pipeline if it's a bigger project.
>>
>>101530408
>the practical application
>spamming hello world
nigga
>>
>>101530144
Most the people here are under 22 year olds who are still in education, or outright NEETs, and have a massive cargo cult programmer mentality.

They hate Python because it’s fast enough, easy to use, and is one of the most used languages.

The average /g/ user is someone who codes in some semi uncommon language or “hard” (tedious) language on notepad++ or Vim. They don’t actually do anything productive, or have any big projects, they just like the idea of programming so they make the process of it so tedious so they can get off to that instead of what programming is (achieving a goal), and will go out their way to act like an 80s programmer because they don’t actually know what they are doing.

Python is modern, easy, and gets the job done, it’s everything they hate. There’s a reason their main arguments are actually retarded:
>indent blocking: implying brackets don’t use indents for showing blocks as standard
>slow: only an issue for CPU bound tasks, not IO tasks which is almost everything in more day
>>
>>101534314
Harsh but true.
>>
>>101530525
>creates an entire function to pass to a per-element callback function, something so unperformant that implementations effectively have to implement an entire JIT compiler
ngmi
>>
>>101534314
>Python is modern
Python is older than Java and I can feel it. I know two languages: Go and Python and it's incredibly easy using several cores for any computations under Go. Python has the threading library, which only imitates concurrency and works under one thread no matter what. They even tried to improve such poor state of Python by introducing the multiprocessing library, but there you can only have one parent process that launches all the child processes and children can't have their own children. So even if you can utilize several cores, it's still a tedious process that is an afterthought at best and something the language creators want you to avoid at worst.
>>
>>101534314

yep! /g/ is full of morons. "hating" a language is for weirdos
>>
>>101534657
Problem is that Go doesn't have a good ecosystem.
>>
>>101534770
You are allowed to hate something you work with every day. Familiarity breeds contempt and all that.
>>
>>101530144
It's great for scripting or making quick and dirty wrappers for real software. It's dam awful for any other use. To be fair, any language with dynamic typing shouldn't be used for anything other than scripting anyways.
>>
>>101534803
My intention was not saying Go is superior to Python, I just wanted to point out some flaws that Python has and that it has to go a long way to be considered "modern".
As for the ecosystem, there is no such library for Go as Pillow for Python. The closest thing that can draw lines, rectangles and polygons would be gocv, but holy shit that thing is huge, bloated and a pain to package.
>>
>>101534980
>any language with dynamic typing shouldn't be used for anything other than scripting anyways
This is a midwit take.
https://erik-engheim.medium.com/the-many-advantages-of-dynamic-languages-267d08f4c7
>>
>>101535113
All software worth a shit is statically typed and you know this as a fact
>>
>>101535121
Again, this is a midwit take. You should read the article.
>>
besides C and Java what languages are actually worth actively learning?
>>
>>101535121
What do you think about vscode?
>>
>>101535113
>For this reason every statically typed language has a large and intricate piece of software called the build system.
Stropped reading here. Don't waste your time with this brain damage. Also I still don't know how to use virtualenv and setup.py correctly, and fuck pip. Make is easy compared to that shit.
>>
>>101535148
Why would anyone want to learn Java? Other than for a job that requires it.
>>
>>101535148
python, nim, d, javascript, c#, ruby, swift
>>
>>101535135
Python is written in C, a statically typed language
>>101535150
I hate how it looks and feels. I use IntelliJ IDEA with the classic UI
>>
>>101535148
To actually program anything in: 0
To learn more about programming philosophy: all of them
>>101535162
It's the C++ most people wished C++ actually was
>>
>>101535188
You're just saying things without understanding.
>>
>>101535253
>>101535113
>I hate building/compiling (and therefore making sure my program actually works)
>I'm too stupid to make my software customizable using txt files
>I'm too stupid to debug
>Im too stupid to use an IDE
>Despite all of this your language needs to support full-fledged LISP macros and metaprogramming or else it's not cool enough for me
Wow good article but I hope this retard sticks with webdev for the rest of his life and doesnt touch real software people rely on
>>
>>101535188
>I hate how it looks and feels. I instead prefer shittiest ui/ux with the most useless features and load time of googol
kek
>>
>>101531585
that's not the first 250000 primes you nigger retard poojeet
that's the primes up to the number 250000
>>
>>101530144
I like it, but I'm struggling with building and importing modules from multiple packages I've written, so I am bitter.
>>
File: file.png (101 KB, 775x548)
101 KB
101 KB PNG
>>101535377
You will never have the form, function, or style that IDEA has and it must utterly infuriate you.
>>
>>101535150
vscode is fucking flawless, especially the moment you find out about "vscode server remotes" anon
>>
>>101535356
You're being hyperbolic. The point is that dynamically typed languages are better suited for some things, only midwits think otherwise.
>>
>>101534803
I mean, Go doesn't have the "import solution" thing that Python has going on, but at this point its ecosystem is good enough and it actually seeped into areas far outside backend and devops - which indicates that its community is active and the ecosystem is healthy and growing. You can make Android apps purely in Go, you have a good cross-platform GUI toolkit (Fyne), good 2D game engine (Ebitengine). etc.

>>101535065
Take a look at https://github.com/avelino/awesome-go?tab=readme-ov-file#images
I played with raylib-go a bit, you can comfortably draw with 2D primitives and do procedural animations with it. Don't know if it fits your use case otherwise.
>>
>>101535401
go take jetbrains meds then
>>
>>101535458
>You can make Android apps purely in Go
Why would you? Go has a garbage collector which makes it too slow for real-time apps, meanwhile the ecosystem of Go will never come close to Python. So Go is too slow for performant use cases and doesn't have a great ecosystem like Python. Why would anyone use Go in a real world situation when you care about p&l?

Python is always going to be the better choice when you want to build something that doesn't need to be very performant and something like Rust or C++ is going to be the better choice when you need something to be very performant. Go is somewhere in the middle and will never be the best choice.
>>
It gets real job done. The fear of every ni/g/ger
>>
>>101534980
Dynamically typed languages are useful for web dev. Lets say you're writing the server-side of some big web application. You probably aren't storing objects in your database, you're using SQL, and as a result have to pack and unpack your objects into Strings, ints, Dates, etc. on the way in and out of the database. The structures your code emits are all text in the form of html, css, javascript, and json, to be interpreted by the browser on the receiving end. You are casting everything you work with constantly to make the type-checking compiler happy, and in the end, you still need to defensively code against type-coercion problems so you aren't seeing the benefit of the type-checking compiler proving some level of correctness... so the only benefit you can claim is 'speed'.

But in web development, we don't scale the app by making each request/response cycle faster, we scale the app by making more parallel request/response cycles happen at the same time. We do this first by launching many application processes, then by launching many machines and load balancing between them. We get speed through horizontal scalability, and eventually the bottleneck is the database (which is supported by a vendor, and written in, you guessed it, a type-safe language).

The cost of the compute time is dwarfed by the cost of the army of developers... so instead of optimizing for the cost of the compute cycles, we optimize for the cost of the developers. This means "lets make cheaper developers more productive". That again trends toward dynamic languages. You can always act as if your language is statically typed. It's also worth noting that the opposite isn't true. This becomes especially limiting with rigid statically typed languages with rudimentary type systems like Go or pre-generics Java.
>>
>>101530144
you'll understand when you learn other languages
>>
>>101530144
hi, I'm /g/ and I like python, hope it helps, god bless.
>>
>>101535766
Only unemployed people hate Python.
>>
>>101535766
Which languages?

Java the weapon of Durga?
C# the DoNotRedeem<AbstractSingletonProxy>?
C++ the footgun with templates and the most cancerous STL ever fucking made?
C the segmentation fault without generics?
JS the JeetSoy bloated abomination?
Lua the 1-indexed turd with trooned out hash tables?
Rust the Rust?

Come the fuck on, all the mainstream languages used to get work done suck big donkey balls. Go is the only one that is more or less bearable, and it also has its own share of problems.

Haskell, CL, Scheme and Mathematica are good languages but they don't ever get used for anything serious, save for remote exceptions.
>>
>>101535533
What real time applications is Go too slow for?
>>
>>101535908
All of them, because of the gc.
>>
>>101535533
>Go has a garbage collector which makes it too slow for real-time apps
>Go is somewhere in the middle and will never be the best choice
You are aware that the majority of Android apps are made with Java/Kotlin, JS with things like React Native or Dart with Flutter, right?
C/C++, Rust, Java, Kotlin and/or their tooling are shit to work with, in addition to native Android development being quite a pain in the ass in general. With Go you don't have to touch any of that shit, and it's heads and shoulders above JS and Dart performance-wise and can be faster/less memory-hungry than Java and Kotlin.
>>
>>101535988
And that's why Android apps are so slow when it comes to animations etc. Go has the same problem.
>>
>>101530144
i like it
>>
I loved python until I got into jai beta. Can never go back to that filth again
>>
>>101535148
C, C++, C#, Python.

Start backwards, if you need more performance then drop down. Java is alright, Go is half baked, Rust is just shilled, others don’t matter
>>
>>101536214
>wikipedia page links to the author
Fringe language.
>>
>>101535974
Java runs the world of realtime data processing BTW
>>
>>101532486
wait until you see javascript
>>
>>101535851
motherfucker
>>
>>101535382
Hard to keep track of the goal posts when they keep moving.
>>
>>101535188
>Python is written in C, a statically typed language
wrong.

you are confusing Cpython with Python.
Python can be implemented in many languages. see PyPy, IronPython, JPython, ...
>>
>>101540868
And which is the most popular implementation?
>>
>>101540937
how are you measuring popularity?
by usage prolly cinder since facebook uses it.
>>
>>101530144
no compilation step, so no build-time type checking, so a new class of bugs you get to deal with in prod
>inb4 skill issue
i'd rather ride on a bicycle than a unicycle
>>
File: python.jpg (228 KB, 1024x1024)
228 KB
228 KB JPG
Use python
>>
>>101541828
https://www.youtube.com/watch?v=8GV_TuYk3lk&t=1936s
Check at timestamp, this is a D lang guy realizing something
>>
>>101540868
Python and it's interpreter are written in C.. It is the primary/default/official implementation.
>>
>>101530144
It's pretty good for data science stuff. Matlab is bloated corpo proprietary shit, julia is too new and buggy, and R and Mathematica are too specialized. Python is FOSS, mature, and can easily extend to a variety of other computer tasks in the same language. Its interfacing with C and fortran also give it an edge

> and let's not forget ren'py and all the wonderful H games it gave us
>>
File: python9495.jpg (291 KB, 1024x1024)
291 KB
291 KB JPG
Let the zen flow through you
>>
I hate it because I use it for work.
"type hints" are glorified comments and useless for actually catching type errors when they inevitably occur. they're also pretty limited: for example, you can't use them for recursive types.
documentation for a python package can often be just a markdown file somewhere in the source code. this is a terrible way to do documentation that wastes the time of anyone using the package.
python list comprehensions are a crude imitation of the equivalent in haskell.
itertools, too, is a crude imitation of haskell's data.list.
python has a lot of miscellaneous quirks that feel shortsighted and/or crudely bolted on. one example is the syntax for requiring positional/named arguments. another is the poorly-thought-out indent-based syntax and its consequences. (haskell got it right, python got it wrong and is still fumbling to fix it)
package you use often feel like they were designed by apes, even when the creators are actually intelligent people. why this occurs is a mystery.
on the plus side, interactive python notebooks are pretty helpful.
>>
>>101535188
c is barely statically typed though. implicit type conversions happen all over the place and breaking the type system is seen as a feature rather than a bug (see: memory allocation and using unions to do bitmasks)
>>
Python was really great when I studied CS.
The language is basically pseudo code already so it's really easy to quickly implement some algorithm and experiment with it.
Things like native big ints, complex numbers and sets really help.
Only thing lacking is a native matrix type but there is always numpy.
>>
>>101530144
It doesn't scale with project complexity well so it's a poor choice to invest any time into.

This forever puts it in the "throwaway prototype code" bin, but for that use case no one gives a shit what language you use, either.



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.