Do you remember writing your first piece of code? It probably went something like this:
We can look fondly on the source code of the yesteryear in what often we call affectionately as spaghetti code.
Fortunately, today we write code in a more structured way with objects, classes and methods, typed variables, function definitions and declarations, variable scope, and thankfully, no need for numbering every line as we code and any need for that dreaded GOTO command.
As a bit of nostalgia, try decoding this spaghetti.
99 REMARKABLY BAD CODE
155 LET X$="ASSUME N51 + W001 "
168 GOTO 233
204 LET I=M
174 GOTO 202
163 NEXT
248 LET X=C
211 LET H=H-D
257 LET X=G
270 LET U=V+W+X+Y+Z
267 GOSUB 128
172 LET J=J/A
144 LET C=5
246 LET X=B
262 GOSUB 128
224 LET A=A*F
103 LET K=31
298 GOTO 161
195 NEXT
171 LET D=H*H*H
111 LET U=73
134 LET R=61
249 GOSUB 128
194 C=C+1
252 LET X=E
130 LET D=7
119 LET E=11
123 LET T=71
247 GOSUB 128
213 LET J=F+G
100 LET A=2
122 LET H=19
145 GOTO 108
129 RETURN
322 LET O=0
222 LET I=J-I
127 RETURN
251 GOSUB 128
233 LET G=A+B+C
271 LET R=51
245 GOSUB 128
102 LET Y=97
315 LET C=D-J
192 FOR X=1 TO 12
297 LET B=A+C
215 GOTO 297
132 LET Q=59
120 LET J=29
108 LET Z=101
259 LET X=H
164 GOTO 182
256 GOSUB 128
158 GOSUB 126
266 LET X=J
104 LET L=37
159 GOTO 333
167 LET E=K-E
237 GOTO 211
303 LET F=I
333 LET I=I-F
121 LET I=23
263 LET X=I
188 LET E=B-A
264 GOSUB 128
105 LET M=41
161 FOR X=1 TO 51
126 PRINT X$
187 GOTO 303
199 GOTO 222
316 GOTO 192
268 END
254 GOSUB 128
335 LET D=2*D
234 LET M=S-Q
202 LET J=I-J
258 GOSUB 128
250 LET X=D
162 C=C+X
137 LET S=67
225 GOTO 188
141 LET O=47
128 PRINT X
107 GOTO 130
255 LET X=F
101 LET B=3
124 GOTO 155
114 LET G=17
190 GOTO 171
166 LET F=F-B
185 LET G=G/A
244 LET X=A
189 LET H=B-C
110 LET V=79
278 GOTO 271
337 GOTO 166
118 LET F=13
140 LET P=53
182 LET I=I/G
277 LET W=1
139 LET X=89
109 LET W=83
106 LET N=43
207 GOTO 244