this post was submitted on 16 Sep 2024
723 points (97.3% liked)
Programmer Humor
32396 readers
1646 users here now
Post funny things about programming here! (Or just rant about your favourite programming language.)
Rules:
- Posts must be relevant to programming, programmers, or computer science.
- No NSFW content.
- Jokes must be in good taste. No hate speech, bigotry, etc.
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
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...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.