201
submitted 11 months ago by httpjames@sh.itjust.works to c/asklemmy@lemmy.ml

I've always been curious as to what "normal" people think programming is like. The wildest theory I've heard is "typing ones and zeroes" (I'm a software engineer)

you are viewing a single comment's thread
view the rest of the comments
[-] southsamurai@sh.itjust.works 9 points 11 months ago

Well, I'm not really the truly blind here, I used to do some BASIC back in the eighties. Just introductory level shit, though. I'm talking a course taken over a summer for "gifted" kids, not even an actual full on course at a serious level. And I wasn't very good at it lol

But, I still have no clue what modern languages are like, or how they're used professionally. I've always assumed, you guys are busy entering lines of code, then compiling and testing, then punching things because you have to go back and fuck ~~up~~ with the code again.

I figure there may be ways to streamline the coding itself, maybe chunks of prefab that can be copy/pasted, or whatever.

Other than that, I suppose there's lots of coffee, coke and/or meth, and a lot of waifu pillows.

[-] Shdwdrgn@mander.xyz 10 points 11 months ago

Imagine this... line numbers are no longer a thing. ๐Ÿ˜† Yeah I learned programming in the 80's as well, the Sinclair ZX81 was my first computer. These days a large number of languages, both compiled and parsed, are based around C so it's pretty easy to jump around a lot.

[-] southsamurai@sh.itjust.works 2 points 11 months ago

Okay, no line hikers numbers. But, how the hell are things carried out in order? Did numbering just get replaced by another system, or did it get thrown out as unnecessary to coding as a whole?

[-] Shdwdrgn@mander.xyz 3 points 11 months ago* (last edited 11 months ago)

Yeah line numbers got thrown out as a whole. Code is still followed in sequential order, but instead of GOTO we now have functions that we call for reusable operations, and those functions can have parameters sent to them. So like you can set up a function that adds a line of text to a log file, then call the function with a variable containing that text. I honestly can't remember if we had something like that in the early versions of BASIC. Overall I felt it made things a lot easier when line numbers were dropped, especially when you wanted to add more code in the middle of an existing block so you weren't forced to renumber everything to make room.

I think the biggest change to wrap my head around was the elimination of the GOTO statement. This seemed like such a mistake at first, but it turns out that if you wrap things within conditional expressions (if-then and do-while are typical) then you really don't need GOTO jumping all over the place and it tends to keep specific operations more self-contained which leads to the code being easier to read through.

If you want to see some examples of more modern code, take a look at something for PHP. This code felt most at home to me when I moved away from BASIC and is one of the few that still uses the $ symbol to denote variable names. Loops and conditionals are enclosed in {curly braces} so instead of the old for i$=1 to 5:<code here>:next loop you would see something like for($i=1; $i<=5; $i++){<code here>} and you just add as many lines as you need in between them. This is where indenting your code became popular, because if you have a lot of nested conditionals/loops it's easy to lose your place. The indents give you a reference of which code is part of which loops. Overall things have changed quite a bit, but at the core of it your code is still following a specific order to get things done.

[-] southsamurai@sh.itjust.works 2 points 11 months ago

That is cool as hell. Thank you very much for that :)

this post was submitted on 06 Jan 2024
201 points (95.1% liked)

Asklemmy

44183 readers
2189 users here now

A loosely moderated place to ask open-ended questions

Search asklemmy ๐Ÿ”

If your post meets the following criteria, it's welcome here!

  1. Open-ended question
  2. Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
  3. Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
  4. Not ad nauseam inducing: please make sure it is a question that would be new to most members
  5. An actual topic of discussion

Looking for support?

Looking for a community?

~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~

founded 5 years ago
MODERATORS