Live data from Hacker News

Tell HN: AI tools are making me lose interest in CS fundamentals

news.ycombinator.com

81–90 of 106 posts

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#82
> For those who have been in the industry longer, why do you think it’s still important to stay strong in CS fundamentals?

Software abstractions have always made it easier to build software without having to understand the inner workings of the mechanism that has been abstracted. But that doesn't mean we don't have to understand how it works.

I saw this happen frequently with cloud infrastructure. Cloud services remove the physical and organizational barriers associated with building and scaling infrastructure. But you still have to understand networking to manage your network infrastructure in the cloud. When it doesn't work, you can talk to AWS Support, but they are there to support AWS services, not design your network for you.

The Java Streams API makes it easy to write fluent code. But the Streams API doesn't make that code efficient for you. You still have to think about the cost of each step in the fluent chain, and the optimal order. Does it make sense to sort and then filter, or filter and then sort? Think about it.

I was working on a Chrome Extension with Claude. The extension kept getting rate limited immediately on one site. Claude suggested a few approaches, but nothing was working. Then I realized, wait, "are we sending two requests for the content when we could be sending one?" "Yes, let me fix that." Dude.

Commercial airline manufacturers have been working on automating every step of the process for decades. But pilots still have to know how to fly the plane, and troubleshoot when things go awry.

We still have to understand O(n) notation and how it applies. We still have to understand distributed systems.

We still have to know how to fly the plane.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#83

There are two aspects to this. The desire to learn and the utility of learning. These are two very different things. Arguably the best programmers I have known have been explorers and hopped around a lot. Their primary skills have been flexibility and curiosity. The point here was their curiosity, not what they were curious about. Curiosity enabled them to attack new problems quickly and find solutions when others co…

If there's a single trait that divides the best developers in the world from the rest it's what you described there - curiosity and flexibility. No academic course could bring you on par with those people.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#84
The assumption here is that AI can produce "strong" work, when in reality its the opposite. Its great at generating boilerplate or code that's been done by everyone.

Instead do the opposite and give it a really hard problem that's scarce on searchable resources, something that you'll struggle to implement on your own. In general what you'll find is that it seems to implement something, but once you start digging you're just going to discover holes and mistakes all over.

You're the one who should be producing strong groundbreaking work, not the AI.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#85
post #40
post #7

Because AI still hallucinates. Since you mentioned algorithms, today for fun I decided to ask Claude a pretty difficult algorithm problem. Claude confidently told me a greedy solution is enough, before I told Claude a counterexample that made Claude use dynamic programming instead. If you haven't learned the fundamentals, you are not in a position to judge whether AI is correct or not. And this isn't limited to AI; y…

That is correct. But for how long ? How long would it take for AI to learn all of this too ? AI sure does learn faster than humans and even though it will never degrade the relevance of fundamentals, don't you think that the bar for someone beginning to learn about the fundamentals, would just keep increase exponentially.

Even if AI knows everything and is basically sentient, we still need to understand these things to work with it. How can we prompt it reliably without understanding the subject matter for which we are prompting?

If anything I consider fundamentals in STEM (such as Math/CS) to be even more valuable moving forward.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#86
Even if AI was perfect (it’s not), you still need the fundamentals to properly frame what you want it to do and evaluate the results.

Think of how it was before AI. Someone without foundational knowledge of a topic would flounder. They wouldn’t know what to search for or what questions to ask. Meanwhile, someone with that foundational knowledge is able to put together abstract ideas to ask the proper questions and know how to search for to get additional details.

When you don’t know what you don’t know, it’s almost impossible to be effective, even with AI.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#87

Earlier quoted context omitted.

You can just tell it that it's doing it wrong (and why). Of course, you have to know that it did it wrong.

The point is that if you know the algorithm will produce X as the output if the input is Y, give that as a tool to Claude And if you know that the previous algorithm completes in Z milliseconds, tell Claude that too and give it a tool (a command it can run) to benchmark its implementation. This way you don't need to tell it what it did wrong, it'll check itself.

It was the other way around. Claude gave me an algorithm. I found it fishy. So I specifically constructed a counterexample in response to Claude’s algorithm.

Of course when I gave that to Claude, Claude changed the algorithm. But if I didn’t have enough experience and CS fundamentals to find it fishy in the first place, why would I construct a counterexample?

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#88
post #7

Because AI still hallucinates. Since you mentioned algorithms, today for fun I decided to ask Claude a pretty difficult algorithm problem. Claude confidently told me a greedy solution is enough, before I told Claude a counterexample that made Claude use dynamic programming instead. If you haven't learned the fundamentals, you are not in a position to judge whether AI is correct or not. And this isn't limited to AI; y…

I'm curious, what was the algorithm problem?

It’s a variant of a knapsack problem. But neither Claude nor I initially realized it was a knapsack problem: it became clear only after the solution was found and proved.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#89
post #41

Earlier quoted context omitted.

Exactly this. Couldn't have said it better. Do you feel yourself losing interest, curiosity, "spark"? If so, then maybe worrying is right. If you're just (hyper?)focused on something else, then, congrats! Our amazing new tools are letting us focus on even more things -- I, for one, am loving it.

> The desire to learn and the utility of learning. See also Profession by Isaac Asimov for a fictional story about the distinction between the desire to learn and the utility of learning: https://www.inf.ufpr.br/renato/profession.html

and "the feeling of power", also by asimov, for a satirical take on what happens when no one learns stuff the computer can do for them.

Re: Tell HN: AI tools are making me lose interest in CS fundamentals

#90
I work in a subfield of CS that requires those fundamentals pretty regularly, and I also make regular use of AI tools. You definitely need those fundamentals because AI tools can’t always be trusted to make good decisions when it comes to them. Knowing the fundamentals yourself is critical to keep the AI assistants in check, both to know how to guide them AND to know to recognize when they made a bad decision.

A recent example for me: I had a challenging problem in a medium sized codebase (tens of thousands of lines) that boiled down to performing some updates to a complex data structure where the updates needed to be constrained by some properties of the overall structure to maintain invariants. Maintaining the invariants while the data structure was being updated is tricky since naive approaches would required repeated traversals of the whole structure. That would be really inefficient, and a smarter approach would try to localize the work during the updates. The latest Claude and GPT assistants recognized this, but their solutions were exceptionally complex and brittle. I eventually solved it myself with a significantly simpler and more robust method (both AIs even gleefully agreed that my solution was slick after I did it).

Had I let my CS fundamentals go to waste I wouldn’t have been able to solve it myself, nor would I have been able to recognize that the solutions posed by the models were needlessly complex.

Just because an AI can generate a solution that passes tests quickly doesn't mean what it generated is a long term good solution. Your skills in fundamentals is key to recognizing when it does a good job and when it doesn’t, and being able to guide it in the right direction.

Post reply on HN