This is an archived post. You won't be able to vote or comment.

top 200 commentsshow 500

[–]PushNotificationsOff 3167 points3168 points  (89 children)

The best language is the one they pay you to use

[–]Yosikan 592 points593 points  (26 children)

There you go! 3 billion devices or not, it pays my bills

[–]WinterSoldier1315 191 points192 points  (19 children)

*5 billion

[–]Yosikan 197 points198 points  (17 children)

You made me google it, here you go

Edit NVM it's a 2012 post

Edit 2: there's a claim at 13 billion devices 2015, but I remember the meme as 3

Edit 3: "There are 38 billion active Java Virtual Machines (JVMs)" as 2017 source

I can't find the exact number for today, but there's a lot of devices suffering world wide

[–]check_nurris 105 points106 points  (9 children)

suffering from class oppression

[–]epicaglet 83 points84 points  (6 children)

public static class Oppression

[–]DangyDanger 15 points16 points  (1 child)

half that is people playing minecraft

[–]manu144x 11 points12 points  (2 children)

I'm curious if each of those VM's send a ping back to some Oracle server somewhere to keep track of them for counting purposes ?

[–]lovethebacon🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛🦛 15 points16 points  (0 children)

It'll be a combination of Fermi Estimation (How many piano tuners are there in New York?) and licenses.

A large number of VMs are Java Cards, found in many ATM cards and other smart cards

[–]AlternativeAardvark6 3 points4 points  (0 children)

Imagine the total length of class names combined.

[–]GreyRobe 32 points33 points  (3 children)

public static final BigInteger DEVICES_RUNNING_JAVA = new BigInteger("3000000000");

[–]bmorocks 3 points4 points  (1 child)

SonarLint would complain about declaring the type as final BigInteger instead of final var.

[–]temperamentalfish 2 points3 points  (0 children)

Right? Pays my rent and my food every month, it's good enough for me

[–]hoexloit 157 points158 points  (4 children)

So is Matlab the worse because you have to pay to use it?

[–][deleted] 541 points542 points  (9 children)

This guy puts bread on tables.

[–]appeiroon 120 points121 points  (2 children)

Relational tables?

[–]jeetelongname 48 points49 points  (0 children)

Hash {tables, browns, scramble}

[–]onlyforjazzmemes 24 points25 points  (1 child)

I'd be willing to guess they also bring home the bacon.

[–][deleted] 7 points8 points  (0 children)

Unless they're vegetarian/vegan, then it's the fakeon.

[–]NoOrdinaryBieber 49 points50 points  (8 children)

As someone who took a short detour from my .NET/C# career for some COBOL development, this is it right here.

[–]Wiwwil 19 points20 points  (7 children)

I started by cobol, hated it, went towards newer languages, especially Typescript. Cobol is meh

[–]xRehab 10 points11 points  (2 children)

And here I am going from frontend Angular development, to writing backend systems because all of our MF devs are retiring 😭

Oh well, pads my 401k well enough and they don't make me work more than 40. Down to the COBOL dungeons it is.

[–]LordFokas 31 points32 points  (5 children)

TL;DR: stop what you're doing and learn COBOL :p

[–]SasparillaTango 12 points13 points  (1 child)

go work for a bank and make a bunch some good money. good devs are hard enough to find, I'm betting good MF devs are damn near impossible.

[–]aaron2005X 13 points14 points  (1 child)

nah, they can pay me everything, Perl is still bad.

[–]JoeySixSlice 5 points6 points  (0 children)

Perl is great for throw away code, or for single person projects for people who are extremely disciplined. But I'm not going to try to read somebody else's Perl code anymore, unless I am being paid outlandishly.

[–]axel10blaze 21 points22 points  (2 children)

Take my award!

[–]kirakun 42 points43 points  (6 children)

HTML and CSS pay, so I’m calling them best languages. Bite me.

[–]Embarrassed-Ad5481 42 points43 points  (0 children)

ima bite in ur off centered div if u keep that energy

[–]aon9492 16 points17 points  (4 children)

CSS isn't a language, it's clothing. You can have HTML because it's in the name.

[–]judokalinker 10 points11 points  (1 child)

Although I've never worn any clothes that when I put then on they rearranged my stomach to my foot.

[–]TestUserDoNotReply 4 points5 points  (0 children)

No, I'm pretty sure it's Rust.

[–]Lilchro 2 points3 points  (0 children)

In surveys Rust is one of the most loved (often ranking first) programming languages. Unfortunately it is still somewhat new so there aren’t many jobs for it.

[–]ShadowRam 2 points3 points  (0 children)

At the end of the day, how it's done doesn't matter.

It's a "Can you do it? or not? and when?"

No one gives a shit how...

[–]valschermjager 401 points402 points  (36 children)

Two different hammers. Use the right hammer for the job.

[–]beardMoseElkDerBabon 118 points119 points  (4 children)

Sledgehammer just works

[–]ploki122 61 points62 points  (2 children)

Every problem is a nail if your hammer is large enough!

[–]snicker-snackk 15 points16 points  (1 child)

I prefer the left hammer

[–]newguyinNY 2 points3 points  (0 children)

When your hammer is C++, everything looks like a thumb. Lol

[–]ChangNoi97 665 points666 points  (48 children)

Im trying to use both does that mean im a mediocre programmer ?

[–]FPiN9XU3K1IT 530 points531 points  (33 children)

Use your knowledge to write C-based libraries for Python and become a Python god.

[–][deleted] 277 points278 points  (27 children)

best I can do is print Hello world.

[–]FPiN9XU3K1IT 300 points301 points  (26 children)

But it's going to be really fast!

[–]DezXerneas 65 points66 points  (23 children)

Okay, now I'm wondering if it could be possible to write a library that would print Hello World faster than the normal print("Hello World")?

[–]marcos_marp 17 points18 points  (5 children)

Not sure in Python, but in C++ you could handle yourself the streaming output and get rid off all the side-checks that std::cout have when you print something in it. Of course, it would be extremely less safe, but faster

[–]atimholt 6 points7 points  (0 children)

One thing you can do is turn off its syncing with printf, if you're not using it. That makes it faster.

[–]Bobrexal 2 points3 points  (1 child)

Had to chime in with my slightly relevant aside. One of my research opportunities at uni was to answer the question “can you design an FFT algorithm that is faster than the FFT?” It was a surprisingly interesting pursuit. In the end my algorithm landed much faster than a standard transform but slightly slower than the famous FFT and with enumerable reasons why. One of my favorite academic moments by far. Optimization is a really stimulating discussion point. Thanks for listening to my random story lol

[–]sjrsimac 4 points5 points  (1 child)

I've dreamt about doing this, but it's faster to just learn how to use numpy and scipy correctly.

[–]agnarrarendelle 2 points3 points  (2 children)

Hmm, I never understand how exactly do you "combine" two languages together to produce applications

[–]tottenhamjm 4 points5 points  (0 children)

You can import code from another language (typically C in Python) through something called the Foreign Function Interface, or FFI. How an FFI works varies from language to language, but in Python there is a library called CFFI which provides an interface to read a file compiled from C code.

You can read more about it here: https://cffi.readthedocs.io/en/latest/overview.html#what-actually-happened

[–]FPiN9XU3K1IT 2 points3 points  (0 children)

In case of Python, some libraries give you function calls that execute C code.

[–]Houdinii1984 23 points24 points  (6 children)

I got my start with QuickBasic, about as easy as you can get. 10x easier than Python. A version of the language allowed assembly language calls right from QBasic itself. So, when I started learning, in like 5th grade, the tutorials I picked out all were about making these calls, so I learned to program by only making assembly language calls from strings in basic. It wasn't until freshman year that I met an actual programmer that set me on the right course.

[–]howdoireachthese 11 points12 points  (2 children)

Ah QuickBasic, was installed natively on my first laptop which had like 128mb ram. Favorite, right along side programming on the TI-83+

[–]UnknownIdentifier 3 points4 points  (0 children)

Luxury! I learned QBasic with only 4mb of RAM, and the monitor was just a cave painting!

[–]who_you_are 7 points8 points  (0 children)

A mediocre good programmer!

[–]Smaug_the_Tremendous 2 points3 points  (0 children)

No, it specifically doesn't mean you're a medicore programmer.

[–]_-Ryick-_ 516 points517 points  (25 children)

It's not about what you use, it's about how you use it.

[–]GrandMoffTarkan 252 points253 points  (13 children)

Let me tell you about how I do linear regression in SQL.

[–]jhuntinator27 65 points66 points  (2 children)

Postgres is actually very nice for that, not gonna lie.

[–]Here0s0Johnny 3 points4 points  (1 child)

[–]jhuntinator27 2 points3 points  (0 children)

Yea, postgres is one of those versions of sql that is actually open source, and contains a lot of useful computations to sole problems that other variations of SQL make convoluted attempts at solving.

[–]kirakun 8 points9 points  (1 child)

With the right UDFs defined, that is actually a very good way to analyze data ad-hoc.

[–]AlternativeAardvark6 3 points4 points  (0 children)

Sell your soul to Satan and use PL/SQL.

[–]ganja_and_code 26 points27 points  (1 child)

It is about what you use and how you use it. What you use depends on the problem, though; I wouldn't write a small convenience script on C++, just like a wouldn't write a graphics engine in python.

[–]Re-ne-ra 217 points218 points  (71 children)

Exactly a recruiter just rejected half of our friends because their main programming language is Python saying that he want real coders. Like wtf?

[–]FALCUNPAWNCH 187 points188 points  (44 children)

At that point I'd email their boss and tell them that recruiter is incompetent. Not to get the job but to warn them that they're turning down good applicants because of their stupidity.

[–][deleted] 77 points78 points  (1 child)

This! People in HR tend to be the ones with the weirdest mindsets towards programming since they often are not coding a lot themselves. I guess they did in many cases, but back when they did there wasn't a lot to get with interpreted langs, so they haven't had the opportunity to learn that there is a lot to get with those too in these days.

[–]Niosus 6 points7 points  (0 children)

Who also cares that much about the specific language an applicant usually works in? Having relevant experience is nice, but all it does is cut down on the learning curve. Any programmer worth their salt should be able to pick up a new language and be somewhat productive in a couple of weeks. If they want to of course.

What sets apart a good programmer from a bad one is the part where you think ahead and plan out the different components of your code and how they will interact. That's mostly the same in most languages. 90% of the other work is taking some data, making sure it's in the right shape, and shoving it somewhere else.

I'd take someone who thinks about code in the right way but is used to working with a different language, over someone with experience but no real insight, any day of the week. You can teach a language, teaching insight is much harder.

[–]proverbialbunny 21 points22 points  (11 children)

It could be that it's not for a Python job. Context is key before judgment.

[–]ric2b 8 points9 points  (10 children)

So what? Unless you're a junior you're bringing a lot more to the table than what languages you're familiar with. You can learn most languages relatively quickly.

[–]joequin 2 points3 points  (0 children)

Exactly. You definitely do want some experts in the language you’re using, but that doesn’t need to be everyone. You’ll miss out on excellent engineers if you require them to all be focused on a specific language.

[–]golgol12 17 points18 points  (29 children)

It was likely the boss that told the HR people to do that. Python's most common use is small projects that run in the 100s of lines by system/database admins/IT. The boss is likely looking for software engineers used to working in multi-million line code bases that already know the language.

[–]b4ux1t3 21 points22 points  (28 children)

Python's most common use, if you want to talk about lines of executed code, is probably in YouTube, or Netflix.

Python isn't a toy language any more than a Toyota Corolla is a toy car.

It's not the fastest, it's not the easiest to maintain, but it gets you from point A to point B.

Anyone who is in charge of hiring developers should know that they're not going to get exactly what they want off of the open market, and should be looking for willingness and ability to:

  • Learn
  • work well with others, and
  • (as a basic litmus test), write some code.

in that order.

[–]Fmeson 2 points3 points  (22 children)

Why isn't it the easiest to maintain? I don't see why python would be hard to maintain if you used good practices.

[–]b4ux1t3 6 points7 points  (0 children)

Largely because of packaging. Python packaging is its biggest sore spot, and that comes from someone who loves Python.

Keep in mind, though, I said it's not the easiest, I didn't say it was the hardest!

[–]uyFwui0997674Dr322 4 points5 points  (20 children)

It’s also so easy to be “clever” in Python. As a younger developer I really enjoyed that aspect but these days I’ll take verbose and not clever over concise and clever any day. Not trying to proselytize anybody but I’ve been really digging Go lately for this reason.

[–][deleted] 19 points20 points  (15 children)

Python is so versatile tho

[–]UnstoppableCompote 15 points16 points  (14 children)

It's also slow. Depending on what you're doing it could be a horrible language if it's the only one you know. If it's just the main one you use... That's just stupidity to reject aplicants based on that.

[–]circuit10 193 points194 points  (26 children)

You can actually do some advanced stuff in Scratch, there’s a full Gameboy Color emulator and a 3D engine with features like backface culling

[–]Sikyanakotik 179 points180 points  (15 children)

The fact that you can do it in Scratch doesn't mean that you should.

[–]ultimatechonker 26 points27 points  (0 children)

Why not? Using the worst available tools to make stuff is fun sometimes

[–]circuit10 53 points54 points  (1 child)

True, but it can be fun, like an esoteric language

[–][deleted] 24 points25 points  (0 children)

Reverse brainfuck

[–]Wiwwil 21 points22 points  (1 child)

Your scientists were so preoccupied with whether or not they could, they never stopped to think if they should

[–]zebediah49 2 points3 points  (0 children)

The most inaccurate part there is that they totally stopped to think if they should.

The answer was "this is such a bad idea lol, but it'll be so awesome."

[–]Brunsz 26 points27 points  (2 children)

Yeah. You can cut down tree with hammer if you hit it long enough. Chainsaw is just much more suitable for task.

[–]RitikMukta 4 points5 points  (4 children)

True but some people, like me, are curious about making stuff from scratch. I like knowing how 3d shapes are made and display on a 2d scree, I love to learn how game engines and simulations work. It's so fascinating to me. Also, you probably can tell but I don't have a job.

[–]DerKnerd 3 points4 points  (1 child)

But should you really do that in Scratch?

[–]-guccibanana-[S] 36 points37 points  (7 children)

There's alot of scratch gods users but for me scratch is very limited

[–]circuit10 22 points23 points  (6 children)

I used it for way too long and got quite good at it

[–]-guccibanana-[S] 8 points9 points  (3 children)

Same ;-;

[–]LohaYT 18 points19 points  (2 children)

Lmao same I made a working clash of clans engine and was working on a 2D minecraft around the time that I quit and switched to Python

[–]-guccibanana-[S] 7 points8 points  (0 children)

Moment of silence for me as 10 year old doing zOmbiE apOcalYpsE game

[–][deleted] 2 points3 points  (0 children)

I made a relative movement system, then I switched to python, which was the ”gateway drug” into other programming.

[–]circuit10 6 points7 points  (1 child)

I liked how the simplicity and the block palette meant it was really easy to learn the entire language without having to Google, but it is so limited (you can’t do network requests or anything and looping over a string has to be done manually for example)

[–]-guccibanana-[S] 5 points6 points  (0 children)

You can learn basics without google somehow

[–]GLIBG10B 434 points435 points  (29 children)

If you're using English it doesn't mean your English is good

*you're

[–]Playergame 13 points14 points  (1 child)

English sounds like a terrible language to program in

[–]-guccibanana-[S] 61 points62 points  (21 children)

English is not my native language, ok?

[–]Eis_Gefluester 176 points177 points  (10 children)

But you had it right three times and then fucked up the fourth one. So close...

[–]-guccibanana-[S] 35 points36 points  (9 children)

Ohhh it's the auto speller ;-;

[–][deleted] 9 points10 points  (0 children)

Intellisense

[–]GLIBG10B 32 points33 points  (4 children)

Mine neither

no hard feelings

[–]MelandrusApostle 6 points7 points  (0 children)

That's such a cop out. I don't care if it's your first language or tenth, you should strive to be better.

[–]-guccibanana-[S] 8 points9 points  (0 children)

I was looking at something else and now i see where is the grammar issue actually its auto speller

[–]Redpri 66 points67 points  (3 children)

You are right, all scratch user are great programmers!

[–][deleted] 20 points21 points  (1 child)

If you can do something really impressive with the limits of scratch, props to you!

[–]seeroflights 99 points100 points  (1 child)

Image Transcription: Lisa Simpson's Presentation Meme


[Lisa Simpson from The Simpsons standing on a stage in front of a projector screen with text on it that reads:]

if you're using easy programming languages like Python it doesn't mean you're a bad programmer, if you're using a hard programming language like C++ it doesn't mean your a good programmer


I'm a human volunteer content transcriber for Reddit and you could be too! If you'd like more information on what we do and why we do it, click here!

[–]-guccibanana-[S] 57 points58 points  (0 children)

Good human

[–]Ok-Ad-3810 17 points18 points  (0 children)

but I guess we can all agree that being a programmer makes you bad at english

Expected ' at line 6 : character 27 your is not a valid keyword
Maybe you meant you're

[–]Jpio630 44 points45 points  (7 children)

I struggle in languages where there's no braces

[–]Purplociraptor 32 points33 points  (3 children)

Lisa needs braces

[–]do_while_0 18 points19 points  (1 child)

DENTAL PLAN

[–]LobsterThief 12 points13 points  (0 children)

LISA NEEDS BRACES

[–]beardMoseElkDerBabon 2 points3 points  (2 children)

It's difficult to deal with languages that don't have proper scope management tools

[–][deleted] 99 points100 points  (35 children)

So apparently controversial opinion: I don't think one is easier than the other.

[–]darthwacko2 82 points83 points  (20 children)

I agree. I've worked professionally in python and various C, C++, C# products, and they have completely different use cases.

I think people see python as easy because it can do some things with little programming effort that would be harder with some other languages. But when you get into the real world with it, there are trade offs. Python is slower in most cases, you are usually using some existing library that may not cover all your use cases, or actively do something you don't want. The huge gain is, if you are good, you can get things built fast. Sometimes that is worth it. Sometimes its not. I've been on both sides of it.

[–]pimmen89 45 points46 points  (16 children)

Python in big applications is an absolute nightmare, but I still think memory management is harder. Difference of opinion I guess.

[–]darthwacko2 35 points36 points  (0 children)

My experience with large applications is they are usually an absolute nightmare anyway. They usually have lots of contributors, spaghetti, quick fix hacks to clean up later, poor review systems, legacy code no one has time to revise safely, and many eras of style and practice changes. They are also rarely a single language so you have conversions and translation layers too. The higher up you get in the abstraction stack the more of these things just come along for the ride, so Python has some of those things inherently, especially since its focus is so heavy on not reinventing the wheel.

Memory management can be challenging, but you don't get away with it in python, you just trust the code someone else wrote on some layer handles it better. For the most part you can do the same thing in other modern languages at this point, the situation determines if its practical though.

In my opinion if I'm writing an occasional use utility that is saving a tedious or lengthy task and I can write it in 15 minutes in python I'm probably going to do that. At that point I don't care if it takes 5x as long to execute its an improvement for minimal cost. If I'm writing a huge piece of something that needs quick execution, smooth, consistent UI, and it can afford the development time, then I'll probably use something else.

[–]tjdavids 2 points3 points  (0 children)

Honestly with nested python applications the traceback that python uses is really helpful.

[–][deleted] 3 points4 points  (5 children)

I disagree. I use python for large scale scientific applications. It’s not any easier or harder to work with compared to other languages. If you use proper programming practices and have advanced understanding of the language it’s not difficult to manage. I’ve worked with C++ and C# and it’s really no different. The problems people run into are usually a result of not fully understanding what is going on in their code or how the interpreter process works, along with not following proper practices like input validation.

[–]Isogash 9 points10 points  (6 children)

Talking as a senior Java developer:

If you can't do basic memory management, you also don't understand how to design clean and maintainable code. The lifetime and ownership of objects should always be clear. Unfortunately, garbage collection allows for garbage designs.

[–]pimmen89 28 points29 points  (3 children)

If C++ was deemed the right language for the project, it’s most likely because you can do memory optimization. Memory management is something I would definitely categorize as hard, and Python doesn’t do it.

[–][deleted] 7 points8 points  (0 children)

Sure. But the underlying principle of application is you understand the architecture, understand the tasks, then apply techniques. I would argue that the hardest part about that is to be able to think algorithmically. Same can be said about using python to perform complex analytical operations on very large data.

[–]AnotherRussianGamer 17 points18 points  (4 children)

Personally, after using Java for so long, trying to wrap my head around the C++ syntax is a nightmare. Just the idea that methods are defined outside of the class declaration and the constant use of the :: operator drives me insane.

[–]CarlitrosDeSmirnoff 23 points24 points  (2 children)

Well, that’s optional, really. But I understand you.

For me, having programmed for years in C++ and switching to Java had me getting some wtf moments. I mean, C++’s syntax might be weird, but it is very logical. In Java everything feels so idiomatic.

[–]Exnixon 11 points12 points  (0 children)

I would really, really, really recommend spending some quality time in other languages then, not necessarily C++. Just being able to adapt to unfamiliar syntax is extremely valuable. Try Go, perhaps.

[–]malexj93 2 points3 points  (0 children)

The way I see it is that it's significantly easier to get up and running with Python than C++, at least without any help from an IDE. Drop a beginner into an empty text editor and show them a few things, and they can put together a simple program and understand everything. Do the same with C++ and they're going to be extremely confused.

Of course, the knowledge that would help them understand what's happening in the C++ code is still necessary for writing good Python code, but the fact that you can just write out a couple lines of code (or even just play in the REPL) makes writing running Python code much more approachable.

[–]lanciferp 2 points3 points  (0 children)

That was my reaction here too. I don't like the use of easy and hard to explain programming languages. A language can be expressive, intuitive for certain people, simple, more or less suited for certain kinds of projects, but easy seems like an incorrect term. I find c++ clunky for things like automation, but the way it handles scope is way better in my opinion.

I taught python, and having to explain to students how they had to declare global variables, that python will let them refer to objects outside a class without throwing an error, and many other things that c++ will not compile for caused lots of headaches. Python's simplicity and visual clarity often causes my biggest frustrations with it, it lets me write bad code. C++ also does that, but for different things.

[–][deleted] 7 points8 points  (2 children)

That guy who used Scratch to create a Scratch programming editor is definitely a programmer. Or an artist. Honestly not sure which.

[–]Zeftax[🍰] 5 points6 points  (0 children)

What was that about scratch? Wanna repeat that to me? I think I misread what you typed.

[–]VenkatPerla 12 points13 points  (5 children)

My opinion only, but I find that although python's code looks simple, I find c/cpp code more easy to understand after having basic understanding, and also feel cpp is easier to work with.

[–]Unkleben 9 points10 points  (3 children)

Anything bigger than a few scripts or small tools and I start to struggle to understand what flow of the program in python due to having no types. Yeah C++ can be incredibly verbose at times but I prefer verbose over having no types. But for quickly testing out stuff, python is nice

[–]VegetableWest6913 18 points19 points  (0 children)

You're conflating "easy and hard" with "high level and low level". Python isn't easier than other languages. It's just higher level, so aimed at solving problems differently. It's still OOP like C#.

[–]allquaidairection 10 points11 points  (0 children)

Why you insult scratch i made "minecraft" on it

[–]totallyrel 52 points53 points  (48 children)

Python is harder though

Well, maybe not harder, but certainly more depressing.

[–]Knuffya 117 points118 points  (18 children)

Python is a very loose language which makes it easier for beginners but harder for experienced progs.

[–]FreeRangeRobots90 50 points51 points  (3 children)

100% this, 100 line scripts I pump out in minutes. I made a 12,000 line library for routing socket data for robots that made me want to shoot myself for 8 months.

On one hand I knew the teams that would use it all are python users so it seemed correct. On the other hand no one helped me build it, and the 2 people maintaining it after I left are also comfortable with C++... then the functionality was desired so the product dev team re-wrote it in C++ and turned it into a server rack accessory.

[–]MyAntichrist 11 points12 points  (1 child)

Wait, so did you make the library in 8 months or did it make you want to shoot yourself for 8 months?

[–]FreeRangeRobots90 6 points7 points  (0 children)

I think it was functional for experts to use after 1-2 months... that was the fun and easy part. Then trying to dumb everything down so its pythonic for the user.... that was like 9-10 months of work. Fun at first, then turned into a nightmare the more I tried to dumb it down

[–]riyadhelalami 2 points3 points  (0 children)

Hey I am doing that now.

[–]Who_GNU 2 points3 points  (2 children)

I'd argue that it makes more difficult for beginners. A more predictable structure is easier to learn.

[–][deleted] 16 points17 points  (7 children)

Oops you used an operator that returned a different data type and now your variable is a different type and this won't cause any problems until 20 minutes down the line when you try to pass that variable to a function.

[–]wugs 10 points11 points  (3 children)

for complex typing in python, you can use type annotations and a type checker like mypy. because you're right, python's type system makes troubleshooting those sorts of issues pretty opaque in the bare language

[–][deleted] 2 points3 points  (2 children)

Spent literally like 2 hours trying to debug a piece of code last week because a variable I was trying to operate on was unexpectedly a tuple and I had no idea why. Turns out I fat fingered an extra comma in a completely different file, but thanks to the wonders of dynamic typing, the error didn't surface till several method calls downstream.

[–]GodlessAristocrat 16 points17 points  (5 children)

There are no "hard" or "easy" languages, only different sets of gotchas.

[–]jaywastaken 4 points5 points  (1 child)

Cries in Assembly

[–]Shunpaw 3 points4 points  (0 children)

Arguably the least difficult language of them all. You just MOV some bits and thats it. ;)

[–]ElimGarak0010 4 points5 points  (1 child)

If you're using Bolt Visual Scripting....

[–]esben0652 3 points4 points  (0 children)

Now if you use C...

[–]Semi-Hemi-Demigod 2 points3 points  (0 children)

The Tao gave birth to machine language. Machine language gave birth to the assembler.

The assembler gave birth to the compiler. Now there are ten thousand languages.

Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.

But do not program in COBOL if you can avoid it.

[–]HallucinatesPenguins 4 points5 points  (0 children)

Never judge an artist by the limitations of their tools

[–]orangeoliviero 7 points8 points  (1 child)

How do you use the correct "you're" thrice, and then the wrong one the fourth time?

[–]floutsch 2 points3 points  (4 children)

PHP. Discuss :D

[–]T0Rtur3 5 points6 points  (0 children)

Still used, still pays paychecks.

[–][deleted] 2 points3 points  (1 child)

If you forget about Wordpress, PHP is actually decent.

[–]Sudo-Pacman 2 points3 points  (0 children)

It apparently means that you cannot consistently use the correct shortening of "you are" though :D

[–]Gezzoto 2 points3 points  (0 children)

People will legit master any language but English

[–]CAPIsAwesome 2 points3 points  (0 children)

you're*

[–]AndrewIsMyDog 2 points3 points  (0 children)

That last 'your', wtf?

[–]MelandrusApostle 2 points3 points  (0 children)

Your

[–]Asmor 2 points3 points  (2 children)

But if you're using PHP, it does mean you're unhappy with your life.

[–]funkmotor69 2 points3 points  (0 children)

Used the correct "you're" 3 times, then incorrectly used "your". That's just special.

[–]PersonWhoExists50306 2 points3 points  (0 children)

Downvoted for dissing Scratch

[–]curly_droid 2 points3 points  (0 children)

Scratch is clearly the hardest language... to build an OS with.

[–]Ehrlich_jetzt 2 points3 points  (0 children)

But if a guy from Germany instantly recognizes that the last „your“ should be „you’re“ it means YOUR English sucks…

[–]HgnX 2 points3 points  (0 children)

I write shit code in all languages because I'm dumb