Buonasera, chiedo scusa se ritorno dopo tanto tempo su questo messaggio (e articolo) che avevo in coda
Lorenzo via nexa <nexa@server-nexa.polito.it> writes: > Segnalo questa opinione: articolo molto ben fatto, grazie della segnalazione! > https://ben11kehoe.medium.com/the-end-of-programming-will-look-a-lot-like-programming-8b877c8efef8 Mi permetto di riportare un estratto che a mio avviso è necessario e sufficiente a spiegare il nocciolo della questione dell'impossibilità _ontologica_ del "end of programming": --8<---------------cut here---------------start------------->8--- If you’ve worked as a software developer, you know that business requirements often come as vague, ill-defined, even contradictory ideas written down in ambiguous language. The primary question about this AI-only software development is, how will it make software that implements what the product manager intends the software to do? I think there are two general directions, which are not mutually exclusive. The first is that the AI has to ask the product manager about every individual choice and ambiguity. [...] Over time, the AI’s designers will start offering shortcuts that allow the input requirements to mean specific things when framed a certain way, so the product manager can make their choice clear from the outset. So we’ve got a method for expressing system behavior with formal guarantees. That is, we’ve invented a new programming language. At this point, the product manager is now a software developer. The other is that the AI is good enough to consistently correctly guess the right answer to choices and ambiguity in the requirements and good enough to know when it doesn’t have confidence it can guess correctly. To do this requires an enormous amount of human cultural knowledge and probably a high degree of knowledge of the specific person acting as the product manager. The AI is doing the work of translating the business requirements into formal system behavior requirements, as well as implementing them. At this point, the AI is now a software developer. [...] I think the second direction, AI-as-software-developer, is quite a ways off, specifically because cultural context and self-awareness are hard things. I doubt you need AGI to get it, but it seems like it would be a good chunk of the way there. So if you’re bullish on AGI, you can hope we’ll get it sooner rather than later. --8<---------------cut here---------------end--------------->8--- [...] Quindi, in attesa dell'avvento di una AGI: tocca _programmare_. Lo ripeto: programmare significa esprimere come deve funzionare (quali output fornire) un calcolatore in base agli "input" e questa _espressione_ non può che essere in un linguaggio sorgente che dia delle garanzie formali di poter essere "tradotto" [1] in codice macchina che rispetti (o cerchi di rispettare) l'espressione formale, codice macchina che è l'unica cosa che i calcolatori sono in grado di eseguire. Esprimersi in un linguaggio sorgente che abbia quelle caratteristiche significa programmare. Non ci sono scorciatoie. Semmai, si può discutere su quale sia il lingiaggio formalmente garantito più adatto al dominio del problema da risolvere... ma questo nulla c'entra con la fine della programmazione. Saluti, 380° [1] attraverso un _complesso_ sistema di build del software. -- 380° (Giovanni Biscuolo public alter ego) «Noi, incompetenti come siamo, non abbiamo alcun titolo per suggerire alcunché» Disinformation flourishes because many people care deeply about injustice but very few check the facts. Ask me about <https://stallmansupport.org>.
signature.asc
Description: PGP signature
_______________________________________________ nexa mailing list nexa@server-nexa.polito.it https://server-nexa.polito.it/cgi-bin/mailman/listinfo/nexa