Live data from Hacker News

Thoughts on the Future of Software Development

sheshbabu.com

341–350 of 434 posts

Re: Thoughts on the Future of Software Development

#341
post #78

Earlier quoted context omitted.

It's almost always easier to understand theorems than proofs. People could be writing down properties of their programs and the AI could generate a proof or produce a counterexample. It is not necessary to understand the proof in order to know that it is correct. At least in principle. Practically, any system as least as powerful as first-order logic is undecidable, so there can never be any computer program that wou…

> It might be that some day, an AI could be just as good as a trained mathematician, but so far, it doesn't look like it. One of the on-going arguments in automated theorem proving has been this central question: would anyone understand or want to read a proof written by a machine? A big part of why we write them and enjoy them is elegance , a rather subjective quality appreciated by people. In computer science we do…

I don't think anyone wants elegant proofs for their software's correctness. As long as the code is proven correct, programmers would be satisfied.

Re: Thoughts on the Future of Software Development

#342
post #170

Earlier quoted context omitted.

The endpoint is that being a programmer becomes as obsolete as being a human "calculator" for a career. Millions, perhaps billions of times more lines of code will be written, and automated programming will be taken for granted as just how computers work. Painstakingly writing static source code will be seen the same way as we see doing hundreds of pages of tedious calculations using paper, pencil, and a slide rule.…

It will equally eliminate the need for all scientists and engineers. And every other human occupation.

I don't believe that's going to happen. If it were, humans would have stopped playing chess. But not only do lots of people still play chess, people making a living playing chess. There are YT channels devoted to chess. The same thing will be true of almost all sports, lots of entertainment, and lots of occupations where people prefer human interaction. Bar tenders and servers could be automated away, but plenty like to sit at a bar or table and be served by someone they can talk to. I have a hard time seeing nurses being replaced. Are people going to want the majority of their care automated?

I also don't know what it means to completely remove humans from all work. Who is deciding what we want done? What we want to investigate or build? The machines are just gong to make all work-related decisions for us? I don't believe that. It would cease being our society at that point.

Which brings up the heart of the matter. Why are we trying to replace ourselves? It's our civilization, automation are just tools we use to be more productive. It should make our lives better, not remove us from the equation.

My guess is the real answer is it will make some people obscenely rich, and give some governments a significant technical advantage over others.

Re: Thoughts on the Future of Software Development

#343

Earlier quoted context omitted.

Sorry, can you clarify more? I don't think I understand. The part you enjoy the most is the integrating of systems, right? If that's really your passion, I'm not sure you're in danger of losing your job to AI. AI is not great at nuance and this is exponentially more challenging than what we've done so far. I'm just assuming that since this is your passion (if I'm understanding correctly) that you see it as the puzzle…

This is pretty muchy experience as well. AI is a fantastic helper, and it will make devs more productive, but it is not going to put all software devs out of work. Probably a tiny fraction of them at best. However, with recent grads flooding into IT for remote work and high pay, they could be hurting as AI reduces the need for entry level roles. Entry level was already saturated, and now it will be more saturated, wi…

Yeah I remember seeing someone try to measure it and they saw improvements in productivity on all experience levels but they found that it helped novices the most and experts only a little.

But this is actually something I worry about. The best way to become an expert is to do things the hard way. I've talk a lot of people linux over the years and only 3 have really learned it. Every time I teach people I give them two options: the easy way, which is just how to use it and use the gui and a bit of terminal or the hard way, which hand them the arch wiki, tell them to come back after their third failed attempt to install. Those 3 people came back, but usually did more than 3 installs, but had all been successful at some point. All 3 mentioned they understood why and then we could really talk about how to use linux, make scripts (and that scripts aren't aliases...), and so on. All 3 still are terminally terminal, years later. The thing is that humans (and even machines) learn by struggling, getting things wrong, and learning from mistakes. The struggle is part of the learning process. I've found this both in myself and whenever I teach anything, that if I just feed someone the answer (or look it up and nothing more for myself) they (I) don't end up remembering, they don't end up playing, they don't end learning how to learn.

Re: Thoughts on the Future of Software Development

#344
post #324

Earlier quoted context omitted.

I don't really think it's a continuum. There is a continuum of abstraction among programming languages, from machine code to Java/Python/Haskell or whatever, but natural language is fundamentally different: it's ambiguous, ill-defined. Even if LLMs generate a lot of our code in the future, somebody is going to have to understand it, verify its correctness, and maintain it.

Natural language, python, c, assembly The distance isn’t the same between them, but each one is more abstracted than the next. Natural language can be ambiguous and ill defined. Because the compiler is smarter. Just like you don’t have to manage memory in Python, except it abstracts a lot more. The fact is that this very instant you can compile from natural language.

LLMs can generate code, but they still need to be prompted correctly, which requires someone who knows how to program beyond toy examples, since the code is going to have to be tested and integrated into running code. The person will need to understand what kind of code they're trying to generate, and whether that meets the business requirements.

Python is closer to C (third generation programming language). Excel is a higher level example. It still takes someone who knows how to use Excel to do anything meaningful.

Re: Thoughts on the Future of Software Development

#345
post #83

> In summary, I believe there would still be a market for Software Developers in the foreseeable future, though the nature of work will change This is precisely what I dread. When it comes to software development specifically, the parts that the AI cheerleaders are excited about AI doing are exactly the parts of the job that I find appealing. If I wanted to be a glorified systems integrator, I would have been doing t…

It’s interesting how all of these articles implicitly assume AI keeps getting more intelligent then at some point just…stops. There’s no reason to think AI won’t also take over all the parts you don’t find appealing, too. The whole point of the Singularity, is that no aspect of human work cannot be performed better by superhumanly intelligent machines.

The point of the Singularity is that it's a futurist prediction, and we all know how often people are wrong about the future.

Re: Thoughts on the Future of Software Development

#346

Earlier quoted context omitted.

It feels that people commenting on this post are forgetting that tools have evolved since the times of punch cards or writing only in pure assembly. I personally wouldn't have enjoyed being that kind of programmer as it was a tedious and very slow process, where the creativity of the developer was rather low as the complexities of development would not allow for just anyone to be part of it (my own assumption). Today…

That’s like saying Shakespeare couldn’t be productive as a writer because he didn’t have a word processor.

So are you saying that you would rather live in a society where only lucky people could participate in a given field than making it accessible to more people?

Re: Thoughts on the Future of Software Development

#347
post #326

Earlier quoted context omitted.

Humans can't be copied. It seems like the inability to copy people is one of the pillars of our morality. If I could somehow make a perfect copy of myself, would I think about morality and ethics the same way? Probably not. AGI will theoretically be able to create perfect copies of itself. Will it be immoral for an AGI to clone itself to get some work done, then cause the clone to cease its existence? That's what com…

> Humans can't be copied. There is no reason to believe this, and every reason to believe that humans can, in fact, be cloned/copied/whatever. It may not be an instant process like copying a file, but there is nothing innately special about the bio-computers we call brains.

I'm not disagreeing. The point I'm trying too make is that humans can't be copied today, yet when AGI arrives, it will be copyable on day one. That difference means that current human morals and ethics may not be very applicable to AGI. The concepts of slavery, freedom, death, birth, and so on might carry very different meanings in a world of easily copyable intelligences.

Re: Thoughts on the Future of Software Development

#348
post #326

Earlier quoted context omitted.

Humans can't be copied. It seems like the inability to copy people is one of the pillars of our morality. If I could somehow make a perfect copy of myself, would I think about morality and ethics the same way? Probably not. AGI will theoretically be able to create perfect copies of itself. Will it be immoral for an AGI to clone itself to get some work done, then cause the clone to cease its existence? That's what com…

> Humans can't be copied. There is no reason to believe this, and every reason to believe that humans can, in fact, be cloned/copied/whatever. It may not be an instant process like copying a file, but there is nothing innately special about the bio-computers we call brains.

Other than it might be too complex and costly to do so. Just because something is physically possible, doesn't mean we'll find it feasible to do so. Take building a transatlantic high speed rail under the ocean. There's no reason it can't be done. Doesn't mean we'll ever do it.

Re: Thoughts on the Future of Software Development

#349
post #305

Earlier quoted context omitted.

I'm not sure that there is an endpoint, only a continuation of the transitions we've always been making. What we've seen as we transitioned to higher and higher level languages (e.g., machine code → macro assembly → C → Java → Python) on unimaginably more powerful machines (and clusters of machines) is that we took on more complex applications and got much more work done faster. The complexity we manage shifts from t…

I don't think COBOL's dream was to generate enormous amounts of assembly code that users would then have to maintain (in assembly!) and producing differently wrong results every time you ran it.

It may not have been the dream, but the reality is many COBOL systems have been binary-patched to fix issues so many times that the original source may not be a useful guide to how the thing actually works.

Re: Thoughts on the Future of Software Development

#350
post #123

Earlier quoted context omitted.

Software engineering as an occupation grew because of static analysis and GCs (literally why the labor market is the size that it is as we speak); the opposite appears to be the outcome of AI advances.

I'll take the other side of that bet. It's reasonable to expect that sometime relatively soon, AI will be a clear-cut aid to developer productivity. At the moment, I consider it a wash. Chatbots don't clearly save me time, but they clearly save me effort, which is a more important resource to conserve. Software is still heavily rate-limited by how much of it developers can write. Making it possible for them to write…

> Making it possible for them to write more will result in more software, rather than fewer developers.

Goddamnit, software developers are already writing more software than we need. I wish they'd stop. Or redirect all that energy to new problems to solve. Instead we're seeing cloud-deployed microservice architecture CRUD apps that do what systems built for mainframes with kilobytes of RAM do, only worse. We're in a glut of bad software, do you think that AI accelerating production of more of the same will make things better?

Post reply on HN