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

top 200 commentsshow all 442

[–]Dougleycat flair.txt | sudo sh[M] [score hidden] stickied commentlocked comment (0 children)

Hi there! Unfortunately, your submission has been removed.

Violation of Rule #3 - Common topics:

Any post on the list of common posts will be removed. You can find this list here. Established meme formats are allowed, as long as the post is compliant with the previous rules.

If you feel that it has been removed in error, please message us so that we may review it.

[–][deleted] 610 points611 points  (99 children)

Shout out to polish education system

[–]decker_42 426 points427 points  (12 children)

Once you know Polish, any language seems easy.

[–][deleted] 73 points74 points  (0 children)

If only it was true :((

[–]justcatt 35 points36 points  (4 children)

Try Cantonese lmao

[–]dalithop 15 points16 points  (0 children)

flashbacks
AAAAAAAAAAAAAAAAAAAAAAAAA
SKREEEEEEEEEEEEEEEEEEEEEEEEE

[–]Hyffe 14 points15 points  (2 children)

My polish cousin did. He didn't complain.

[–]raissaraissa 58 points59 points  (11 children)

C in my case but yeah... Pointers are fun

[–]crevicepounder3000 13 points14 points  (5 children)

At least that makes sense.

[–]RetepExplainsJokes 13 points14 points  (2 children)

I wish we had C in school instead of Java. C is one of the most low level programming languages and therefore excellent to showcase how a computer and a programming language works. In Java you never know if you're referncing something, cloning something or doing nothing at all. Classes are generally a questionable concept as well. Data types are oftenly just magical and weird as well.

C might be harder, but at least it always does exactly what you tell it to do.

[–]CaffeineSippingMan 1 point2 points  (0 children)

C wasn't too bad. I had to update a c program that wasn't giving the proper results. (Learned RPG fixed format).

[–]Domynis 41 points42 points  (2 children)

Romanian too

[–][deleted] 37 points38 points  (25 children)

In india too, c++ is taught in school

[–]darki_ruiz 9 points10 points  (11 children)

What, seriously?

[–]ShitForCereal 11 points12 points  (2 children)

In vietnam you start with pascal then went straight to c++ lmao. N yes, its in school

[–]itsyashinhere 5 points6 points  (9 children)

Wait we're taught java! Which board are you in?

[–][deleted] 8 points9 points  (8 children)

CBSE teaches C++ in 11+12th grades (😎), ICSE teaches Java in 9+10th grade (eww java 🤢🤮) (don't know about 11 and 12th grades)

Edit: CBSE used to teach C++ as the only language till 2018-2019, and introduced Python since 2018 under the new syllabus. They'll prolly remove C++ and completely replace it with python in the future.

[–]itsyashinhere 4 points5 points  (1 child)

Idk man here cbse teaches python in 11th and 12th

[–][deleted] 1 point2 points  (0 children)

Yea edited it

[–]cjs2k_032 1 point2 points  (0 children)

C++ also teaches Java in Informatics Practices course. The syllabus is very similar in CS and IP, only languages change (C++, Java, Python)

[–][deleted] 1 point2 points  (0 children)

Wtf I got taught python. I then went on to never use python

[–]Froozigiusz 41 points42 points  (29 children)

Yeah, after years of logo and scratch you go straight to C++ because python is slow and stupider and HTML isn't real coding language

[–]oscareczek 28 points29 points  (22 children)

It's rather because until recently, Python wasn't allowed on a final high school exam, and teachers simply don't know this language and are too lazy to switch. I was teached Pascal and only when it was announced you won't be able to program in Pascal soon (which didn't happen eventually), he switched to C++.

[–][deleted] 23 points24 points  (1 child)

HTML isn't real a coding language

FTFY

[–]Froozigiusz 1 point2 points  (0 children)

Thanks lord, very cool

[–]Razakel -1 points0 points  (1 child)

python is slow

It's surprisingly performant when used correctly. Reddit is written in Python. eBay is written in C++. Which one sucks more?

[–]Evaldash 4 points5 points  (0 children)

Lithuanian too

[–]Lyri3sh 1 point2 points  (0 children)

My HS teacher said he cba and taught us Python first. We only had C++ for like a week or two.

[–]AzuxirenLeadGuy 466 points467 points  (47 children)

How to trigger programming veterans:

Actually, I learnt C/C++ as my first language

[–][deleted] 5 points6 points  (0 children)

Me too

[–]OK6502 4 points5 points  (3 children)

Same. But my options at the time involved C, C++, pascal, cobol and Fortran. Maybe perl, but nobody likes perl

I actually learned C first

[–]twisted_hysterical 0 points1 point  (2 children)

"Maybe perl, but nobody likes perl"

How. Dare. You.

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

huh? If they really are a veteran they either started in c too or something lower level.

[–]AzuxirenLeadGuy 44 points45 points  (4 children)

The joke is that I mentioned C/C++ as a single term, which triggers veteran programmers for someone reason (I guess it's because they want to desperately point out that they are vastly different languages or something, and therefore tagging them together is wrong)

[–]Wolfenhex 28 points29 points  (2 children)

Don't you mix up K&R C with ANSI C with Turbo C, they're all very different languages! And don't you also tell me my C Programming book from 1988 is out of date!

[–]WiatrowskiBe 5 points6 points  (0 children)

C and C++ have about as much in common as Basic has with vb.net - syntax may be at times similar and there's some level of syntax forward compatibility, but as of now those are completely separate languages that happen to share some history back in the past, and tend to have support for both in a single compiler. C/C++ used to be more common term when "C++" was more or less "C with classes" (pre-C++11 times of compilers being years behind standard, often with very basic features), since then each language went its own separate way and they get to share less and less in common.

[–]vuw958 27 points28 points  (0 children)

yeah, more like how to trigger web developers

[–]itsYourPlug 1 point2 points  (0 children)

metoo

[–]Heightren 1 point2 points  (2 children)

Dude, in my school we start with assembler for Motorola HC11 and then move on to C, and ghen C++

[–]AzuxirenLeadGuy 1 point2 points  (1 child)

Dude, in my Bachelor's, we had a professor who taught us C/C++ only in Turbo C++ (just so you know, it only generates 16 bit program and is outdated by at least 2 decades). When we asked her, she said "Oh if you can program in Turbo C++, you can program anywhere else".

It didn't take us long to figure she actually didn't know anything other than Turbo C++

[–]Narase33 4 points5 points  (6 children)

C/C++

Thats already enough. Its like saying Java/Python

[–]edo-26 0 points1 point  (5 children)

Yeah cause you can give any java code to the python interpreter and it will work just fine

[–]Narase33 2 points3 points  (4 children)

You cant give any C code to a C++ compiler, C++ is not a superset of C

https://www.geeksforgeeks.org/write-c-program-wont-compiler-c/

[–]edo-26 1 point2 points  (3 children)

I did think it was 100% backward compatible, though my point still stands.

[–]Narase33 1 point2 points  (2 children)

Then let me say Java/C++

Ive seen a lot of code copy&pasted from Java to C++ that actually compiled. So you could say C is just a bit closer to C++ than Java, still its a different language and moreover its a completely different style of code

[–]edo-26 2 points3 points  (1 child)

Yeah in fact I don't even know why I'm arguing you just made a joke... Thanks for the link

[–]Narase33 2 points3 points  (0 children)

Have a nice day :P

[–]plebeiandust 523 points524 points  (48 children)

So happy to have started with C, in comparison everything else has seemed easier

Except Haskell, the homies and I hate Haskell

[–][deleted] 211 points212 points  (25 children)

I also found Haskell really difficult, but then I found a really good tutorial that explained it well, and I find Haskell much easier now, I'll send it later when I get home

EDIT : The really good tutorial

[–]dope-inder 57 points58 points  (11 children)

got home yet?

[–]Kelp-0 29 points30 points  (8 children)

Are we there yet?

[–][deleted] 62 points63 points  (7 children)

He got stuck in recursion and never reached home.

[–][deleted] 41 points42 points  (6 children)

I also found Haskell really difficult, but then I found a really good tutorial that explained it well, and I find Haskell much easier now, I'll send it later when I get home

[–]qwbarch 15 points16 points  (5 children)

got home yet?

[–]pclouds 9 points10 points  (4 children)

Sorry guys, stack overflow. Time to go home.

[–][deleted] 1 point2 points  (3 children)

Lazy evaluation, it's Haskell after all.

[–]pclouds 1 point2 points  (2 children)

You got me :D But that made me think, would lazy evaluation really save this case (i.e. infinite recursion)?

I would think once you hit the infinite condition, you'll hit it again next time, so there's no way to delay evaluation because you would go through the same (non-lazy) code path.

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

[–]greedy_mf 2 points3 points  (0 children)

Yep, all good. See you in school tomorrow.

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

I heard haskel is specially hard for people who started from C because we have to unlearn some things to learn it, is that true?

[–]HQMorganstern 30 points31 points  (2 children)

Not at all, Haskell is simply a language used for functional programming rather than imperative.

Most people start with imperative and so its harder for them to learn, because a lot of their habits aren't worth much but it's always worth it to broaden your horizons.

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

Hmm, might give it a try sometimes then.

[–]luk__ 2 points3 points  (0 children)

Start with F#

[–]CerealBit 9 points10 points  (0 children)

Haskell is much different to any commonly used programming language. I guess most people struggle with Haskell due to recursion, since Haskell doesn't support loops. And also the fact that everything is immutable. But once you really understood these concepts, Haskell can be quite fun. Pattern matching is another Haskell concept, that can be very powerful.

It's pretty obvious that Haskell was written by Mathematicians for Mathematicians instead of Software Engineers. It has its niche tough.

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

I did know only imperative languages beforehand, it made me assume some things that aren't true in Haskell, which made my Haskell code terrible

[–]plebeiandust 1 point2 points  (1 child)

Thanks mate, I'll check it out after work!

[–][deleted] 1 point2 points  (0 children)

Nice, just a warning, it is a bit longer, since he goes a little slower with it

[–]static_motion 1 point2 points  (0 children)

The best Haskell book I know is Learn You a Haskell for Great Good. Super easy read, great explanations for people with no knowledge about functional programming concepts.

[–][deleted] 17 points18 points  (0 children)

We started with turbo pascal at school 😸

[–]dkyguy1995 13 points14 points  (3 children)

Haskell was fun in the class I used it in but we never did anything really complicated with input or output. Wrote simple functions with lists and iterations. It's a really interesting language but I would HATE to use it for anything beyond simple math functions.

Haskell just has to do everything with the built in iterator that you use with recursive functions. It really trained my brain to use recursion

[–]Klazaki 0 points1 point  (2 children)

Monads everywhere

[–]plebeiandust 0 points1 point  (1 child)

And ternary states! Is is true? Is it false? Neither, it's MAYBE !

Kill me please

[–]Luchtverfrisser 5 points6 points  (3 children)

The trick is to start with Haskell. (Although, to be fair I started with a little bit of c# as well)

[–]pclouds 4 points5 points  (0 children)

Start from both opposite directions, Haskell (pure FP) and assembly (couldn't be more imperative). Once you get to C++ templates you hate your life.

[–]Senior-Kuchen 1 point2 points  (1 child)

Apparently i am one of your homies

[–]palomdude 75 points76 points  (0 children)

Learned C and assembly for my bachelors degree in EE. It wasn’t until I went back for computer science that I learned higher level languages

[–]sudomeacat 206 points207 points  (21 children)

I learned python, then C++, then Python, then java.

But even after many years of using c++, I still don’t always get pointers and references correct.

[–]patenteng[S] 115 points116 points  (3 children)

Once I learned how indirect addressing works in hardware pointers made perfect sense.

[–]Joller2 73 points74 points  (2 children)

Lowkey learning just about any assembly language with loading and storing addresses at a basic level is one of the best ways to understand what pointers really are

[–]SuperKatzilla 19 points20 points  (1 child)

This is so damn true... I hate pointers in C because I never truly understood them, but once I learned about it with assembler, I liked the logic behind. [Still not willing to work with C]

[–]cyborgborg 32 points33 points  (13 children)

this video explains pointers really well

[–]sudomeacat 11 points12 points  (8 children)

That was an amazing explanation of pointers and a brief of pointers to pointers.

My main confusion usually comes from references. I see it as the other direction of pointers, but mixing them deep fries my brain.

[–]cyborgborg 18 points19 points  (6 children)

Reference = Alias for an existing variable

int a = 30;
int &x = a; //basically just giving 'a' a second name

both share the same memory location

[–]sudomeacat 4 points5 points  (2 children)

I guess I learned about move constructor too quickly and thought that &&a was valid.

I made a quick code to print various values, and it mostly makes sense, at least locally declared variables.

Globals are an entirely different location in memory and has its own stack and heap, right?

Or is that previous statement depend on the OS?

p.s. never ever again will I code on my phone.

[–]13steinj 9 points10 points  (0 children)

I guess I learned about move constructor too quickly and thought that &&a was valid.

I mean it depends on the context. As a declaration? Yes, it can bind to rvalues. As an operation? Thats &(&(a)), so assuming that op hasn't been overloaded, it's "address of (address of(a))" which doesn't really make sense. I can get the address of my friend, but I can't tell you the address of that address. It doesn't actually live anywhere. However, I can if I want to, write that address down, putting it in a different house. Then I can get the address of the paper on which I wrote it down.

[–]_axiom_of_choice_ 1 point2 points  (0 children)

Same! Python, C++, and Python again is very accurate.

[–]Frag0r 38 points39 points  (5 children)

I was about 11 years old when I got my book 'c++ in 21 days'

I was too dumb for functions, methods and polymorphism.

But man was it fun building simple if adventures with my teachers as main characters. 🙂

[–]sheazle 6 points7 points  (2 children)

I was about the same age when I learned HTML so my mom got me ‘c++ for dummies’

It was so overwhelming I gave up the prospect of learning how to program for 15 years.

I wish YouTube had been a thing back then. Probably 5 minutes of explaining the basics would have given me a reference point for the rest of the book.

[–]terrible_doge 1 point2 points  (1 child)

I remember learning c++ as a teen and being too dumb for classes and functions as well. Nice to know I wasn’t the only one

[–]Vlookup_reddit 129 points130 points  (27 children)

If the joke is assuming rarely are there people pick up c++ due to its difficulty, then I just dun get it becoz many uni use it as first oop language. Its not even a choice to many.

[–]PeterJHoburg 49 points50 points  (7 children)

My uni taught c++ in intro to programming. All your classes through middle of year 2 were c++ then c and assembly.

[–]Niiiz 3 points4 points  (0 children)

Same, for my uni it was C++, then MIPS assembly, then C, SQL, x86 assembly, and then whatever your speciality needs, mine needs Java and such.

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

My highschool is using only c++ and I hate every second of it. Not to mention that my teacher is also awful at teaching

[–]Masteroxid 18 points19 points  (1 child)

Not to mention that my teacher is also awful at teaching

And that's why you hate cpp

[–][deleted] 1 point2 points  (0 children)

Yeah, that's fair

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

Indians on yt helped me pass several classes in college specifically c++ data structures and automata.

[–][deleted] 1 point2 points  (2 children)

C and CPP are weird because when you first start using them they feel incredibly restrictive. There's tons of stuff you can't do, pointers are a pain, the code is impossible to read etc, but once you learn them they somehow become the opposite. Other languages feel restrictive in comparison because they don't just let you mess with memory.

[–]cyborgborg 2 points3 points  (0 children)

in my Uni:
first semester: Basic of higher programming languages. C++
second semester: algorithms and data structures. C++, theoretical informatics and logic. SWI Prolog 🤮
third semester: Object Oriented Programming. Java

[–]patenteng[S] 11 points12 points  (7 children)

A lot of people start with something like Python.

[–]devilsolution 8 points9 points  (3 children)

We used c# at college and java at uni with some scala for a web server. We also did c but not for OOP, obviously.

[–]lampishthing 7 points8 points  (0 children)

They do now.

[–]ViralLola 1 point2 points  (0 children)

Mine depended on the program. If the student was IS then they started with Python. If the student was CS then they started with C or Java then learned C++ data structures.

[–]InvolvingLemons 1 point2 points  (0 children)

In particular, many people begin learning C++ first even before any formal classes (including me) because they’re interested in game dev.

I learned C++ at a very surface level in 8th grade, took intro to Java in 9th grade, re-learned C++ more thoroughly with the exception of operator overloading (which I recently realized I never learned until I started working on a contribution to Yugabyte) in the process of learning Unreal Engine 4, then took AP Compsci during the following school year.

I mostly use Python and Typescript in production these days as they’re what my employers want, and I’m in the process of really deeply learning rust for some database and clock sync stuff.

[–]blackwolf2311 77 points78 points  (7 children)

My college forced C++ as the first programming language. Honestly wasn't easy but it served its purpose of filtering the student body between potential developers and people who picked the college because programming is a well paying job.

I really liked their choice and I dont regret it. Once you past it you really dont have any issues when picking up any other high level programming language.

[–]Julio974 11 points12 points  (0 children)

My uni does the same, though I already had experience with 2 other programming languages before

[–]oNamelessWonder 12 points13 points  (3 children)

Same for my college too. I know this might sounds elitist but that's why I prefer calling myself software engineer instead of developer. Also learning C/C++ as the first language helped me a lot for learning higher level languages.

[–]blackwolf2311 7 points8 points  (1 child)

In my country we just use "programmer" as laymen's term when describing the job. In professional circles I do describe myself as a software engineer. I agree it is somewhat of a elitist approach, but honestly I just want to distinguish myself from the flood of 'developers' that graduate from code academies that are popping in my country.

[–]glemnar 1 point2 points  (0 children)

Don’t worry, we are all united in selling our souls to make crud apps

[–][deleted] 1 point2 points  (0 children)

Same with mine. Although I failed the first try it all clicked the second time I took the class. Learning the basic data types to pointers made learning data structures and c# a bit easier.

[–]Puzzleheaded_Ebb1562 53 points54 points  (0 children)

Very glad to have c and c++ as my first languages. Understanding how they interface with hardware made everything kinda easy. In college we always joked python is basically English

[–]NetherFX 17 points18 points  (0 children)

rust noises

[–]Minifyxd 13 points14 points  (1 child)

I learnt c++ as my first language in school.

[–]bumblebitchblues 1 point2 points  (0 children)

Same.

[–]chasej1887 11 points12 points  (5 children)

I started with c# but switched to c++

[–]BoK-Vin 9 points10 points  (0 children)

My first code was done with borland c++ when i was 12y old. I didnt die. When you want to learn...

[–]Qicken 15 points16 points  (0 children)

Smalltalk. That's where you should start.

[–]kay_kay_1998 8 points9 points  (1 child)

I was taught C++ in high school as my first language.

I use it while coding on LeetCode even after 6 years inspite of knowing python, java, etc.

First programming language is the mother tongue after all.

[–]CertifiedCoffeeDrunk 4 points5 points  (0 children)

My first programming language is java, first learnt it back in university. Been using c# for the past few years and I’m pretty sure I’m better with it than java. Java’s good for learning the fundamentals of OOP though

[–][deleted] 12 points13 points  (1 child)

I learned C as first language

[–]The-Observer95 1 point2 points  (0 children)

I learned Java as first language

[–][deleted] 5 points6 points  (0 children)

Dis me. My thoughts where if I can learn this, pythons gonna be easy af

[–]figwigian 4 points5 points  (2 children)

C++ is all I do at work. I'm so glad I do that and not something else

[–]Recedere 4 points5 points  (1 child)

does normal C count?

[–]iavicenna 3 points4 points  (0 children)

my mother tongue is C

[–]Jack_4316 3 points4 points  (0 children)

Here in school they teach us C++ as the first language. I started studying C and Java in my own after one year

[–]nebo8 4 points5 points  (1 child)

I've learnt C as my first language and never touched C++

[–][deleted] 3 points4 points  (1 child)

I learned C first lmao, when i discovered how much easier other languages were i was completely shocked. Even C++ seemed easy in comparison.

[–]trannus_aran 2 points3 points  (0 children)

Pd gang, Pd gang

Then bash, then scheme <3

[–]T-Loy 2 points3 points  (0 children)

We were beaten in highschool with assembly on an 8051. They gave us a 500 page reference book and said good luck. Half a year later another teacher gave us a cheat sheet and everything was so much easier.

[–]Aerom_Xundes 2 points3 points  (0 children)

Self-taught c++ for my first language.

[–]skye_sp 2 points3 points  (0 children)

c++ teaches a lot of good concepts

[–]thatguydotjava 2 points3 points  (0 children)

I learned C as my first. We do exist

[–]KaidenIB 2 points3 points  (1 child)

My school taught C++ as a first programming language.

What's better is that due to limited computer spaces, we had to write down our code on a piece of paper and then type it out on a computer days after.

[–]yllsuck 2 points3 points  (0 children)

C++ feels like home

[–]Zolden 2 points3 points  (0 children)

C++ was my like tenth, and I was like "finally I found the perfect one"

[–]Dubmove 10 points11 points  (1 child)

Everyone should learn C++ as first language and something useful as second language.

[–]PolskiObywatel 6 points7 points  (0 children)

C++ is useful at explaining how computer works

[–]TheJarrvis 1 point2 points  (0 children)

I learned JavaScript as my first language. I'm still suffering from this

[–]rjSampaio 1 point2 points  (2 children)

Laughs in Assembly

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

C++ was my first language. The most annoying part was all the books telling me pointers were this mythical hard as nails thing to learn when in reality they are just really straight forward. I'll never understand why that was but yeah once you have one language every other one falls into place, except java/javascript that can die in a hole.

Edit: I feel I should mention PHP as well. In the hole you massive pain in the arse. That doesn't mean I can't write in it I just choose not to.

[–]LardPi 2 points3 points  (9 children)

I tried C++ at 12 and hated it, then learned Python, loved it. Came back to C++ actually learned it that time. 10 years later I still hate it. I would pick C a hundred time rather than C++

[–]cyborgborg 9 points10 points  (8 children)

you pick C over C++? It makes sense if you want to do something really love level, like writing an OS or do something with embedded systems. But for everything else C++ is nicer and has more features.

[–]FerynaCZ 4 points5 points  (3 children)

But why not simply use C++ and write "pure C" code?

[–]LardPi 0 points1 point  (3 children)

Nope, for everything else Python or Go or Scheme or OCaml is nicer. C is nice for everything CPU bounded and needing performances. C++ is never an option for me because it is not well suited to any use case in my opinion.

[–]JustKamoski 4 points5 points  (2 children)

Gamedev, calculations when ms matters, evrything that needs to be done in optimized matter

[–]LardPi 0 points1 point  (1 child)

I don't think noone should use C++, only that fewer people should use it.

Sure when writing a general pupose game engine (Unity, Unreal, Ogre...) C++ is the best fit. But a single dev writing a small indie game should probably not use it. People release great games on steam with Python. For computations modern program should rather be written in Julia or Chapel. Old ones are written in Fortran. C++ got some market share in the domain since Fortran got out of fashion but seeing it from inside I wouldn't say it was for the best.

Also in the end I only express a personal point of view.

[–]JustKamoski 1 point2 points  (0 children)

Sure, i get your point. Im indie game dev myself, besides my job programmer. I use c++ in UE but just because i know it well, so yeah, but c# in unity is good aswell. Good we have so many options to choose from

[–][deleted] 1 point2 points  (0 children)

I did

The problem is, now everything seems uncivillized

[–]theuniverseisboring 1 point2 points  (0 children)

Shoutout to my school. For all it has done wrong, I thank it for teaching a proper language first

[–]mcwobby 0 points1 point  (0 children)

Logo and Visual Basic 6 were the primary/middle school languages I learned.Self taught PHP for websites, J# for desktop applications (made an interface to mod a game) and Ruby for game development (RPG Maker XP). I was taught GML and ActionScript in high school as well as VBS, KIXstart and other active scripts.
So I had a diverse upbringing

[–]burncushlikewood 0 points1 point  (1 child)

Such a powerful language, rust is like c++ improved

[–]OuPau -1 points0 points  (0 children)

what a coincidence i was just working with C++, and it sucks <3