this post was submitted on 16 Sep 2024
722 points (97.4% liked)

Programmer Humor

32596 readers
586 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 18 points 2 months ago (2 children)

Are any of those things that you actually deal with as a beginner, though? Sure, those add complexities, but by the time you start to get into them, you are probably no longer a beginner.

[–] [email protected] 22 points 2 months ago (2 children)

Of course... But the idea is that it is misleading... And there's more traps the beginners falls into. I have a feeling if beginners begin with C++, or other language that is strongly typed and requires memory management and then do some other language that is more abstract like python; they will become better programmers compared to them doing it in reverse.

[–] [email protected] 8 points 2 months ago

Yeah but fuck all that python is good enough for most beginners. Variables, scope, loops, functions, operators... Once you get some of the principles down switching to C++ or similar isn't nearly as bad.

Being a person that tried to learn C/C# from scratch in my early days python was a good gateway language.

[–] [email protected] 2 points 2 months ago (1 children)

For someone starting out, I would say that a major advantage of Python over any compiled language is that you can just create a file and start writing/running code. With C++ (which I'm also a heavy user of) you need to get over the hurdle of setting up a build system, which is simple enough when you know it, but can quickly be a high bar for an absolute beginner. That's before you start looking at things like including/linking other libraries, which in Python is done with a simple import, but where you have to set up your build system properly to get things working in C++.

Honestly, I'm still kind of confused that the beginner course at my old university still insists on giving out a pre-written makefile and vscode config files for everyone instead of spending the first week just showing people how to actually write and compile hello world using cmake. I remember my major hurdle when leaving that course was that I knew how to write basic C++, I just had no idea how to compile and link it when I could no longer use the makefile that we were explicitly told to never touch...

[–] [email protected] 2 points 2 months ago

100 times this.

I think I have a solid grasp of C++ and its manual memory management, but give me a build error and I'll have zero clue how to fix it.

[–] [email protected] 9 points 2 months ago

I don't know, man, far too many people seem to think that "easy to learn" means they'll know all they need to know in relatively short time.

Like, you talk to our data scientists and they'll tell you doing anything in Python, no problem. But you talk to our seasoned software engineers and you see the war flashbacks in their eyes, because it racks up in complexity so fucking quickly, it's insane.