My Take on CS50 Matt Welsh Lecture

Been a little late to the party, but here are my thoughts and facts I found important within the CS50 lecture by Dr. Matt Welsh (https://youtu.be/JhCl-GeT4jw?si=76hJv_u-auALog6k) :

Point No.1: "No one understands the model, not even the people who make it".

My Thought: This makes sure we need new, highly trained people in various fields, to proofread every critical AI-generated result, in depth.

Point No.2: People still write code in C, where stack overflows and bugs literally caused human casualties in the past.

My Thought: This suggests a need for training in C programming until legacy and future C-based software are entirely replaced. Additionally, many near-hardware codes still rely on manual Assembly and C/C++ coding for tasks, seen in new chipsets for cars, AI-focused GPUs, etc.

Point No.3: Today we make use of LLMs to assist our coding tasks, and eventually, we may see the whole 'writing code' process get replaced with 'plain natural language' instructions that directly produce outputs (not codebase as an output, but the binary itself).

My Thought: Makes sense in many ways, but on the other hand, how is this going to prevent fatal errors in the application's inner workings? If there is no high-level code that humans can read and correct, and where natural language can not assist us in every detail, we might miserably fail.

Point No.4: Very likely, we will see a loop in the industry, that goes like this:

"PM describes the app" --> "Lots of AI Agents write code accordingly" --> "Human developer reads the generated code and approves" --> "PM checks the result".

My Thought: Seems doable shortly. As far as we have good enough supply of better hardware. The question is, doesn't this mean, indirectly, that we need more human CS experts we can trust, that'll read the gen. code, and fix critical errors in it? If the human reading the codebase doesn't understand the code with all the nested and poorly-written algorithms in it, this'll cause new fatalities just as with C stack overflows in past. How trustable is AI-gen code? (mostly terrible as of now regarding intense logical instructions, but think of future for a sec.)

Point No.5: Is CS doomed?

My Thought: No. As he mentioned, EE and Mathematics caused the creation of this field, they are nowhere near doomed, and we need them more than ever. CS will trigger (maybe already did) the creation of new disciplines, focused on ML, LLMs, CV, etc. We need more people who know their discrete mathematics, physics, statistics, circuits, PCB design, calculus, and of course how to code software, and how to read code in various formats and paradigms, for whatever reason there may be.

Lastly,

I don't know what future may bring, but I'm pretty sure, it isn't time to relax or get lazy. Software security will become a more critical aspect of our lives. If any of you are thinking about putting your good old software architecture and math books aside, think again. You'll need them more than ever.

-Yunus
February 16, 2024