this post was submitted on 14 May 2024
150 points (99.3% liked)
Programming
17686 readers
273 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Pascal was designed for beginners, so I'd start there. Get a handle on the basics before you move onto something which is using object-oriented programming, as that's a whole thing to understand in itself. One step at a time (I'm a teacher, and we always only teach students one concept at a time). And once you've got the basics then C# in a Nutshell series of books (one for each version of C# as new features come out) is very good with explaining the next level stuff and not rehashing the basics (there may be similar books available for other languages, but that's outside my area of expertise).
For the people saying Python is beginner friendly, no, it isn't. I had to teach it to high school students (I had no choice in the language). Having to have exact indenting, whilst also not caring at all about how you use your variables, not to mention is OOP, is all a bit much for some students, some of whom don't even fully grasp how to use loops yet. One step at a time.
One nice thing about learning (and teaching) python is that it's a multiparadigm language. Students don't have to learn about indenting until you cover flow control. Classes and OOP can come way, way later.
I started with C++. Also multiparadigm, but the syntax and compiler errors were brutal, not to mention pointer arithmetic.
I'm not sure I can think of a language that would be better suited to learning. GDScript seemed kind of nice, and you get to make games.
Which is one of the very first things they're taught - "hello world", variables ("Enter your name", "hello {name}"), branches, and loops, in that order.
Pascal - it's what it was designed for. Variables, branches, and loops, with strong types and optional indenting. Once people have a handle on that, THEN move onto OOP.
I am shocked there is someone besides me who still enjoys the wordy C.
Pascal was the first real language I learned (after basic)
Same. Taught myself some Basic in high school (first on a school computer, then we got a computer at home), learnt Pascal in 1st year Uni (programming basics - wrote a bunch of stuff for myself in Pascal for my computer) then C in 2nd year (OOP), and then Assembler in 3rd year. Later I taught myself (with the help of some books and courses.... and intellisense! 😂) C#.
Oh, I nearly forgot! I had to learn Python too... because I had to teach it. Did try to argue for C#, which is allowed under the curriculum (and would be a more suitable language to teach), but then found it's hard to get that agreed on because so many schools just run Python because it's easier for them from an administrative point of view - I found I wasn't alone in this predicament. Thanks school admins...