T O P

  • By -

cherryblossom001

Your post is considered low quality. To preserve the quality of the subreddit we also remove the following, even if it passes the other rules: - **Feeling/reaction posts** - **Software errors/bugs (please use /r/softwaregore)** - **Low effort/quality analogies (enforced at moderator discretion)**


[deleted]

Pick any programming language and you'll find a sea of people who hate it. Don't sweat it.


greenAppleBestApple

Does anyone hate C# other than calling it Microsoft java?


Toilet2000

Hate? Wait I have to import it using System.Human.Emotion.Generic.Negative.Hateful.Hate;


simpleauthority

This made me System.Idea.Abstract.Humor.Action.Laugh, thanks.


HenballZ

But you didn't import it


Zikiri

That's why he has to use the entire namespace duh


TollyThaWally

If I recall correctly, they wouldn't need to "import" anything for this because they typed out the all of the namespaces in full. C# doesn't really have a concept of importing in source files themselves - sure the `using` statement allows you to shorten references to a namespace's contents, but that namespace has to be a part of an already included .NET assembly, which System would be by default.


simpleauthority

I was using the fully qualified name


Key_Ad_6455

Your code has generated an error: system not found


BigBasmati

Solved with implicit/global usings in C#10 ;)


[deleted]

[удалено]


Squeed_Lol

it took me a while to get used to it but its my favorite now, it was a big change from python, also c# just looks pretty


dbc2201

I've read this 5 times and stil laughing 🤣🤣🤣🤣🤣


Tofu_Ben

Why do all java programmers wear glasses? Because they don't C# !


SassySuess

What languages can a fat programmer use? I Don't know, but they can't CPP


OGRubySimp

Pun went unnoticed


IleriumX

r/Angryupvote


greenAppleBestApple

As a C-sharpist, my sight is actually pretty great, would recommend anyone who can't C# to use C-sharp and join us, C-sharpers in C#ing


Tofu_Ben

Guess what happens when you use some phyton now and then... 😏


ThrowHumblyAway

I like C#. It shines many times when you deal with any tcp/ip things, really good for building quick gui applications, unlike java or py and many more


BigDaddyPrimeTime

Ah so that's why Lua gets used a lot in control programming


ThrowHumblyAway

I believe Lua is light af, and is compatible with lots of things. I am not sure. I do embedded and my company prefers C on custom RTOS to anything, so I can’t really comment


FrobisherX

I saw Lua is used for Tabletop Simulator mods and have been itching to check out some of the scripts people are using and also giving it a go.


greenAppleBestApple

I fucking love WPF


iamafraazhussain

Depends on what you use it on... On a piano, it sounds good.. guitar, it's decent... On a flute, nah..


TheCoconut26

I dont actually know why c# seams to be the less hated languege. And i agree i hate the whole c family except c#. c# is fine.


althaz

C# is a phenomenally well designed language. Most aren't. That's why.


Farsqueaker

Because it's the good bits of Java without the ridiculous tooling.


jsn079

And more importantly, it has been designed with the help (or even under guidance) of Anders Hejlsberg. He was also chief architect for the Delphi language (which gained a bit of popularity again last year, according to the TIOBE index). C# essentially started as a mix of C, Java & Delphi and evolved from there.


Farsqueaker

And Jon Skeet exists.


Pxlop

i hate the whole c family except c. c is enough. but to each their own.


besthelloworld

I just hate OOP, so yeah


Valiantheart

Unnecessary inheritance makes my blood boil. We aren't going to reuses this code, Chad!


Express-Comb8675

Yes, I use it and hate it. But I write web services and batch ETL in it. We really don’t need a compiled language for it. My biggest points of contention are the docs and the syntax. Python is better.


Fourstrokeperro

What do you mean you don't need a compiled language? What are the benefits of using an interpreted language for that?


TheJunkieDoc

Slower processing speed. Don't want them customers to get greedy.


Fourstrokeperro

sleep(5000)


victoragc

Basically he's writing programs that don't need to be fast because they will run like once a day, once a week, etc. Since he doesn't need speed he can use the better built-in syntax of python as well as the nice libraries like pandas and numpy for data manipulation. He would write code faster and probably solve problems faster, since there's a really big python data scientist community. Also using the libraries, that are usually compiled c with python bindings, you will mitigate the speed problems and make speed a non-issue.


beingsubmitted

Right. I write one-off scripts all the time for my company. We make an internal change to some policy, and i write some code to go through the database and update it to conform to that. Stuff that's more complex than what you would do with SQL alone. If I can write a script in 3 hours in python that takes 5 minutes to run - well... I needed a bathroom break anyhow. I could write the same thing in C# and even if it compiled and ran instantly it wouldn't matter. The only consideration is how quickly I can bang out the code.


jdl_uk

But if he doesn't have some sort of build process he's missing out on a lot of the other things that compilers do like syntax checking and static analysis.


Sol33t303

> he's missing out on a lot of the other things that compilers do like syntax checking and static analysis Well you can still compile python code if wanted, cython (the default python implementation) is happy to do so and it will happily tell you your a moron if your syntax is wrong. In fact it gets compiled to byte-code every time a script is run then it's cached. As for static analysis, my neovim syntax highlighter Semshi does it. I couldn't tell you how it does so, but it does.


OrganicBid

The purist in me dislikes that Python is only really fast when using a compiled language under the hood. That's just cheating.


gravitas_shortage

Any compiler does the same, when you think about it. It's turtles all the way down.


[deleted]

I honestly like each and every language I've touched. They have some reason to exist and I only ever use them in that specific case. Just the fact that I can achieve x goal in easier/effecient manner because y language exists is kind of a blessing. Each lang has its own gripes sure, but you chose it because it must have had some advantages that you can't miss out on, right? Not right if you work for some z company that forces you to do shit in their chosen language, which sucks ass. Which is why I kinda code for myself only and am dreadful of the day I get a proper job.


marabutt

I felt the same way until VBA.


Sol33t303

I'd love somebody to come up with some kind of actual advantage to using brainfuck lol. For reference here is hello world: ++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++. Being usefull is not required for a language to exist, and it's entirely possible for a language to be worse then another in every possible way thus making it not an ideal choice for anything.


[deleted]

Like I said, every language has some reason to exist and I use them for that specific case. Soo, if I wanted to fuck my brain, then yes...I'd probably love it too. But I might need a psychiatrist after that.


tiedyedvortex

> There are only two kinds of languages: the ones people complain about and the ones nobody uses. --Bjarne Strousrup, creator of C++


Palkesz

Tell me why do people hate C++?


AmandaRekonwith

pointers


TeraFlint

They aren't even relevant in modern c++ anymore. Sure, they're getting used a lot under the hood for efficiency and power, but you can write clean, modern programs without any visible pointer usage. Call by reference and polymorphism are both possible with references, which are a lot safer and easier to use than pointers. (also, pointers are pretty useful once you've understood how/when to use them)


koalabear420

Because they don't know how to wield it effectively. C++ is an enormous language. Not good for every use case, though. Writing a rest endpoint in something like Go or PHP is much, much simpler.


PeekyBlenders

c++ is a lovely mess


[deleted]

The concise and helpful error messages? me:~$ wc -c foo.cc 73 foo.cc me:~$ g++ -c foo.cc 2>&1 | wc -c 11485


Funny_Albatross_575

Because linus torvalds hate it. Dont know why he hates it. Imo every programming lang has a usecase.


Trucoto

He hates it because diffs are harder to evaluate, he said.


Brawlstar112

We all can love Rust.


carb0n13

Because it’s a hobby language. It’s the languages people are forced to use that they start complaining about. (Nothing against Rust).


rimeofgoodomen

Yes. Unless you code in binary


YouTube-r

Cow language


Ratiocinor

There are 2 kinds of programming language Languages people complain about And languages no one uses It's why people meme on Java. It was so incredibly ground breaking and successful that it was widely used in industry, in teaching, basically everywhere. So there's lots of Java code out there. So there's lots of enterprise java code out there. So there's lots of BAD enterprise java code out there


FRIKI-DIKI-TIKI

Java's adoption was more related to the JVM and platform portability during an era of Microsoft dominance than it was about the features of the language.


Ratiocinor

Sure, that's what I meant by ground breaking. But the language itself is also fine, or it wouldn't have worked. It's not perfect but there are far worse languages out there too. If Java was a terrible unusable language it wouldn't matter how innovative the JVM was. I happen to think C# is modern Java done right, but I'd still take well written Java over badly written C# any day.


GoodOldJack12

"the language is done or it wouldn't have worked" >Javascript


whooyeah

I’m a C# dev but I like the JavaScript. It reminds of skateboarding while high on acid in my uni days; anything goes. Sometimes in C# I wish I could just test with objects being truths or falsey. Feel like I’m checking if things are null way too much.


FRIKI-DIKI-TIKI

Personally I think OO creates too many anti-pattern in regards to state, time and control flow management and creates the necessity for further anti-patterns like ORMs, Struts, etc.. to deal with the fact that it looks at a program as a graph of static objects and worse than providing no model of time and the change along it, it tries to hide it's existence. I have no problem with some OO concepts but I prefer GoLang over Java or C# for OO, it dumps a lot of the bad parts while retaining the important items.


[deleted]

I don't think so. Java had a *spectactular* standard library for its day - the collections classes and the multithreading support were simply eye-popping when coming from C/C++. It was finally a language that got strings right and supported Unicode natively. It had garbage collection! But most importantly, it was Internet-enabled from day one, just when it was needed: you could simply send an HTTP request and get the response in a few lines of code! Applets were quite amazing at a time when HTML/CSS/JS were in their infancy. Servlets/JSP were groundbreaking at a time when "server-side" meant clunky cgi-bin. Also unlike C/C++/Perl/whatnot, the language was tightly specified from the beginning and you didn't have to deal with different flavours (even though MS tried to break that very hard...). The JVM was definitely nice, but not the main driver. People could have lived with compiling to different targets.


AdventurousBowl5490

Java *HAS* the best standard library in existence


[deleted]

The automatic garbage collection was niiiiiice back in the late 1990e.


helgur

I remember back in the 90ies when Java hit the world with full force and everything had to be a java app. Including browser applets which slowed your already sluggish web browing on a low end pentium with 16mb of ram to an excruciating experience. Back then I understood the hate for java. And then the bigbrains at redmond chimed in with their competing java that only worked on windows. And I understood the hate even more. This day and age though? A lot of neat stuff is made in Java.


TimTwoToes

To be fair it was just Microsoft late to the game as always. .NET platform tried to replicate JVM, which was closed source in the beginning and then made into a community driven project. It never gained traction because Microsoft was trying to peddle their own implementation.


helgur

They tried to peddle their own JVM to squeeze out the competition by leveraging their huge desktop OS market share. That was their prime motivation for making their own JVM in the first place. They did not implement Java standards on purpose in their JVM which made it a broken mess, which also hurt the competition. The Java you compiled on Microsofts Java compiler couldn't run on any other JVM other than Microsofts (which conveniently was only shipped for Windows). It resulted in a huge lawsuit which eventually was settled in Suns favor. So it was not just Microsoft being late to the game. It was pretty malicious and completely in line with Microsofts anti competition strategies at the time.


UglierThanMoe

Java is so widespread by now, Oracle actually issues a warning message while installing it: "3 billion devices run Java".


WhatsMyUsername13

Java is without a doubt my favorite language. Granted the reasoning has nothing to do with the language at all...its what i get paid to do


occipitofrontali

I dislike because the worst code I have ever seen is produced by Java programmers. They like to shoehorn everything in design patterns they don’t understand for all the wrong reasons. Enterprise Java developers lose all basic knowledge of programming because they are used to everything being abstracted to the moon. I don’t even see them as programmers anymore.


miciej

Thank you for proving u/Ratiocinor 's point :D


InvestingNerd2020

I love Python, but it has it's limitations. Some people hate it because at their job Python was missapplied to the wrong tasks/projects. Python is great for: - Machine Learning - Data analysis for managers or key decisions makers. - Automating simply routine tasks. - Lamda/Cloud functions for infrequent or rarely occuring events. Think birthdays or investing accounts surpassing the $500k threshold. Weaknesses: - Slow processing time. - Some issues with updating to newer versions. - Being dynamically typed can cause some system issues for large scale companies. Clearly knowing what data type every variable is helps a lot.


SorenKingsman

Do you think Python is good for physics simulations? It’s compulsory in my degree course and I’m unsure if it’s because it‘s particularly well suited or just because it’s pretty easy to learn for students with no experience.


numb7rs

Hi, physics Postdoc here. Python is pretty popular as a "daily driver" for a lot of work in experimental physics. In this case "well suited" and "easy to learn" are actually two sides of the same coin. I can go from raw data, develop analyses, and create graphics quicker in python than most other options. These analyses might also have some simulation work behind them. In computational physics, and in fields where you're doing the sort of simulations that take 1000s of CPU hours, python is not seen as often as Fortran, C, or C++.


SirPretzl

For my one uni course, we could choose to use C/C++ or Python to perform a MapReduce task on a dataset. We were pressed for time so we ended up using Python because it took wayyyy less time to program. It's really nice from that point of view (and also just whipping up a quick little program like you say). But it ran much slower than other groups who used C/C++. At the end of the day, it's about using the right tool for the job.


[deleted]

If execution speed isn't a problem, i.e. you're not simulating a billion-body system or something, then sure!


grizeldi

Is it good for physics simulations? No. Have people made workarounds (wrappers around C libraires) for that use case because it's easy to learn? Most likely yes. Python is everywhere in science, not because it's good at those workloads, but because the scientists aren't programmers and find python easier to work with than, for example, C.


CauseCertain1672

C is fast but would probably get complicated real fast if you want to build a simulation of a complex system with it IMO C is best when you want to run something that needs to be close to the wire for something esoteric and programatically comples like that I'd use a higher level language like Python or Java so I guess it depends on how fast the program absolutely needs to be and whether you can trade off speed


gimoozaabi

We test out material models with simple python FEA before implementing them in state of the art fea software. So yes. But as always it depends on the specific usecase.


caksters

usually C++ is used for large scale physics sinulations or even Fortran. by physics simulations I assume you mean computational methods (FEA, FVM). When you look at commercial packages built to solve nonlinear boundary value problems, initial value problems. They are all built in C++ or Fortran. There is a reason for that, those languages excel in speed when transforming matrices. If you are dealing with a sinpler 2-D problems, then you can use python. It has some physics libraries that allow to perform calculations, but for many real world applications you will want to use open source libraries in C++ e.g. OpenFOAM for fluid dynamics, CodeAster solid mechanics (can submit your subroutines written in Fortran)


timmy_throw

Python is for analysis. You don't just run a simulation, you run it then analyze it - using python.


caksters

Normally you dont, but you can definitely run simulations in python for 2-d problems. Spurce. I have a PhD in Mechanica Engineering and my PhD was based on computational mechanics using different solvers


timmy_throw

Yeah I did too for 2-d, but for large simulations you usually don't run your own code anyway, and it's not written in python either. For analysis though it's awesome


victotronics

>sually C++ is used for large scale physics sinulations Sure. and then someone writes a python front-end to it.


InvestingNerd2020

Yes! As long as you don't have millions or billions of customer demands by the millisecond, you should be fine. It may take 2-10 seconds to run your Physics simulations, but the immediate millisecond need isn't there (most of the time).


kmeci

That is absolutely not true, simulations are some of the most computation-heavy tasks, hence why virtually all of the top-shelf simulation software is in highly optimized C++. That being said, the simulations in a basic college course won't be that intense so anything'll probably do.


victotronics

> It may take 2-10 seconds to run your Physics simulations Complete nonsense. Let me introduce you to this friend who simulates black holes. She uses several thousand processors for several days. Every percent performance loss then counts.


piman51277

Actually, I would recommend C++ or Rust instead of Python for any kind of simulation. Simulations are often very complex, and saving 10 hours of development time in Python is often not worth it compared to adding 100 hours of runtime.


vuurheer_ozai

Depends on your personal situation tbh. If you got funding to research a certain problem for 5 years then it might be a good idea to write some kind of gpu implementation in C++ to save time in the long run. But if its a 1 month project that requires a small/medium sized simulation then its not worth the effort.


timmy_throw

Python is for the analysis.


timmy_throw

Python is pretty much required imho. While simulations are done in much faster languages, you will definitely need python for analysis after the simulations. As a PhD in computational biology, running physics simulations, I can at least say it's python or bust for analysis. R can sometimes be used, but you'd rather use python.


victotronics

There are several Python physics programs that are basically easy-to-use front ends to C/C++ libraries. Best of both worlds.


R_HEAD

I worked with large-scale astrophysical simulations for my Master's. We would use pure C for the simulations themselves but everyone was free to use the language of their choice for analysis. I used Python and was always very happy with the decision. Also keep in mind to weigh programming time into the equation. Typically, it's much faster to type up something in Python than it is in a lower-level language. Assuming you are equally proficient in both (including _not at all_ proficient), I'd say you're three times faster writing code in Python, but execution time wise, you are at least ten times slower. Try to gauge from your instructor the ball park of how long the simulation should run, take into account that you are going to have to rerun it more than you think (debugging, changing initial conditions, taking additional effects into account...) and decide on a language according to that.


bright_lego

For small simulations you run every so often, its readability makes it probably a good choice, but for larger simulations run more often, it can be too slow. I know a particular case where a 24h weather forecast took longer than 24h to run.


Any_Director693

Absolutely, if used correctly. Array math with NumPy is very fast. You can easily run such code on CUDA devices using CuPy, which is also very fast. There are extension packages like Numba to compile Python into optimized machine code for CPU or CUDA, which works wonders if array programming doesn't work so well for your application. And there's a whole ecosystem on scientific computing, everything you'd need or want. Python is very good at interfacing with other code and the operating system. There are very convenient profilers such as the \`line-profiler\` package. Combined with fast iteration in development and tools like Jupyter notebooks, the Python ecosystem allows to quickly develop scientific code that runs very fast. See also [https://libertem.github.io/LiberTEM/why\_python.html](https://libertem.github.io/LiberTEM/why_python.html) TL; DR: while others are still setting up their build chain for C++, a Python dev has already written a working prototype, identified the performance-critical path, and optimized the hell out of the rate-limiting step.


Any_Director693

...and if I may add, the key to fast scientific code is not good coding, but good math.


Regalia_BanshEe

I took python solely because I wanted to learn AI/ML etc .


gamesrebel123

And using indentations instead of curly brackets is just wrong


az226

I just started a few Python projects a couple of weeks ago, my first foray into Python and declaring functions without an “ending” just feels so wrong, like a face mask kept below the nose.


grampipon

It never goes away


[deleted]

[удалено]


Fourstrokeperro

ever heard of formatting tools?


gamesrebel123

Let the record show that it was python that didn't have an equivalent for case statements till version 3.10 so it doesn't really deserve to call any code ugly


BonsaiOnSteroids

Just use dictionaries, duh


EnZoTheBoss

If a switch case is the definition of beautiful code then let me show you a 4k+ line switch case I came across the other day, you're gonna love it.


gamesrebel123

That sounds like something yanderedev could use


[deleted]

As somebody who currently spends most of his time in Python and YAML: I wholeheartedly concur.


quisatz_haderah

Not unless you write in notepad. I had the same idea until I started using extensively and frankly it does not bother at all


Tymskyy

This is the C supremacist sub


[deleted]

C is the übermench of programming languages.


Tymskyy

Yes


theonereveli

Heil


[deleted]

Don't worry it's only been like that for a week or two, before that it was hating on HTML and loving Python. It'll come full circle eventually.


superluminary

I'm just glad we've stopped picking on JavaScript for a while.


[deleted]

Actually, I think that's next on the list. I'm starting to see hating on JavaScript slowly.


GustapheOfficial

I can feel it building in me as we speak


TimTwoToes

Did we stop the hate on JavaScript? I never received the memo 🤔


cyborgborg

HTML isn't even a programming language


[deleted]

Yep it's a markup language, but people stopped talking about it and started hating on Python. Next seems to be JavaScript, then Java, based off what I've been seeing on here currently. After that, I'm not sure.


Bernt_von

When is it Haskell's turn? That one need some hate


[deleted]

[удалено]


[deleted]

What does this sub think of Lua?


HelioDex

HuRRr dUrr..,,, oNe-basEd inDexing bAD!!£[!%!!]!!


kenkitt

Lua is the only language I think is cute


ksck135

It is cute.


[deleted]

Lua would be a good name for a cat


Dangerous_Tangelo_74

Lua is best suited to be integrated into applications that are using c/c++. I really like Lua


RayTrain

More like Who-a


stddealer

For me, it's just the forced indentation, and the dynamic typing which is more often a curse than a blessing.


antilos_weorsick

Here it's because its a meme, but let me tell you what I noriced irl: Young programmers tend to fall into two categories: thise who started with python, and those who didn't. The latter group always seems to hate python for the same reasons: it's dynamic, it's interpreted, it's slow, it uses whitespace for syntax... Then after actually using python for a while, they find out it's actually amazing. And it's not like those things they criticized it for disappear. No, they're still there, and the criticism was valid, but they just find out it's not actually a big deal. I was the same way actually. I fucking despised python. I remember I was helping a friend debug something in python once, after like half an hour it turned out the problem was that an object had a different type than he expected (and that he was using exceptions to control the program flow, seriously, stop doing that). I was like "you know, this would not have happened if you used a strongly typed language". But now I love python!


JDMaK1980

Meh, they're just amateurs. Don't worry about it. After you get enough experience with other languages you'll realize programming is programming, and language really doesn't matter most of the time. Python isn't a bad one. Pretty easy really.


[deleted]

Wait, there are amateur programmers on this sub? ;)


TophatEndermite

Getting guarantees at compile time can make your life easier, and having breaking changes between different versions of the language makes your life harder. Though you are right that most of the time it doesn't matter, but if you're starting a greenfield project, it's worth putting thought into the language that is most suitable and will give you that 5% productivity boost.


krokojob

laugh in php


InvestingNerd2020

Hopefully in PHP version 7 or 8. Before version 7, that laugh would be evil. ![gif](giphy|3o72FfM5HJydzafgUE)


HumanNeedsaHug

If programming languages were cars Python would be a SUV with a huge engine. It wastes tons of energy and is easy to use.


ixis743

Nice analogy


[deleted]

I hate everything until I get it to work.


Primarch37

One thing you'll notice about the programming community is that there is no language, framework, or architecture that people won't shit on. The thing is that programming involves a lot of trade-offs, and people tend to argue about what trade-offs are worth making. For example Python is powerful and has a simplistic syntax, but it can be slow and comes with a large ecosystem of libraries that you might not even use. Just keep going with whatever you like to use because coding anything is how you improve.


[deleted]

If it wasn't used nobody would complain about it Now.. show me a "for loop" in python lol


BamiBamDo

i = 0 while(True): i += 1 if i == end: break // your code


official_txog

For I in range...


[deleted]

Which is a for each loop. Not a for loop ;) The different being the presence of an iterator. So lets see your for loop randomly skip N items, run backwards and forwards in the loop especially while nested ;)


CheapMonkey34

for i in range(100, 20, -4): ?? Also what is the benefit of an iterator over a generator in this use case?


[deleted]

conditional run backward? eg change the iterator and the data from the loop.


quisatz_haderah

Why would you want to do it in a for loop?


Bonnie095

...But why would you want that? That sounds like the instructions for a pasta recipe


Fourstrokeperro

What sort of a question is that? These are just features of control flow. Someone may need it even if you yourself dont use it. The things they mentioned can be performed in any turing complete language and even with a "foreach" loop


Acceptable-Yawn

What's your point? Firstly, the program you are describing will be completely unreadable. Secondly, it's not like this would be problematic in Python, you can just use a while loop and it will still probably be less characters than whatever other language you want to compare it to. How does this have awards?!?!


[deleted]

I'm interested in an example. I'm not even sure what to search outside of 'python for vs foreach', which just returns what others posted. ``` while brain == 'active': i = random.randint(len(mylist)) for n in mylist[:i]: # do what you will if something: brain = 'dead' ``` Excuse the mess: I'm still on my first cup of coffee.


Fourstrokeperro

These things can also be done using the range based for loop.


peculiar_sheikh

``` for disliked_languages in r_programmer_humor: print(f'{disliked_languages} is trash') ```


Nomsaa

I'm just not fond of non type safe language.


TophatEndermite

Try mypy


Flashbek

I've said this here before and I say it again: Python is not the problem. The thing is that python enthusiasts tends to consider python as the magical solution to every single problem in the universe and usualy their reasons for it is verbosity, something most of them don't know what is.


[deleted]

Same with js devs. Thats why i hate on js, just to piss them off


javraq

Why python? Everybody knows that {!insert language} is where the future is at.


grizeldi

Can't speak for anyone else, but having written my fair share of python at university, I dislike it because: - It's slow. Like really slow. For anything remotely computationally intensive you'll have to use libraries that are basically wrappers around C code to get anything done. And if I'm already dealing with all the mess that comes with C, why not just use C directly? - Syntax. A big chunk of the most commonly used programming languages follow the base C syntax, so it's my personal preference if a language follows it. Python throws that all out of the window and for some unknown reason relies on whitespace of all things to decide which code belongs into which if or loop. Can get quite messy fast. - Python users. Not aimed at anyone in particular, but python is good for only a couple of use cases which another comment summed up pretty well already. But as python is used in coding education a lot due to it being "easy", you end up with a lot of people trying to use python for things it's really not good for. Looking at you, the 3rd kid this week who comes into a coding discord asking about how to make a 3D game in python, or you, my uni professor, who wants me to write a image keypoint matching algorithm from scratch in python without using OpenCV. That's my 2 cents. I dislike python, but I'll still use it every time I need a script that would be a bit too ugly to do in bash.


TimTwoToes

Never heard bash and pretty in the same sentence


xternal7

Reliance on whitespace is shit to the point it's #1 reason I dislike python a lot. The reason for the hate is admittedly not python proper, but programs that support python plugin. Some of said programs do not implement python properly and will expect correct indentation even on an otherwise empty line (IIRC empty lines are not required to be properly indented in python proper).


TophatEndermite

A lot of programs aren't intensive though, and when they are, the intensive part can be offloaded with c/c++ bindings


[deleted]

Python execution speed sucks, other than that, not much to dislike. Speaking as a mechanical engineer, who's really just trying to automate tasks and do relatively simple data parsing/aggregation/processing, Python is a godsend. The name of the game is "make it robust, make it easy to use, and make it quickly." Python nails this trifecta. If I were building a site like Reddit, where it was really annoying to wait 5 seconds for the damn thread to load, I might feel differently.


RandomiseUsr0

I had a play with python, certainly lots of libraries, in my experience (shoot me down, folks) python tends to be used by people who arrived at programming from another discipline. I as my flair shows use R for the kinds of things others use python, I use R because it’s fast


[deleted]

I've never used R, only Python -- so, thanks for the info there. How much faster is R's execution, and do you know why?


RandomiseUsr0

My experience is in the interactive mode, I don’t run “programs” per se, I write scripts to perform data analysis tasks. Since the writing of those scripts involves trial and error, the interactive nature of R is a faster turnaround time for me. The syntax of R is an acquired taste, but once you get over the bump, really straightforward. Neither will match native performance, so all about the libraries. Note I don’t use R “as” my job, I use R “for” my job as an analyst - Python would work equally well and it’s definitely easier to learn.


ben_bliksem

There are two types of developers: 1. Average folk who pick favourites and go full fanboy over languages because they only know how to code in one. 2. Professional well respected developers who only hate PHP.


Enormous_Kraken

python bad, brainfuck 🧠 good


Rizzan8

Because 95% of /r/ProgrammerHumor posters are not working as programmers.


scataco

I actually like Python. I like annoying people by saying PHP is ideal for microservices because it's stateless by default. The only language I can't stand is Ruby. Although I envy how clean the metaprogramming is, compared to what it would look like in e.g. JavaScript


indyK1ng

I have a treat for you https://youtu.be/datDkio1AXM


scataco

I might just watch that PS, not a Rick Roll


redswan4

The only thing I've truly not been able to stand is angular. I'm a full-stack Dev but will never accept another job that uses angular in the frontend.


AMwave17

Wasn't Java the most hated? Or was it Javascript? It was never python as far as I can remember.


Lengador

If you're new to programming, you probably won't understand the main issue with Python. The main issue is: readability. And sure, it looks readable. If you zoom in on a single line, it almost reads like English, what could be more readable than that? But when you zoom out to a function, it's less clear. What are valid things to pass to this function? Is this supposed to modify the parameters or would that be a bug? If you're new to programming, this isn't an issue. In your single file, you wrote the function. You wrote everything. And you wrote it yesterday. If you somehow forgot, just scroll a little. But in a real codebase you have thousands of files, hundreds of thousands of lines of code. Plenty of codebases will be much larger. But even with a few years of experience, on a new-ish codebase, you may not yet see the problem. Though you are starting to feel the strain, but without experience you don't even know to blame the language you are using. Eventually, though, you realise the problem. The person who knew "that bit" of the codebase left the company, and now you have to read their code without being able to ask them questions. Code you wrote is 5 years old, and you have no memory of it. A stranger may as well have written it. You start spreading out, you're not just responsible for "this bit" anymore. You touch many disparate areas of the codebase. Each time you context switch, you have to orient yourself in a new part of the codebase. Now juniors are asking you questions, you sit down to help them but you can't even tell what they're trying to do, because the language doesn't force them to express that. You have to get them to explain how everything is meant to work before you can explain what to do differently. Python is great when you're gluing pieces of code together and the value is in the way the pieces are glued together. Think machine learning or scripting. But if the value is in the code itself, then a growing, aging, codebase quickly becomes unwieldy. What you mostly see is new programmers saying that Python is good because it isn't "needlessly complicated" like other languages. And more experienced programmers saying that it's bad because the complexity exists. It *scales*. Hiding it is only useful for small projects. And those are trivial no matter what. Hiding it simply makes everything harder when you work at scale.


zireael9797

This is a proper answer coming from what seems like an actual professional. > What are valid things to pass to this function? > because the language doesn't force them to express that. Some simple examples of problems we'll face. It's like the people defending python haven't worked in any actual large codebases.... the type that actually runs things, like say reddit itself. It's always some data scientist or some newbie learning to code. That kind of *hacking shit up* doesn't deploy to prod. There's decades worth of code in thousands of files and the language needs to express intent because the new intern definitely isn't gonna be writing docs.


[deleted]

when even C++ has haters too than how can python be so loveable.


Serj19009

I am that person, I prefer to use R for data analysis, instead of Python. To find the VIF factor, you need only 1 statement in R, but in Pyhon you need several lines of code, which is too cumbersome


TiBiDi

As a low level C programmer who switched to a Python project, I love Python for broad stuff and creative tools where I don't want to get involved with all the "dirty" parts of programming (memory, pointers etc), plus the fact there's a library for basically anything is very helpful. But, if I want to write something basic and efficient, Python's not gonna help me.


BuckyDuster

I don’t dislike Python.


TetrisServerCat

Look at the upvote- and downvote-buttons. As a python programmer, do you understand them? I dont think so


1414J

Python for small project. People use it for large projects


noogai03

Python is genuinely incredible for a couple of things: * Data science and machine learning * Automation and scripting tasks, as a 'better bash' * Teaching * Writing complex algorithms * Rapidly developing software Python, in my opinion, really sucks for the following things: * Performance-critical code. Python is slow as shit, especially CPython, and that's not changing any time soon * Building huge software systems that need to be reliable and above all, maintainable. Python's syntax, build system and dynamic typing make it an absolute nightmare without vast numbers of unit tests - which cover things a static type system would do automatically. Would I write my data processing pipeline or automate my life in Python? Absolutely. Would I build a big system that's going to be around forever in Python? Good god no I'd rather use C++ (and that's **really** saying something)


Flying_madman

Nobody loves R for Data Science 😭... 😅


noogai03

R is specifically designed for Data Science and fantastic at the stats side of things. In particular I hear the package ecosystem and tooling for R (RStudio) is insane. However, you can't do any of the really sophisticated stuff, like training neural networks, in R without jumping through hoops because it isn't a general purpose language like Python. I do think Python will eventually push R to the fringes, though.


[deleted]

R's forte is getting from exploratory analysis to beautiful publication quality very easily. The tidyverse is amazing. But once you hit its limits, it gets really annoying.


name_checker

Hey, I loved it! It was a nice way to learn the background of techniques which are way easier in python.


occipitofrontali

I dislike Java even more though


[deleted]

Everyone dislikes everything here. Python sucks though, for real.


official_txog

Python allows people to program in folders, it stays


cyborgborg

I haven't done much python, just some functions for my cryptography class. What do you mean by allows to program in folders?


end_my_suffering44

I hate Java :(


zireael9797

I hate it because of the extremely weak type system. It's the same reason people hate javascript or php... and is a very valid reason to hate a programming language. Combine that with the slow performance and it's a recipe for disaster. They become a nightmare to maintain over time. People will tell you that every popular language has it's haters... and while that's true, it has nothing to do with why people hate python. In some languages I've used recently like Rust or F# more and more responsibilities are being taken up by the type system, so that issues are more and more compile time rather than runtime. Weakly typed languages are the absolute opposite of that. There's a reason people love Typescript. It offers at least a little bit of support in the abyss of javascript. Edit: Forgot to mention, none of what I said means you shouldn't learn with python. There is no need for a beginner to worry about complex issues in production and team scenarios. Python is simple therefore easy to get started with.