Live data from Hacker News

I’m spending months coding the old way

miguelconner.substack.com

281–290 of 387 posts

Re: I’m spending months coding the old way

#281
post #224

So we’ve already grown nostalgic for the old days… skimming through an alien looking codebase, scratching your head trying to figure what crazy abstraction the last person who touched this code had in mind. Oh shit it was me? That made so much more sense back then… but it’s been 6 hours and I can’t figure out why this does not work anymore. So you read some docs but they are poorly written. So you find something on G…

Literally a skill issue?

Yes. A skill I have not mastered in 20 years. And I’ve yet to meet a person who has. If you are out here writing perfectly looking code 100% of the time that everyone else including you can perfectly understand a year later, then hats off to you.

But in my long career even the smartest most experienced software engineers I’ve met m write their share of crazy abstractions from hell.

Re: I’m spending months coding the old way

#282
post #208

Earlier quoted context omitted.

if it catches a lot of bugs maybe you’d be better of letting it write it in the first place :)

This is definitely not correct in my opinion. You’re essentially saying, instead of a person actually getting better at the craft, just give up and let someone else do it.

I was joking :)

Re: I’m spending months coding the old way

#283
post #250

Earlier quoted context omitted.

In dynamically typed programs, you can if you allow it, let the types happen to you. In a statically typed program, you are forced to think about them from the beginning. That same abstract concept is at play with vibe coding, but instead the code now happens to you. My best LLM written code is where I did a prototype of the overall structure of the program and fed that structure along with the spec and the goal. It…

I've used a dynamically typed language extensively. I don't think they are suited for anything but small scripts. Refactoring is a nightmare, as as types don't exist, the compiler can't help you if you try to access a property that doesn't exist. I think generally people have realised this, and there are attempts to retrofit types onto dynamically typed languages.

It bugs me that there are two kinds of languages. Parameters and variables could be typed optionally in a dynamic language; either error in the compiler or at runtime; otherwise you just haven’t made any type errors while you coded and the code is fine either way.

Re: I’m spending months coding the old way

#284
post #202
post #86

I am this very term teaching 18-year-old students 6502 assembly programming using an emulated Apple II Plus. They've had intro to Python, data structures, and OO programming courses using a modern programming environment. Now, they are programming a chip from the seventies using an editor/assembler that was written in 1983 and has a line editor, not a full-screen one. We had a total of 10 hours of class + lab where I…

I thought it was common practice to think things through first and only then start doing something, but it seems that these days a lot of people have taken inspiration from Zuckerberg’s motto, “move fast and break things”… I’ll never forget that.

I think it depends on your goals. There are many domains where you’re better off just trying lots of things and iterating towards a more ideal solution, vs. waiting to start until it’s been analyzed thoroughly to find the perfect solution.

For example, I suspect more startups die from over-analysis than from acting too quickly and breaking things beyond repair.

That said, I think LLMs can be a mixed bag here. I find that they can really help my analysis phase, by suggesting architectures, finding places where future abstractions will leak, reminding me of how a complex project works, etc. I’ve found it invaluable to go back and forth in a planning phase with an agent before even deciding what exactly I want to build, or how.

And on the implementation side, they make code attempts very cheap, so I can try multiple things and just throw them away if I don’t like the result.

But that said, I do find that it requires discipline, because it’s very easy to get into a groove where I don’t do any of that, and instead just toss half-baked ideas over the wall and the agent figure out the details. And it will, and it’ll be pretty decent usually, but not as good as if I pair program with it fully.

Re: I’m spending months coding the old way

#285

I think the author’s intent is well-placed, but it does feel a bit sad that this subject is blog-worthy. I’ve spent a lifetime teaching myself programming, computers, and engineering. I have no formal education in these disciplines and find that I excel due to the self-taught nature of my background. I take a very metered approach to AI and use it for autocomplete while still scrutinizing every token (not the AI kind…

> I simply don’t do anything that won’t teach me something new or improve my existing skills. Not trying to be rude but you either must not be a professional software engineer or your skill level isn't that high yet. You simply cannot always do things that teach you new skills or improve existing ones. In any sufficiently complex project, even the most novel ones, you'll do things you've done many times before.

I'm a bit skeptical too, but I can understand his points. Most of what is rote is probably written somewhere and if you have a library of code and snippets (including the existing project), it's easy to copy and adapt it. And that activity is very inducing to flow state, so you don't mind the time spent.

Re: I’m spending months coding the old way

#286

I think the author’s intent is well-placed, but it does feel a bit sad that this subject is blog-worthy. I’ve spent a lifetime teaching myself programming, computers, and engineering. I have no formal education in these disciplines and find that I excel due to the self-taught nature of my background. I take a very metered approach to AI and use it for autocomplete while still scrutinizing every token (not the AI kind…

> I simply don’t do anything that won’t teach me something new or improve my existing skills. Not trying to be rude but you either must not be a professional software engineer or your skill level isn't that high yet. You simply cannot always do things that teach you new skills or improve existing ones. In any sufficiently complex project, even the most novel ones, you'll do things you've done many times before.

I’m not a software engineer. Most of my work these days focuses on microcontroller exploitation. I have 15 years of professional experience as a security consultant/contractor.

Re: I’m spending months coding the old way

#287
post #86

I am this very term teaching 18-year-old students 6502 assembly programming using an emulated Apple II Plus. They've had intro to Python, data structures, and OO programming courses using a modern programming environment. Now, they are programming a chip from the seventies using an editor/assembler that was written in 1983 and has a line editor, not a full-screen one. We had a total of 10 hours of class + lab where I…

Upvotes for apricot and zrobotics for thoughtful shared experiences.

One of the continuous battles I kept loosing when introducing an assembly language undergraduate course. Other higher up colleages and deans would say... too hard... nobody uses that anymore... and shut the course down. But I would always sneak it into other courses I taught, systems programming, computer languages, computer architecture. But I've always felt there was a hole in my student's understanding of computers.

I grew up in a time when assembly language was a part of the cariculum. It helped bridge the gap between higher level languages like C/C++ ...etc. Also why certain language features exist. Also how many language constructs work. Also more importantly, as pointed out by the two posters above, it gives you a way to think about the CPU one asm line at a time what is going on the CPU ecosystem. That is fantastic training!

Even though I kept loosing the assembly language course battles, I hope I planted enough seeds in students that they will take it up on their own at some point. Everyone should at least learn to program in one assembly language.

Re: I’m spending months coding the old way

#288
post #86

I am this very term teaching 18-year-old students 6502 assembly programming using an emulated Apple II Plus. They've had intro to Python, data structures, and OO programming courses using a modern programming environment. Now, they are programming a chip from the seventies using an editor/assembler that was written in 1983 and has a line editor, not a full-screen one. We had a total of 10 hours of class + lab where I…

I took several classes along these lines in college; one writing a rudimentary OS on bare metal 68k asm, wiring up peripherals on breadboards, etc. Creating an ALU using only 74 series logic chips and the like. This was 30y ago, but the 1970s chips were already antiques, but the lessons were timeless. I'm happy courses like this still exist and I wish everyone had an opportunity to take them as part of standard compu…

Programming in an assembly language is a very zenith like experience for me.

Re: I’m spending months coding the old way

#289

>>ai is here. so i'm spending 3 months coding the old way The old way?! So not using AI is already being called "the old way"?!! That statement sends alarm bells off about writing on the internet and trust to be put into it as if I'm the first one to notice it.

People were still writing code by hand three months ago…

Re: I’m spending months coding the old way

#290

Earlier quoted context omitted.

I love all of this, but at least let your students use vi, it was around back then (or close). plus they don’t have to give it up when they go back in the real world, it’s an evergreen skill!

To be fair, it's mostly an evergreen skill because people don't know how to exit.

shift :wq

Or....

Ctrl-Z

Post reply on HN