Hacker News new | past | comments | ask | show | jobs | submit login

When we teach students we have to balance employability, pedagogical utility, interest, and learning curve.

The majority of students won’t need to know C to be employable. Teaching an Algos course in JS helps web dev. In Python helps data science. Java is still pretty popular for enterprise.

The majority of students will find it quite difficult compared to most languages they use.

C does not reflect a truly low level machine. You might be able to teach them the same thing with an assembly language.

The kids who want to know C will teach themselves. And they will be taught some in operating systems.




I think it's best to teach in a high-level, multi-paradigm language that isn't one of the popular languages. It resets the playing field, provides a nice language to have in their tool belt, and still allows easy transition to other languages.


I learned much more about the low level machinations writing LC3 assembly in school than I did writing C.

JMP (and the conditional variants) and MOV were eye openers for me.

But it’d probably be harder to learn some basic algorithms in LC3 than C.


I think knowing C makes you stand out, and demonstrates you understand how a computer fundamentally works.

https://pll.harvard.edu/course/cs50-introduction-computer-sc... is mostly C too.

I don't know C for what it's worth, but learned a different low-level language and found the experience to be enlightening, even after programming most of my life.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: