this post was submitted on 06 Jan 2024
201 points (95.1% liked)
Asklemmy
43950 readers
727 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!
- Open-ended question
- 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.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
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?
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 likefor($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.That is cool as hell. Thank you very much for that :)