How well did this comic from 2018 hold up?
Well its not wrong, neither programmers nor AI will program the correct solution with an incomplete specification
>>108458801A project specification isn't written in code though
>>108458832The actual specification is always code, i.e. a set of instructions that must be precise enough to be transformed into machine code at some point in the chain.Anything written by a non technical person in free text and bullet points is just hopes and dreams.
The technical debt this will all cause is insane. Software quality is already at an all time low and it will only get worse.
>>108458899Get good at fixing slop projects and you'll make bank
>>108458859>The actual specification is always code, i.e. a set of instructions that must be precise enough to be transformed into machine code at some point in the chain.That's not code
>>108459295Yes, it is.
Vibes. It's called vibes.
>>108458899To me even worse than the technical debt is the documentation noise. My team was just given blanket access to Atlassian MCP and we have gone from about 3-5 pages a week to 5-10 a day, and no one is reviewing them or even reading them. Not even the people prompting them. Someone handed me a design doc for a new service that I was supposed to plumb and not a single assumption it made about our architecture was correct. The prompt literally had to be “write confluence page on how to deploy this”. LAZY FUCKS
>>108458801It still holds up perfectly. High level languages are literally like AI coding, except deterministic and they actually work.Only nocoders disagree.
>>108458832Code is the only true description of the software. Everything else is fake and gay.>>108458859This. Read https://www.developerdotstar.com/mag/articles/reeves_design_main.html
>>108458801I thought comic strips were supposed to be subtle. This is just an imaginary argument where he draws himself winning
>>108459747The strip makes a very clear point, which is framed as a response to very common (not strawman) sentiment.It's a very important and relevant point. Can you refute the point, or not?
>>108459386English is not a computer programming language
>>108460522Generating English detailed and precise enough for an AI to convert into machine code is as difficult as writing code in high-level languages.
>>108458801better than this one
>>108458801nothing has changed.
>>108458801It was drivel at day one. Code was never specs. For specs people envisaged UML.
>>108460649it's trvke though. specs are meaningless which is why they're almost always retroactively made and people become spec lawyers and claim other people's impl don't comply for some bullshit reason. unless you're a million-manhour en-devour, speccing shit is copium at best.
A spec is not code. It is at most a pretty permissive pseudocode with a very loose syntax. You still need to know software engineering principles to write a good spec, but you don't need to know about things like datatypes or data structures.
>>108459468ThisEverything now is getting so unnecessarily verbose with filler bullshit generated by some shit-GPT yapping, nobody even reads anything anymoreIt's a 95% time waste for human readers and 95% context waste for LLM readers
>>108460673We have far too many engineers already who can write "specs", but not code.
>>108460659I have worked on at least 3 DO-178-certified projects. Requirements, documentation, etc. were all written post-hoc.One of the guys from the certitication authority even outright told us that it doesn't matter whether we actually follow the process outlined in the DO. It just has to LOOK like we did.Waterfall and all this gay "spec" shit is just nonsense that people who don't develop software convinced themselves is how development works. It doesn't.Everyone you see on the internet advocating for this shit is a LARPer or worse, one of those incompetent devs who cling to "specs" to avoid having to do the actual work.
>>108460659Right. UML has always been a meme.The problem is that there are such things as requirements docs, and similar forms of constraints and objectives that aren't code, often called specifications. But unless we are talking 1960s NASA shit, the 'software specifications' are never comprehensive enough to generate real software from directly.
>>108458801two more weeks and ai will disappear.ai won, coders lost
>>108460804>DO-178I'm sorry...
If youre my management you dont even have a spec you just come up with stuff on the fly and expect it by monday morning.
>>108458801
>>108458801Nothing has changed but the number of retards that don't understand their code. If you think retarded vibe-coders are only a thing after LLMs became mainstream you clearly have never worked in any larger project or god forbid multi-team project. Retards that contribute nothing but barely working cobbled together code are the bedrock of any software based industry.
>>108460804>I have worked on at least 3 DO-178-certified projects. Requirements, documentation, etc. were all written post-hoc.I worked on several MIL-STD-498 projects under CMM level 3 or 4. All docs had to be approved before programming started.>One of the guys from the certitication authority even outright told us that it doesn't matter whether we actually follow the process outlined in the DO. It just has to LOOK like we did.I did software quality auditing, it was my job to find people like you.>Waterfall and all this gay "spec" shit is just nonsense that people who don't develop software convinced themselves is how development works. It doesn't.You can still do waterfalls for each spec release but it has to work when you wind up testing according to the STD with unit test all the way up to system test.>Everyone you see on the internet advocating for this shit is a LARPer or worse, one of those incompetent devs who cling to "specs" to avoid having to do the actual work.They customer pays for it and the contract binds us to it so it is only reasonable that we do what we promised and took money for.
>>108460959he's still right, and you're gay.
>>108458801It still is the dream. The advantage of AI is that it gives you a "reasonable" formalization of complete garbage specifications. It's capable of using "do what is similar to what I said" instead of "do what I say" so poor specifications can still produce "good enough" results
>>108458801we skipped the need for some kind of specification language entirely though and now you just tell the ai the problem and the goal and it solves it for you
>>108460569Maybe if you're only programming trivial logic
A specification that is precise enough to fully describe a program is longer that the program's code.Unless it is written in Javascript.
>>108460522It is now.
>>108460959Requiring the pointless paperwork be done before any real work sounds like military bureaucracy for sure. Not making the point you imagine.>contract requirementsIsn't a specification, as defined for the purposes of this thread which is a document that accurately expresses exactly what the software will do, in sufficient detail that it can be turned into machine code.Every single one of these specs you imagine, I 100% guarantee makes a ton of contextual assumptions or just outright gets things wrong, that professional programmers just deal with as a matter of course. LLMs cannot turn "specs" of typical specificity into the desired solution. The specs must be made to be much more robust and detailed-- to the point that is often impossible to reach without writing any code because the problems you have to specify solutions for won't even be known until you start writing runnable code.
>>108462458It's the opposite.It's only trivial problems with simple solutions and tolerant consumers that are easier to solve in english than with code.
>>108462844>Isn't a specification, as defined for the purposes of this thread which is a document that accurately expresses exactly what the software will do, in sufficient detail that it can be turned into machine code.No, those are too high level.
>words>words>words
Formal languages predate computers by several decades. People developed formal languages because natural languages are inherently ambiguous and prone to confusion. Formal languages serve a purpose, they're the best tool we have to unambiguously define something, without any possible error due to a different interpretation. What the formal language describes is what it is, period.Programming languages are the closest we have to a pure formal language. When you write correct code, you know it'll do exactly what you're asking it to. Complex code doesn't fail by itself, it's your translation between your mental image and the formal language you wrote that failed.When you think you not only think in natural language, you think of flows, you think of abstract concepts. Converting all of that to natural language is a translation already, and that's what retarded shills mean by "prompt engineers," people who allegedly can translate their thoughts into detailed natural language better. But such ability doesn't have any advantage over translating those thoughts into code directly, and is just as prone to failure.To make things worse, even if the "AI" could convert that natural language into code better than you, and it can't, you'd still be dealing with two translations instead of only one. Converting your thoughts into orders the bot can understand so it can convert them into code is like talking with someone who only speaks Japanese by having your language translated to French and then having someone else translating that French into Japanese. If you can't speak Japanese maybe you have no other choice, but if you're fluent in Japanese it would be something completely stupid to do.It's not just that LLMs are garbage, which they are, is that the very idea of writing programs in natural language is absolutely retarded.
>>108459199there wont be any fixing. it's cheaper to just prompt new software and hope it works this time. also means you get to release new software on regular basis which you then get to resell to your clients. think of planned obsolescense but for software.
>>108460569Ok? Still not a programming language or computer code
>>108459468I never read/wrote documentation anyway lol.
>>108458801now, they are both flipping burgers
>>108458801This is where the dev unzips his cock and penetrates the hairy butthole of the project manager>"Was this in the spec, bitch?">"B...But full stack-senpai">"HHHUUUU NOW I FUCK">"Use AI to rip off my butthole, dinosaur"Then they commit to prod and realize they are gay
>>108464628If an LLM can turn English into executable machine code then yes it is a programming language.
>>108465666No it isn't
>>108464408>posts huge steaming slop pile of natural language anywayI did not read it.
>>108466052What's actually true is that LLMs cannot convert english into code. Beyond that you are just arguing semantics of what programming language means and its clear you have a stunted concept of that. You don't really understand English, ironically.
>>108458801All 4 panel comics can be improved by reducing the panel count to 3
>>108466117Everyone knows what a programming language is, everyone can also see you're stretching the definition of the term and being silly.
>>108459468>My team was just given blanket access to Atlassian MCP and we have gone from about 3-5 pages a week to 5-10 a day, and no one is reviewing them or even reading them.And now people wonder about technical debt??
>>108459781i dont care about the point, i think essay comics are gay
>>108458859>>108458832>>108458801The punchline was false back then, and is demonstrably false now. Pseudo code or comprehensive commenting is very obviously not code but contains all of necessary elements to describe a program, and its language agnostic so it’s better arguably of one is switching between languages in a code base.
>>108464408The principle is true, but you're not a perfect machine and you don't have all of humanity's programming knowledge stored in your brain. Just like I don't want to spend 5 years learning how to draw better than AI, I prefer to generate an okay work today. Idealists aren't needed in today's world.
>>108458899Tech debt doesn't matter nearly as much if you can hold the entire codebase in your memory (ie. if you're an AI). The only reason spaghetti code is hard to reason about is because the human brain can only reason about like 20 lines at a time, spread across 3 scopes max. Not to mention, tech debt also won't matter when software as a concept becomes much less important. 85% of software is built for the purpose of presenting information to humans and taking information in from humans. When data can just be transmitted directly from AI to AI as much as necessary for a given task, there's no need for software. They'll just pass mass quantities of minified JSON back and forth, no need for a UX or ETL or anything else.
>>108458899Can you default technical debt?
>>108458801Project ManagerGODS continue to own itty bitty little codecucks
>>108464408>it's your translation between your mental image and the formal language you wrote that failed.And in large portion of cases it happens because machine's formal language in its most basic form requires you to go into so fine technical details that you lose the overall picture in your limited mind. This is why people switched from assembler to progressively higher level languages and still keep going: they allow to hide a lot of common footwork under simple constructs and let you pay attention elsewhere. But this has a limit too because there's only much common between different programs and either the language has to stay low level enough to not hinder you from doing what you want and you still get bogged down in technical details at some point, or it becomes too convoluted on its own by trying to cover everyone's use cases.AI takes this a step further by letting you omit the precise description of fine details altogether and just draw the overall picture with AI filling the gaps for you. This lets you pay even more attention to keeping track of what you want to do rather than how. The downside is that you're now technically not in complete control of the program, but you can't really claim you were before while being lost in fine details of implementation either.
It still holds up. Vibecoders can eat shit when their next vibeware gets hacked (they're probably using Windows anyway which exploded in CVE's since 11)
>>108458859A formal spec of outcomes and constraints isn't code.
>>108458899Agentic code review is the next big thing they're working on.
>>108459415I will never use this marketing term
>>108460659>specs are meaninglessAnd softwarefags have the balls to call themselves engineers holy shit...
>>108469623Capitalism really is just a machine that turns everyone into soulless goys huh
>>108471871Yeah and AI largely cannot generate working software from specs.
>>108471926Works for me. Granted, my specs and project sizes are small and I can review them quick enough.
>>108458801I mean, it's literally not code. It's natural language used concisely and specifically. That isn't code.>>108458859>The actual specification is always code, i.e. a set of instructions that must be precise enough to be transformed into machine code at some point in the chain.>The actual specification is always code, i.e. a set of instructions that must be precise enough to be transformed into machine code at some point in the chain.that's not what code is you fucking retard
>>108471911You are either delusional, or lucky enough to have worked in a non-dysfunctional environment.Because I'm theory, I agree. But in reality, I've seen far more specs generated from clueless meeting-wankers that are worth less than toilet paper in the end. And one of either two things happen: junior devs struggle for months trying to write to specs and floundering (despite the regular status reports on progress for each sprint or whatever gay methodology is in play. OR a senior dev actually knows what the customer needs and builds the solution, spending 5 minutes at the end to add the features the committee spent months arguing about, and ships on time.
>>108472408If you ever worked in efence/aerospace it would have to be with Slockhead Martians, they are seemingly the only ones allowed to flout every rule there is in mil spec SW development.I worked for a small defence contractor and we got specs grunted out by committees and we had to deliver according to specs and time, as the contract stated. And we had factory acceptance tests, site acceptance tests and more, where we were held to the standards and requirements stated. Jokes like >senior dev actually knows what the customer needs and builds the solution, spending 5 minutes at the end to add the features the committee spent months arguing about, and ships on timewould just not fly. Defence QA staff could audit us whenever they wanted, and they did that.
>>108468778>Pseudo code or comprehensive commenting is very obviously not code but contains all of necessary elements to describe a program,no it doesn't. it doesn't contain the implementation, which is part of the precise specification of the program. if it did you could just compile it to machine instructions
>>108472802No, never worked on military contracts.
>>108472802Same here. Also medical. It's a great school to go through, now it helps a lot with speccing AI code generation and acceptance.
>>108459199>fixI've already seen slop coders just throwing out entire projects to re-code them from scratch with a better .md fileset.
>>108472408This this this. Specs are fucking meaningless because they're written in a vacuum. I have seen specs fall apart within five minutes (I was counting) after I asked a question about how the underlying system worked and it turned out didn't support a major required function (email bounce backs).So we threw the entire plan out and had to start from scratch on the spot because it was going to have to use a system that DID support email bounce back. All that setup was blown in five fucking minutes. But we did what senior engineers do, and we shifted to what worked and went down that path and made what remained of the spec fit to what we had.
Specifying what a program has to do in a natural language like English is definitely harder than doing it in a formal language like C.Figuring out what someone meant when writing "specifications" is a huge part of being a software developer and not something an AI could do.
>>108458859That fight was lost as soon as they started hiring Ten dollar an hour Indian programmers to do everything. Spaghetti code is already a thing, I don't see how it gets much worse with AI... Having Vibe coded my own stuff, for basically free, it's incredible useful period
the “spec” of a program is either the client request in natural language, or the code that turns into the program.every step in between those two things can be placed under this category or that category.any attempts to define some actual, official intermediate step as the spec is nocoder cope, desperately trying to cling to the 6figure salary middle position which would not exist without the client and SWE. it’s ironic that nocoders middlemen keep promising to replace us with AI when it’s really their role that is getting squeezed here.
>>108460959Female hands typed this post.
>>108464408Well said.Dijkstra warned us long ago.https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD667.html
>>108478058Wrong, of course. I am just curious what made you even think so.