this post was submitted on 06 Jan 2024
199 points (95.0% liked)
Asklemmy
43945 readers
638 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
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 :)