There are some computer science programs which use C++ as the language for the introductory courses and I feel great pity for those students what a horrible way to be introduced to programming

@wallhackio our class did this and even at the time i felt like they should have just done C instead

@wallhackio it’s wild to go through a basic computer science class and still not be able to read a single file of C code because they never REALLY taught you how malloc() and friends worked

@Lady strange to use C++ then.

Also I am curious what language would you use to teach new programmers basic software concepts

@wallhackio i think basic software concepts should be taught in C, because there is no more basic software concept than “produce readable, maintainable code and do not shoot yourself in the foot”, and C is the easiest language in which to discern whether a student has learned these lessons

for anything more advanced than that, idk, probably Swift

@wallhackio (actually i think there’s an argument to teach basic programming concepts in POSIX sh instead, and would also consider this acceptable, but this is a more radical take)

@Lady @wallhackio POSIX shell sounds like it would be hard to teach because of all the nasty corners in it but this is otherwise a good take

@aescling @wallhackio i’m not sure teaching “computers have to tokenize your code before they can read it” is a bad thing necessarily

@Lady @aescling @wallhackio i do think that shell commands spending so much of their time as strings before the computer does anything is bizarre and sets up weird expectations if you try to then go to another language

like i can't think of how exactly to phrase this but the old rm -rf $STEAM_DIR/* bug that just wipes your drive when $STEAM_DIR is empty, is like. i can think of ways that a similar kind of bug could come up in other languages but that feels like the result of a sharp corner to me

@monorail @aescling @wallhackio i don't see footguns like this as a bad thing in a teaching language tho, where you are having a professor review every line you write. in fact, having an expert review every line you write is probably one of the easier ways to learn shell

is shell knowledge transferrable to other languages? i agree that the answer there is mostly no, but i think it’s an open question whether the goal of an introductory programming course is to teach transferable programming skills, or just to teach the social aspect of thinking about and writing programs.

@aescling @monorail @wallhackio i am assuming an education system where professors have manageable class sizes otherwise the question is meaningless

@aescling @monorail @wallhackio if you are in a class size of greater than 40 you are probably better off learning from the internet

Follow

@Lady @aescling @monorail my introductory physics class at cornell was in a lecture hall of 99 students

i learned everything from the textbook

Sign in to participate in the conversation
📟🐱 GlitchCat

A small, community‐oriented Mastodon‐compatible Fediverse (GlitchSoc) instance managed as a joint venture between the cat and KIBI families.