Skip to content

Harvard Professor on Why You Should Learn C in 2026 [video]

youtube.com
27 pointsrramadass20 comments
On HN

Comments

The bulk of the first half about very lean std doesn't make any sense to me - the fact that you can use "import hashtable" has precisely 0 pedagogical blocks to learning how it's built or how to build your own: you can just give students the same task and ban that import?

Also unfortunately no comparison of low-level languages, like, what, have none of the newer ones really made any progress to make them more comfortable for students to rival C??

You add a few more common mistakes without addressing the issues I've raised

The "issues" you raised are trivial and not really worth debating about.

The points i have listed are factual (not mistakes nor opinions) and directly relevant to why learning C in 2026 is still a good idea.

There are both factual mistakes and mistakes in opinions (fact is opposed to an opinion, but mistakes is not part of the trio), and not very relevant. But you're right, not really worth debating around if you can't address even with the "trivial" ones

Confused word salad just dodging discussion of any of the real points/issues.

Trivialities are easier to write out but they are not understanding nor knowledge.

So stop hiding and say something relevant!

Huh? I have already said the relevant points in my other comment linked to in the beginning.

You are the one hiding behind trivialities and nonsensical phrases; typical of folks who don't have much knowledge but argue for the sake of arguing.

Have you said the relevant points or have you decided my points are trivial and not worth debating, thus wasting all your intellectual budget on childish insults, leading to the current confusion?

An obfuscatory and almost incomprehensible sentence.

My comments were clear/direct and there is no room for miscommunication/confusion.

I first learned programming from taking the Harvard CS50 course on edX.org maybe around 10 years ago. I think it's an incredible learning resource and a great way to get started. For me it wasn't enough to get a job so I ended up going to university anyway and I'm glad I did, but what I learned from CS50 helped me stay ahead of the curve throughout my studies. David J. Malan is the professor in this video.

C is great for a course on computer architecture. C helps you understand how variables and procedures map to stack frames, how segments map to local and global variables, and how it's all data (i.e., machine code). But it's decidedly not a great first language. Learning linked lists, sort algorithms, memory allocation, etc. in C is for many students a traumatic experience. Far better to introduce these concepts in Python, JavaScript, or C# and then lower them to C.

If learning algorithms in C is a traumatic experience, then you and I have very different definitions of trauma.

Right, if you are not using dictionary definitions of words we define words differently. Though I should have clarified that I meant "Failing to learn linked lists, sort algorithms, memory allocation, etc, ..."

Being from Harvad does not necessary make one right (or smart)

Perhaps you could try addressing the arguments instead of irrelevantly focusing on Harvard?

To be fair, if it doesn't matter, shouldn't put "Harvard Professor" into the title then

As the OP, it matters when it comes to the post title (copied from the video without any editorializing) but does not matter when it comes to actually discussing the points mentioned in the clip.

That "Harvard Professor" is David Malan who has been running "CS50: Introduction to Computer Science" course at Harvard (https://pll.harvard.edu/course/cs50-introduction-computer-sc...) for a while now. So presumably he has good experience on the pedagogy needed in the teaching of CS and what they believe is necessary in the curriculum.

As a person who has been doing C/C++ for over three decades now, i can confirm his points and add the following for an even more compelling story;

1) C is the interoperation lingua-franca of the software world due its defacto "standardized" ABI.

2) C allows you to program all systems from Desktop/Server to all Embedded MCUs (simple or complex). This is huge since there is practically no limitation on what you can attempt.

3) C allows you to work at all levels of software viz. Applications, OS/Compilers/System Software, Bare-Metal. This too is huge since there is nothing really hidden from you thus allowing you to move up and down the software stack based on your interests/needs.

4) Finally, there is a ton of C code out there which people still need to understand, maintain and extend as needed. Many of them are critical infrastructure viz. OS Kernels, Databases, Web servers, Automotive/Aviation systems etc.

But it might.

It is a strongly correlated signal, if not a perfect one.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.