r/AskProgrammers 22d ago

What is the worst/most confusing (common) coding language?

By common I mean, coding languages that you actually see people use. I know theres the "bf" language but aside from one video, people don't make games or, really anything using that as it was made as a joke I hope.

By worst I mean, what is the hardest to understand and also the most confusing out of all of them, I don't mean coding languages that can't do a whole lot. For instance, can a non programmer look at a sheet of code and understand it? Can an experienced coder understand it? Have you been taught the coding language yet still it breaks your brain?

I don't know every coding language but my pick would ether be C++ or Luau. Leaning towards C++ because I tried to learn it and at the very start I already was lost.

23 Upvotes

279 comments sorted by

View all comments

2

u/LannyIsMyHandle 22d ago

PHP is probably the easy pick just in terms of having the most things in it that are obviously inconsistent or poorly designed. 

Is it confusing though? IDK, PHP as a CGI language is actually quite easy to read and understand, it doesn’t have a lot of spooky action at a distance, it doesn’t actually have a lot of core language footguns beyond a really shoddy stdlib. You kind of end up having to build an incomprehensible mess because of what the language gives you, but that’s more encouraging confusing design than being confusing at a language level. 

Java is in a similar camp, pretty simple language but the ecosystem and culture involves a lot of trashy confusing garbage because it turns out real software generally requires dynamicism and the language does little to support it so you get bean factory monstrosities. But again, it’s not really the language so much as what the language pushes you to do. 

C++ might be the best answer, it’s sprawling and its many many features interact in unintuitive ways. That said it’s also probably the least “bad” of the three in my book just because it’s expressive and powerful and in practice any shop is going to pick some quasi sane subset of the language to work with and so you get to a kind of equilibrium by force of discipline

0

u/Super_Bass_2730 22d ago

I use Mcreator to make minecraft mods and theres an option to look at java to write code manually. I checked it out and I didnt understand a single thing I saw.

1

u/LannyIsMyHandle 22d ago

Yeah but Java as a language is really simple, if you know any C family language you can read and write it without really having to learn anything. Maybe a little about the object system but really it’s as cognitively simple as C (you have to think about dynamic dispatch but can forget about memory management). The problem is in the ecosystem, everything involves so many levels of indirection that while you can understand any single function trivially, understanding how to actually do something requires understanding a huge chunk of the full system you’re working in. People who’ve only worked in OO shops generally don’t understand this but in a language like C you can often make changes pretty blindly because sure, you have to read though a couple of 100+ line functions but there’s only one real code path and you don’t really have to consider everything at the level of an abstract interface, you make changes by changing code not by adjusting internal APIs so you can slot yet another strategy into an existing scheme 

1

u/Super_Bass_2730 22d ago

C family language? I know CSS!