>Software 2.0 are the weights which program neural networks.
>I think it's a fundamental change, is that neural networks became programmable with large libraries... And in my mind, it's worth giving it the designation of a Software 3.0.
I think it's a bit early to change your mind here. We love your 2.0, let's wait for some more time till th
e dust settles so we can see clearly and up the revision number.
In fact I'm a bit confused about the number AK has in mind. Anyone else knows how he arrived at software 2.0?
I remember a talk by professor Sussman where he suggest we don't know how to compute, yet[1].
I was thinking he meant this,
Software 0.1 - Machine Code/Assembly Code
Software 1.0 - HLLs with Compilers/Interpreters/Libraries
Software 2.0 - Language comprehension with LLMs
If we are calling weights 2.0 and NN with libraries as 3.0, then shouldn't we account for functional and oo programming in the numbering scheme?
Losing focus as a skill is something I see with every batch of new students. It’s not just LLMs, almost every app and startup is competing for the same limited attention from every user.
What LLMs have done for most of my students is remove all the barriers to an answer they once had to work for. It’s easy to get hooked on fast answers and forget to ask why something works. That said, I think LLMs can support exploration—often beyond what Googling ever did—if we approach them the right way.
I’ve seen moments where students pushed back on a first answer and uncovered deeper insights, but only because they chose to dig. The real danger isn’t the tool, it’s forgetting how to use it thoughtfully.
If you look at this from a top-down perspective, you’ll see downsides, but from a bottom-up view, those same differences can be an advantage. Different architectures have different capabilities, and writing assembly means you’re optimizing for performance rather than prioritizing code portability or maintenance.
To be a geek of geeks in computer science you have to write an OS or a Compiler and professor Wirth did both. To top it up he wrote the hardware to run it all. Now that’s when you call someone a king of geeks.
>> Looking back we had one CS professor who in 2007 predicted we'd all be jobless in ten years, i.e. 2017.
Doomsday prophecies are not limited to religious cults, you see them all around. It’s safe to say, from experience, AI is not going to outdated programmers but it’s going to make the mythical 10x engineer a common reality.
Few common attributes I've seen in some of the master programmers I've had the privilege to work with,
* write lots and lots of code as beginner till some programs live in the muscle memory of your fingers
* humility, be easy on yourself; no one makes it in the first jump
* find better programs and copy but never paste, as a beginner always key-in your programs
* keep a count of the lines you write and the time you take to write (reach 100k lines, this is to motivate yourself)
* make programming habit
* seek better programmers and study their code
* always go from code to theory
>>Whereas, I find myself going for almost academic perfection (i.e read all docs first) / mastery.
I suffered from the same problem. The key for me was to say to myself, it's ok to write non-perfect programs, it's ok to fail, in fact it's a must to fail, humility, humility, humility is the key virtue for a true master programmer.