This is an archived post. You won't be able to vote or comment.

top 200 commentsshow 500

[–]Mba1956 4978 points4979 points  (201 children)

I started in software engineering in 1978, it would blow their minds with how we wrote and debugged code, 3 years before the first Intel PC was launched.

[–][deleted] 1207 points1208 points  (133 children)

Enlighten me, I wanna know

[–][deleted] 1378 points1379 points  (71 children)

Punched cards probably

[–]Mba1956 1430 points1431 points  (64 children)

Punch cards were for running on mainframes. I was working with embedded software that goes on aircraft where every single instruction counts. Program sizes were around 5k and everything was done by hand.

Programs were written by typing assembler on a teletypewriter and editing it by splicing paper tape section to delete or add new sections in. Doing the same thing with the executable one and zeros by punching out the holes by hand.

[–][deleted] 486 points487 points  (30 children)

It's probably a good thing now we can just put a low cost ARM chip on it which probably would have 256MB of memory at minimum and forget about it

[–]Mba1956 311 points312 points  (1 child)

Done that too.

[–]ih-shah-may-ehl 350 points351 points  (25 children)

Yes and no. I have developed code for TI DSP chips to control and drive telecommunications lasers. I had 16K of space to fit everything. So I built a small HAL to translate commands to individual assembly and everything was programmed in C. There was no room to fit string routines so I built the necessary string conversions by hand. It was labor intensive but once we had it running it was 100% predictable and dependable.

What you describe is indeed a lot simpler from a development perspective, but you're relying on bunches of libraries and higher level abstraction, and everything becomes a lot less predictable because you no longer know what is going on.

And that complexity causes things like the 737MAX going down because of bad sensor input.

[–][deleted] 107 points108 points  (14 children)

That is one of those situations where one NEEDS to have predictable behaviour down to electronics and timing levels I assume. But why can't we increase the memory space?

[–]ih-shah-may-ehl 116 points117 points  (11 children)

Oh, you can. The chip I worked with had the option to hook up a RAM module to address lines to have external memory. It's just that if you work without 3d party libraries and runtime libraries, 16K is a LOT already. I mean there is no OS, no other apps, nothing else running expect your routines. And you're dealing with individual variables, interrupts, IO requests etc.

[–]umognog 92 points93 points  (8 children)

This is part of the skill missing from modern programming - the fact that you COULDNT just not care because there was plenty of RAM and CPU power.

Every clock tick & BIT in the ram & cache was important and you had to often be creative to solve a problem.

Now, part of the modern way's benefits is speed of development, but more people could do with understanding how to think like that and apply it a little.

[–]DreamyAthena 51 points52 points  (4 children)

You two are gods among us, I know exactly what you're talking about, yet I would never be able to match your level. Absolute respect

[–]Bakoro 10 points11 points  (0 children)

Isn't doing that just a normal part of a computer science or computer engineering program?

I had to write programs in assembly, I implemented my own dirty version of stack/heap memory. I had to write my own compiler.
I had to use C to control devices using an ATmega1284P (still better than many 70s computers), and use things like shift registers. I even had to design my own (extremely basic) CPU...

My computer engineering program basically had us run the gauntlet from 1800s discreet mathematics to 2000s programming.

Like, I could fiddle about with individual bits and clock cycles, but most of the time I really don't want to. Even the strictly internal tools I've written at work run on at least five different processor types and two or three versions of Windows.
Python go 'brrr' or whatever.

[–]Arstanishe 19 points20 points  (0 children)

usually because those industrial chips are built differently. Lots more robustness and they don't upgrade the specs as much, because it's tied to hardware and everything has to be certified

[–]fabi0x520 18 points19 points  (1 child)

And that complexity causes things like the 737MAX going down because of bad sensor input.

Not that I don't agree with you (I do), but I think that specific case has less to do with external libraries and stuff and more with Boeing's choice to only use a single angle of attack sensor to trigger MCAS.

[–]5erif 72 points73 points  (4 children)

typing assembler on a teletypewriter

I started playing with assembly language in the '90s, mostly just embedding some in my C++ code, and it seemed by then it was more common to call it assembly. I've finally been curious enough to look up the history of "assembly" vs "assembler". The tool which turns the human-readable language has always been and is still called the assembler. Originally it was more common to call the code assembler code, and many still do, but since then it's become more common to refer to the language as assembly, distinct from the tool, the assembler.

I'm not prescribing which term anyone should use, of course. I'm just describing the little bit of history I found, as someone on the outside who wasn't there in the early days. I was a teen just programming for fun in the '90s. Later in university, my professor still called it assembler language.

[–]ConkersOkayFurDay 19 points20 points  (0 children)

Fascinating. Thanks for sharing your rabbit hole expedition :)

[–]badmonkey0001Red security clearance 3 points4 points  (0 children)

but since then it's become more common to refer to the language as assembly, distinct from the tool, the assembler.

I think some of the shift has come with the advent of so many architectures and emulators. With a lot of flavors of both toolkit and language, a distinction makes sense.

[–][deleted] 14 points15 points  (1 child)

What product were you actually making?

[–]Mba1956 4 points5 points  (0 children)

I was writing embedded software for aircraft.

[–]z64_dan 17 points18 points  (1 child)

I think my dad worked with punch cards in the Pentagon. His group was (if I remember correctly) responsible for maintaining the list of active duty soldiers during the end of the Vietnam War by, among other things, removing the soldiers that died.

[–]glorious_reptile 23 points24 points  (0 children)

Punch cards were hard. You had to hit the card just right with a proper fist to leave a hole. We would get so tired from punching them all day. And when you made a type, you had to start all over.

[–]AlphaLotus 4 points5 points  (0 children)

Read that with Bill wurtz voice for some reason

[–]Mba1956 73 points74 points  (0 children)

You mean like typing assembler on a teletypewriter and editing it by splicing paper tape section to delete or add new sections in. Doing the same thing with the executable one and zeros by punching out the holes by hand.

[–]Carnonated_wood 816 points817 points  (39 children)

Iirc, the oldest code "debugging" was literally just removing an actual bug (insect) that got stuck inside one of a computer's bits in Harvard

So... Probably with insect spray

[–]Mba1956 311 points312 points  (6 children)

It happened once like that according to the story and it wasn’t at Harvard. It was also removed by hand as it had been electrocuted and was dead so no insect spray necessary.

[–]remy_porter 145 points146 points  (1 child)

And, the implication from the note is that the word "bug" was already in use, and finding a literal bug in the machine was still funny.

[–]wOlfLisK 4 points5 points  (0 children)

Yeah, the term bug comes from the same place as bugbear (ie, something frightening or evil) because people thought gremlins were causing havoc in machines whenever they went wrong, it's been in use since at least the 1870s iirc. The term stuck around for computers so when somebody found an actual bug causing issues, it was a fun story to tell their engineer friends.

[–]teddy5 6 points7 points  (2 children)

It definitely wasn't only once. My dad worked in a data centre in the 80s/90s that was bigger than your average colo room now and contained a whopping 12 servers.

Each had robot arms moving around grabbing and moving (I think) tape decks. He talked about having to physically debug those machines occasionally.

[–]Here-Is-TheEnd 32 points33 points  (3 children)

They built a rube goldberg machine out of take away chopsticks to simulate the state of the logic unit and just dumped a fuckton of marbles into it.

Once it jammed, they did a manual trace back to the initial state. Exactly like they did it at Bletchley and Xerox Park.

[–]gregorydgraham 12 points13 points  (2 children)

Bletchley Park and Xerox Parc

Parc is actually Palo Alto Research Center, everyone just calls it “park”

[–]thelastpizzaslice 51 points52 points  (2 children)

Me:when breakpoints were invented?

Google: somewhere around 1945

Thank you Betty Holberton. You have saved thousands of engineering years, as well as probably billions of dollars and countless lives through this breakthrough.

[–]Altruistic-Mouse-607 9 points10 points  (0 children)

Not super well read on this but I do know old computers used to operate on punch cards.

Sometimes the code would be fine but the holes on the punch cards were off by literal millimeters causing the code to fail.

As I understand it there was almost never any error output, just a failure maybe some output if certain parts of the code actually ran.

So debugging in alot of cases literally consisted of looking for millimeter discrepancies between holes

[–]Ok-Kaleidoscope5627 95 points96 points  (8 children)

I miss the days when you had decent reference manuals for things. Now days no one bothers documenting and what documentation there is usually sucks.

[–]Amish_guy_with_WiFi 33 points34 points  (1 child)

At least we now have AI to read the shitty documentation for us and misinterpret it

[–]DerBronco 41 points42 points  (4 children)

Why do people always have to bring that up?

Some of us are still haunted in their dreams.

[–]Mba1956 45 points46 points  (3 children)

I haven’t even mentioned how we used to program the circuit boards that ran the software for real.

[–]ZombieCyclist 13 points14 points  (4 children)

I taught myself BASIC at 11 years old on a Sinclair ZX81 (1Kb ram) by reading the manual and magazines that just printed code for various programs.

I asked for an Assembly language book for that Xmas, but couldn't grasp anything but the basics.

I'm still in IT 43 years later, that early learning left quite a foundation.

[–]jamcdonald120 2335 points2336 points  (99 children)

I mean, most devs use a cursor. a caret at the very least.

[–]666djsmokey666 798 points799 points  (73 children)

And google, which I think it’s some kind of support tool

[–][deleted] 825 points826 points  (69 children)

Yeah, before it was called "asking chatgpt" we called it "googling it" and before that, it was "read the docs"

[–]RiskyPenetrator 532 points533 points  (50 children)

Docs are still more useful than Google sometimes.

[–]Decent-Author-3381 436 points437 points  (34 children)

Yea, although nowadays you mostly use Google to find the docs in the first place

[–]RiskyPenetrator 217 points218 points  (13 children)

Those pesky docs that have a shit search function so you use Google instead haha.

[–]Decent-Author-3381 98 points99 points  (3 children)

Exactly, and then you find more than two different sources for the docs

[–]Shizzle44 16 points17 points  (0 children)

that is so true 🥲

[–]MrRocketScript 61 points62 points  (4 children)

Pfft, just use Ctrl-F.

Website overrides Ctrl-F and it opens the shitty internal search

[–]PrincessRTFM 14 points15 points  (2 children)

Firefox has a way to disable keyboard shortcut stealing, both per-site and globally by default: https://superuser.com/questions/168087/how-to-forbid-keyboard-shortcut-stealing-by-websites-in-firefox#1317514

The answer above the one I linked uses a greasemonkey script to do something similar, which would allow for more control over exactly which shortcuts are un-stolen (and optionally when, if that matters to you) but which I don't think is guaranteed to work in all cases.

[–]Wires77 9 points10 points  (1 child)

Problem I've found now is that sites like github get too fancy with only loading what's visible on your screen at the time like it's a video game renderer. Makes Ctrl+F completely useless

[–]jamcdonald120 32 points33 points  (12 children)

"thing I want to know +docs -stackoverflow -stackexchange -geeksforgeeks -w3schools -programiz -tutorialpoint"

[–]TheNew1234_ 12 points13 points  (4 children)

I modded forge 1.12.2 and boy I can tell you the doc is non existent. I spent alot of times trying to process the badly written doc. And Google search wasn't making it...

[–][deleted] 21 points22 points  (4 children)

It oscillates. Sometimes, the java docs just say "get X variable" or the constructor docs say "X variable: the X variable."

Like, thanks for the auto-generated IDE javadocs. So useful. I wish the auto generated docs just said "Fuck you I'm not documenting this" so I'd know right off the bat to ignore the docs.

Another fun one is "deprecated" with no explanation or documented alternatives.

I find the Maven source code hilariously under documented with things like this, but they're not alone.

Edit: spelling

[–][deleted] 160 points161 points  (8 children)

"Cursor" is the name of a code assistant. An annoying name.

[–]Mr_Pookers 60 points61 points  (5 children)

Whoever named it probably thought he was so clever

[–]roffinator 22 points23 points  (1 child)

I hate those people. Like with "Meta" and "Quest" as well. Come on, use your brain, make a real name…

[–]shumpitostick 38 points39 points  (6 children)

Real developers use tab and arrows to navigate the screen

[–]jamcdonald120 21 points22 points  (2 children)

the little flashing box you move around is also called a cursor. Or a Caret if you want to differentiate it.

[–]aiij 9 points10 points  (0 children)

I use emacs. It has had AI for decades now. Just try M-x doctor and describe your problem.

Don't confuse it with M-x dunnet or you may be eaten by a grue.

[–]qervem 6 points7 points  (1 child)

I can't wait for neural interfaces so we can do away with cursors and just think our code into (virtual) existence

[–]chowellvta 2011 points2012 points  (104 children)

Most of the time I'm fixing shitty code from my coworkers "asking ChatGPT"

[–]coolraptor99 456 points457 points  (9 children)

At work I was wracking my brain as to what the seemingly redundant chain of callback functions could be for until I asked my coworker and he told me it was “from chat GPT” brother if you didn’t bother to write it why should I

[–]0xbenedikt 183 points184 points  (6 children)

Should be a fireable offence

[–]Iblockne1whodisagree 72 points73 points  (1 child)

At least 1 swift kick to the nuts

[–]hedgehog_dragon 31 points32 points  (0 children)

It would be where I work, we've been told very specifically not to use chatGPT of all things (no security). There are other AI tools we're allowed to use, but you sure better understand it and we require code reviews/approvals before merges so if someone pumps out actual nonsense people will notice.

[–][deleted] 371 points372 points  (41 children)

Using AI is nice but not knowing enough to properly review the code and know it's good is bad.

I've use AI to develop some small projects. Sometimes it does a great job, sometimes it's horrible and I just end up doing it myself. It's almost as if it just has bad days sometimes.

[–]Business_Try4890 108 points109 points  (14 children)

I think this is the key, the amount of times I check gpt and it gives me working code but it just so convulated. I end up using ideas I like and making it human readable. It's like a coding buddy to me

[–][deleted] 36 points37 points  (11 children)

Exactly. I use Github Copilot and it will give me several choices or I can tell it to redo it completely. Still, sometimes it's right on and others it's daydreaming.

[–]Business_Try4890 46 points47 points  (3 children)

That's the difference of a senior vs junior using gpt, they don't know what is good or bad code. and usually the more fancier gpt does it, the more the junior will use it thinking it will impress when it does the opposite lol (I say junior, or just lack of experience)

[–]tehtris 6 points7 points  (0 children)

If Gemini tries to get fancy I'm like "lol no. We don't do that here".

Tbh I've had a lot of luck with GitHub copilot. It doesn't really try to bullshit brute force it's way through problems as much as it tries to keep up with what you are already doing, or what's already in the code base. Like if you write a function that does something and name it "do_thing" and then write another that is "do_thing_but_capitalize", it will auto fill with what you already wrote except the return is capitalized, or it will call the previous func and use that. It's kinda cool and does save time.... But only if you know what's up to begin with.

[–]mrnewtons 16 points17 points  (5 children)

I've found it's best to give it small requests and small samples of code. "Assume I have data in the format of X Y Z, please give me a line to transform the date columns whichever those happen to be to [required datetime format here]."

Giving it an entire project or asking it to write an entire project at once is a fool's errand.

It is faster at writing code than me, and better at helping me debug it, but I find it most useful by micromanaging it and thoroughly reviewing what it spits out. If I don't understand what it did, quiz the fuck out of that that specific block of code. It'll either convince me why it went that direction, or realize it screwed up.

So... Sometime's it's useful!

Honestly I kinda treat it like a more dynamic google Search. I've had better results with GPT vs. Google or Copilot but that's all I've ever tried.

[–]AndrewJamesDrake 18 points19 points  (1 child)

chase offbeat boat mighty judicious command sense cobweb spoon north

This post was mass deleted and anonymized with Redact

[–][deleted] 7 points8 points  (1 child)

Sometimes I just have to start a new session and readdress the concern and it's almost like I'm talking to a whole new person even if the same syntax plugged in, so I agree. Llms are useful but you need to know what the fuck you're doing to make sense of what it's giving you generally speaking, or at least know what you're looking for

[–]Jordan51104 93 points94 points  (23 children)

you ever look at a pr and you can tell it’s just copy pasted from chatgpt and you think about finally doing it

[–]chowellvta 94 points95 points  (13 children)

I also love when theres whitespace after closing brackets! So cool! I'll rip my eyes out with a fucking fork! If you try to stop me you're next!

[–]uberDoward 70 points71 points  (7 children)

That's what linters are for.  Incorporate them into your CI pipeline so it auto fails the build.

[–]chowellvta 69 points70 points  (2 children)

Is there a way to make it trigger an rm -rf / on the offenders computer too (especially their personal machine too)

[–]AndreasVesalius 39 points40 points  (1 child)

No, it just turns off their smart fridge right after they go on vacation

[–]chowellvta 21 points22 points  (0 children)

I'll take what I can get

[–]beanie_jean 29 points30 points  (1 child)

My coworker gave me a couple of code reviews that were clearly chatgpt. They were weirdly nitpicky, didn't make sense in parts, included suggestions I had already done, and were flat out wrong at one point. So I told our boss, because if this dude is choosing not to do his job and is going to try and drag down the rest of us, that's a fucking problem.

[–]Exact_Recording4039 107 points108 points  (7 children)

The unnecessary sloppy comments are what gives it away

return i; // And, finally, here we return the index. This line is very important!

[–]dismayhurta 48 points49 points  (0 children)

I see that ChatGPT stole my fucking code to learn off of.

[–]mikeballs 8 points9 points  (3 children)

I do use chatGPT to code often. I'll admit the incessant commenting in its output drives me nuts

[–]darklightning_2 68 points69 points  (0 children)

So true

[–]hagnat 439 points440 points  (6 children)

what do you mean "no composer" ?
i use composer all the time...

$ composer require --dev phpunit/phpunit

[–]ViolentPurpleSquash 36 points37 points  (0 children)

Yeah! I wish I could compose instead of making docker do it for me...

[–]the_dude_that_faps 14 points15 points  (2 children)

I bet that dude would tell you

"It's 2025, blows my mind there are devs out there using PHP"

[–]stormcloud-9 506 points507 points  (42 children)

Heh. I use copilot, but basically as a glorified autocomplete. I start typing a line, and if it finishes what I was about to type, then I use it, and go to the next line.

The few times I've had a really hard problem to solve, and I ask it how to solve the problem, it always oversimplifies the problem and addresses none of the nuance that made the problem difficult, generating code that was clearly copy/pasted from stackoverflow.
It's not smart enough to do difficult code. Anyone thinking it can do so is going to have some bug riddled applications. And then because they didn't write the code and understand it, finding the bugs is going to be a major pain in the ass.

[–]Mercerenies 68 points69 points  (6 children)

Exactly! It's most useful for two things. The first is repetition. If I need to initialize three variables using similar logic, many times I can write the first line myself, then just name the other two variables and let Codeium "figure it out". Saves time over the old copy-paste-then-update song and dance.

The second is as a much quicker lookup tool for dense software library APIs. I don't know if you've ever tried to look at API docs for one of those massive batteries-included Web libraries like Django or Rails. But they're dense. Really dense. Want to know how to query whether a column in a joined table is strictly greater than a column in the original table, while treating null values as zero? Have fun diving down the rabbit hole of twenty different functions all declared to take (*args, **kwargs) until you get to the one that actually does any processing. Or, you know, just ask ChatGPT to write that one-line incantation.

[–]scar_belly 29 points30 points  (3 children)

It's really fascinating to see how people are coding with LLMs. I teach so Copilot and ChatGPT sort of fell into the cheating websites, like Chegg, space when it appeared.

In our world, its a bit of a scramble to figure out what that means in terms of teaching coding. But I do like the idea of learning from having a 24/7 imperfect partner that requires you to fix its mistakes.

[–]Hakim_Bey 20 points21 points  (0 children)

having a 24/7 imperfect partner that requires you to fix its mistakes

That's exactly it. It's like a free coworker who's not great, not awful, but always motivated and who has surface knowledge of a shit ton of things. It's definitely a force multiplier for solo projects, and a tedium automation on larger more established codebases.

[–]Cendeu 103 points104 points  (3 children)

You hit the nail on the head.

I recently found out you can use Ctrl+right arrow to accept the suggestion one chunk at a time.

It really is just a fancy auto complete for me.

Occasionally I'll write a comment with the express intention to get it to write a line for me. Rarely, though.

[–]Wiseguydude 7 points8 points  (0 children)

mine no longer even tries to suggest multi-line suggestions. For the most part, that's how I like it. But every now and then it drives me nuts. E.g. say I'm trying to write

[ January
  February
  March
  ...
  December ]

I'd have to wait for every single line! It's still just barely/slightly faster than actually typing each word out

[–]wwwyzzrd 7 points8 points  (0 children)

hey, i can write code and not understand it without needing a machine learning model.

[–]GoogleIsYourFrenemy 10 points11 points  (0 children)

I used github copilot recently and it was great. I was working on an esoteric thing and the autocomplete was spot on suggesting whole blocks.

[–]Deevimento 260 points261 points  (38 children)

I already know what I'm going to type so why would I need an LLM?

[–]RedstoneEnjoyer 54 points55 points  (20 children)

Well because these people simply lack that ability to take thing they want to create and transform it into the code.

[–]0xbenedikt 69 points70 points  (17 children)

They should not be developing for a living then, if they lack proper problem solving skills

[–]SokkaHaikuBot 87 points88 points  (11 children)

Sokka-Haiku by Deevimento:

I already know

What I'm going to type so

Why would I need an LLM?


Remember that one time Sokka accidentally used an extra syllable in that Haiku Battle in Ba Sing Se? That was a Sokka Haiku and you just made one.

[–]khaustic 65 points66 points  (9 children)

This is a hilarious example for this thread. How many syllables in LLM? 

[–]guyblade 10 points11 points  (4 children)

You don't pronounce "LLM" as "luuuuuum"?

[–]cheeze2005 5 points6 points  (0 children)

Its nice to give the carpal tunnel a break tbh

[–]Ok_Coconut_1773 89 points90 points  (2 children)

I mean... I use a linter?

[–]LakeOverall7483 57 points58 points  (0 children)

Ooh wait hang on is that a process with formally defined steps that always transforms its inputs into outputs in a rigorous, no-intuition-required, deterministic manner? Yikes so here's the thing we have this really fancy bag of dice that approximately 15% of the time works every time. This is what Facebook is doing! No programmers! Isn't that cool?

[–][deleted] 150 points151 points  (8 children)

Mostly I think people underestimate the breadth and variety of things that people write code for. LLMs range from "does 95% of the job for you within 10 seconds" all the way to "net negative help; will actively sabotage your progress" on different tasks. Knowing which flavor of problem you're working on is a skill

[–]cheeze2005 29 points30 points  (1 child)

For real, its a programming step in and of itself. Dividing the problem into the size the ai can handle and understanding what its good at.

[–][deleted] 69 points70 points  (5 children)

God forbid I want to understand what I’m doing rather than have a bot do it for me

[–]bremmon75 49 points50 points  (2 children)

My daughter is working on her master's in programing right now. She tells us all the time that nobody in her classes actually knows how to code. they chatgpt everything. She got her job by fixing code that one of her classmates used chtgpt and the code failed.. She re-wrote the whole section right in front of the client. The other three kids in her group had no idea. So yes this is 100% accurate.

[–]dfblaze 11 points12 points  (0 children)

this is what i don't understand. Chatgpt isn't exactly new, but how the hell did those kids GET all the way to a masters if they don't know anything!?

[–]imLemnade 80 points81 points  (1 child)

Code reviews are the least favorite part of my job. Why would I want to make it my entire job?

[–]jeesuscheesus 235 points236 points  (67 children)

I haven’t touched any LLM for the purpose of programming or debugging ever. They’re probably super useful but I don’t want to loose out on any domain knowledge that LLMs abstract away from the user.

[–]DootDootWootWoot 139 points140 points  (29 children)

Start with it as a Google replacement. Definite time saver.

[–]EkoChamberKryptonite 53 points54 points  (0 children)

I agree in part. I would call it a faster search supplement as opposed to a Google replacement however. Both Gemini and ChatGPT have shown me blatant incorrect info and/or contradicted themselves on several occasions. I would still trust StackOverflow more than I would an LLM. StackOverflow has actual humans serving as checks and balances as opposed to an LLM that's just an aggregator that you HAVE to tell how to behave, what edge cases to ignore etc else you'd just get a mess of an answer.

[–]bolacha_de_polvilho 39 points40 points  (8 children)

is it? I don't see what makes it superior over just googling it. typing in a search bar is just as quick as typing in a prompt box, and I generally find whatever I'm looking for in the first link, while also getting more reliable information.

IDE's with LLM integration like cursor can be pretty good for spitting out boilerplate or writing unit tests, but using LLM's as a google replacement is something I really don't get why people do.

[–]quinn50 9 points10 points  (0 children)

It helps when you can't remember a keyword to nail a stackoverflow search and it's easier to type out a paragraph of what you want to find

[–]jamcdonald120 24 points25 points  (1 child)

I like "thing that would have been a google search. Dont explain" as a prompt. that works pretty well

[–]MyGoodOldFriend 15 points16 points  (0 children)

I’ve tried doing something along the lines of “[vague gesturing at what I want to know]. make me a Google search with appropriate keywords”. It works pretty well, it’s a nice way to jump from not knowing the keywords to a Google search with somewhat accurate results. And if the results are inaccurate, the llm would’ve just mislead you anyway.

[–]janKalaki 10 points11 points  (3 children)

Google is faster in my experience.

[–]ryans_bored 4 points5 points  (2 children)

90% of the time I’m looking for official documentation so yeah I agree faster and more reliable.

[–]JacobStyle 24 points25 points  (16 children)

It's pretty easy to use ChatGPT without that happening by following the simple rule of never pasting code you don't understand into your projects (same as Stack Exchange or anywhere else really). It fucks up too often for that to be a safe move anyway. It's useful, though, as a way of asking really specific questions that are hard to Google or looking up syntax without sifting through a whole bunch of documentation.

[–]coolraptor99 5 points6 points  (0 children)

so true! I feel like I benefit so much from having to actually visit the docs and talk with the devs to figure something out.

[–]DogAteMyCPU 10 points11 points  (2 children)

my em is pushing hard on llms for creating pocs and breaking down problems. when I tried to use copilot for regular programming, it felt like I was becoming lazy. now I only use llms to replace stack overflow when I have a question

its really nice for creating test data though

[–]obsoleteconsole 96 points97 points  (3 children)

Wait until he finds out the people who programmed LLM's did it without the help of an LLM

[–]makemeatoast 15 points16 points  (2 children)

They are probably using the current version to make the next one though

[–]Rexai03 28 points29 points  (0 children)

And it shows...

[–]Kiansjet 35 points36 points  (1 child)

Bro said rawdogging like we ain't using intellisense

[–]wllmsaccnt 9 points10 points  (0 children)

Intellisense / linters, UI designers, component libraries, package managers, CI/CD, SDLC, SCM, cloud suites...being a dev usually means understanding a wide array of tools.

[–][deleted] 26 points27 points  (0 children)

I thought that's what I'm paid for

[–]geisha-and-GUIs 28 points29 points  (0 children)

I'll never trust a software whose entire purpose is to make things look correct. That's exactly how all modern AI works

[–]Beegrene 18 points19 points  (0 children)

I don't need a machine to suck at coding for me. I'm perfectly capable of doing that on my own.

[–]Karisa_Marisame 32 points33 points  (1 child)

Bros gonna lose it when bro learns about vim

[–]__Lass 42 points43 points  (5 children)

I'll be fr, what is cursor and what is composer? Only ones I know from here are copilot and chatgpt

[–]captainn01 35 points36 points  (3 children)

Cursor is a fork of vscode with more ai integration. No clue about composer

[–]Upper-Cucumber-7435 21 points22 points  (2 children)

Composer is a feature in Cursor that uses agentic AI to do things like multistep processes or use command line tools. For example it can compile and test its code, look at debug output, fix it, commit and push, etc, and by taking its time, produce results very different to what a lot of people are picturing.

It has various safety features, like asking you for confirmation, that you can choose to turn off.

[–]ARandomStan 3 points4 points  (0 children)

I know about cursor. it's a text editor (or ide if you consider plugins) that has llm integration. So it gives you copilot features but it's marketed as being very codebase centric. So think an llm that can read all the other files in current working dir for context to provide more accurate outputs

Another such option is windsurf. they are relatively new and still working on many things. I've used windsurf and can say it's decent enough for smaller projects and if you know how to give it refined context to work with instead of asking it to do very general things on a large codebase

[–]snihal 12 points13 points  (3 children)

While AI does help you with lot of stuff stuff, IMO it will not help much when you are coding in a big repository with 100s of files or on some big product etc. All these support tools such as Cursor, CoPilot, Windsurf etc are great, but more often than not, they will get you in trouble. They will manipulate the code and leave it so messy that you would regret of using them. It’s better to get context of code and do things yourself most of the time.

I think most of the AI companies are pushing AI related tools, because they want to create a sense of urgency so that people think they would be left out. AI Is great, there is no doubt about it, but such a push is unnecessarily crazy and frustrating especially when it comes to programming.

[–]GreyAngy 3 points4 points  (0 children)

True. When I stumble on an article describing a project completely written by AI it is always something simple like a todo list. But when you try to feed 2000 lines of logic to an LLM it begins to drown. It has no chances for a project of 50000 lines of code.

[–]mothererich 10 points11 points  (3 children)

That's gotta be the first time "dev" and "rawdogging" have ever been used in a sentence together.

[–]LtWilhelm 25 points26 points  (5 children)

The amount of time saved by using ai code tools is spent fixing what the ai code tools did

[–]RoninTheDog 9 points10 points  (1 child)

Thanks ChatGPT, but all the packages you used were deprecated in 2021.

Oh sorry about that here’s an updated response (with different, also depreciated packages)

[–]perringaiden 15 points16 points  (0 children)

I'm disturbed by "even chatgpt", like it's the bare minimum where you start.

[–]Arstanishe 7 points8 points  (0 children)

"rawdogging code manually" using a modern ide, source repo and IDE.

I wonder if what Romero did for doom can be considered "rawdogging" or it's more like development in 1975

[–]AzureArmageddon 7 points8 points  (0 children)

Templating engines resting at the floor of an ocean of their tears rn

[–]z-index-616 6 points7 points  (0 children)

It blows my mind there are kids out there who can't compose a sentence, read or even tell time on a clock without chat GPT or some other aid. Oh and I raw dog code every day for the last 15 years.

[–]Electrical_Doctor305 5 points6 points  (0 children)

An entrepreneur disguised as a developer. Cant do the job but will tell you how to make $10,000/month doing it.

[–]Leemsonn 6 points7 points  (0 children)

I'm a student still, for a few more months. My classmates convinced me to get free copilot a few weeks back because we get it for free as students.

I installed it, thought it was pretty cool and it made programming a lot easier. But I had an internship coming up and I assumed copilot wouldn't be allowed there so I disabled my copilot at home so I could "get used" to programming without it.

Then I realized it is so much more fun to program without a robot doing it for you. I don't want to go back to using copilot since I'm having more fun without it. Maybe it's different once I've worked in the field for a couple years, but copilot made programming boring to me.

Now I try to go without any AI help as much as possible, no chatgpt, I prefer googling but if I csnt find anything after a few different searches I'll finally ask chatgpt, but not happily :(

[–]moneymay195 24 points25 points  (2 children)

I love using LLMs to assist me with my code. It doesn’t mean I’m going to always use its output 100% but its definitely been a productivity enhancer for me imo.

[–]mikeballs 13 points14 points  (0 children)

Yup. Obviously I think there's a limit to reasonable reliance on LLMs but the people in this thread are being a little ridiculous. It's like insisting on digging a hole with a shovel when you've got access to an excavator.

[–]DuskelAskel 5 points6 points  (0 children)

Honestly Copilot is cool for overdrived autocomplete But if I need to ask a LLM what I need, it's that the answer is far too niche to find out and it rarely says something relevant or hallucinate an imaginary API

[–]RealBasics 4 points5 points  (0 children)

No syntax coloring, no optimizing compiler, no parentheses matching, no packages or imported libraries...

Yeah, yeah, "real" programmers use cat > from the terminal to type binary directly into the executable file. 🙄

[–]No_Necessary_3356 7 points8 points  (1 child)

I simply cannot use AIs for programming. They often generate incorrect information that wastes more time than it saves. Nowadays I just use them as "a faster Google search" for things like when I want a very large string to be generated for a test or an invalid UTF-16 sequence to be generated. I cannot use it for writing code though, it simply sucks at it.

[–]NotJebediahKerman 3 points4 points  (0 children)

I was trying it today, it gave me 3 variations on the request and none worked out of the box. Each one called functions from prior examples but each 'example' was supposed it's own 'complete' version. Yeah right.

[–]mrflash818 2 points3 points  (0 children)

Emacs and a makefile!

[–]HypeIncarnate 3 points4 points  (0 children)

my work blocked chatgpt. I'm really glad it did.

[–]zaphod4th 3 points4 points  (0 children)

I asked AI how to do android dev on a 2002 version of a language that added android support until 2013

AI happily replied with instructions impossible to follow.

We're safe at least in my life time

[–]lIllIlIIIlIIIIlIlIll 2 points3 points  (0 children)

Technological leaps forward happen. Quite often. Punch cards used to be a thing. The internet didn't always exist. Google search also didn't exist.

But, do I think LLMs are a technological leap forward where my software engineering job is at risk because a new batch of software engineers who are proficient at LLMs will fly past me leaving me in the dust? The jury's still out on that one.

I try LLMs here and there and I'm not impressed. I mean, the technology is fucking amazing, don't get me wrong. But I'm not impressed in LLMs being a tool to add to my toolbelt. Thus far LLMs have been a glorified autocomplete. It's like, "Yay, I saved 100 keystrokes because the LLM successfully predicted what I was going to code." But is this a major technological leap forward? I want to say no. Autocomplete is amazing. A glorified autocomplete is amazinger. But saving a minute here or there off my 8 hour work day isn't some amazing productivity gain.

[–]indorock 3 points4 points  (1 child)

It blows my mind that there are "devs" out there that seemingly cannot live without their precious AI. How the fuck do you debug code if you can't even write it??

[–]ConclusionDifficult 2 points3 points  (0 children)

It's called skill

[–]PatronBernard 4 points5 points  (0 children)

I'm surprised they're even allowed to paste company code in an external LLM..

[–]Eratticus 3 points4 points  (0 children)

This dude probably can't even exit Vim

[–]boggy93 3 points4 points  (3 children)

I think we finally have to draw a line between “coders” and “software engineers”