Show newer

@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 @wallhackio i’m not sure teaching “computers have to tokenize your code before they can read it” is a bad thing necessarily

@wallhackio @aescling the nspire had a full word processor in it tho so i spent a ton of time writing fanfic

@wallhackio @aescling i had an nspire eventually and spent a lot of time programming text based adventures into it but it was less good than the TI-84 where i made Space Invaders

@wallhackio i also did this the TI-83/84 instruction manual was great

@aescling @wallhackio i don't think learning how a specific C compiler infrastructure works and learning C are the same thing at all

@aescling @wallhackio as C or as C++? because these are very different beasts

@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)

@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

@aescling @wallhackio this is the idea behind Racket; i’m not sure i agree but i do think lisps should be a required 200-level course

@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

in programming languages like Javascript where imports are essentially dynamic links, i think it makes no sense. just use the M·P·L, it’s cleaner and more straightforward and the added virality of the G·P·L isn’t actually useful in most cases.

when writing statically linked C code: yeah okay, i get why you might want to “study the whole program”

Show thread

writing C code does make the whole Gnu G·P·L thing make a lot more sense

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

baldur's gate 3, spoilers do not read aescling 

@wallhackio the only good ending, “died fucking an incubus in hell”

@aescling i don't know enough about how linkers operate to say. but git does do a huge amount of setup and teardown (see <github.com/git/git/commit/3f2e>)

Show older
📟🐱 GlitchCat

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