<story><title>The Lost Ways of Programming: Commodore 64 Basic</title><url>http://tomasp.net/commodore64/</url></story><parent_chain><item><author>gnat</author><text>We take it for granted now with the prevalence and acceptance of interpreted languages like Python and Perl, but the radical accessibility of BASIC can&amp;#x27;t be over-emphasized. C, Pascal, FORTRAN, and friends all had a compile step which meant that you had to operate a text editor and command-line... BASIC was so much more immediate and straightforward to learn on.&lt;p&gt;The other great reason so many of us 40-somethings got our start on the BASIC-wielding micros was that our universe was pretty small and the simple things we could make our machines do were still fancy. These days it seems that you won&amp;#x27;t interest kids with anything short of a 40fps multiplayer battle royale game with millions of polygons on screen. Random number guessing games are lame, Dad.&lt;p&gt;The early web was a lot like the early micros -- you had to make your own entertainment as you quickly ran out of things to do, and the things you were able to make were comparable to the things built by well-founded teams. The opportunity to add something new and useful to the web is largely past, and any window is even smaller if you&amp;#x27;re not a venture-backed team.&lt;p&gt;Old man out. &amp;lt;mic drop&amp;gt;</text></item></parent_chain><comment><author>tempodox</author><text>Considering the RAM and storage restrictions of those machines, hosting a compiler would have been quite challenging. Where would it store object files or the final executable? On Datasette? And, the 6502&amp;#x27;s CPU stack is limited to a whopping 256 bytes! With an interpreter burned into ROM, we only needed the BASIC code to reside in RAM. And, of course, the occasional assembly routine to speed things up. I remember how entering a hex dumper (and disassembler, if possible) was always among the first things I did on such a box. I hacked the ROM of the Atari 800 to find out where those BCD floating-point subroutines were located, so I wouldn&amp;#x27;t have to run the computation loop of my Mandelbrot fractal generator from BASIC. That made a hell of a difference. Today&amp;#x27;s sports disciplines are a bit more elaborate. It came to the point where I could enter 6502 instruction codes in hex from memory because the instruction set is so small you could actually have it memorized, just as a side effect of daily use.&lt;p&gt;I still remember the elation I felt when I finally got my hands on a machine that could actually run a C compiler and had “high-resolution” graphics, not to mention an operating system that was documented. It felt like changing from a horse cart to a racing car. Today&amp;#x27;s computers are science-fiction space ships compared to that.&lt;p&gt;Another old man, out.</text></comment>
<story><title>The Lost Ways of Programming: Commodore 64 Basic</title><url>http://tomasp.net/commodore64/</url></story><parent_chain><item><author>gnat</author><text>We take it for granted now with the prevalence and acceptance of interpreted languages like Python and Perl, but the radical accessibility of BASIC can&amp;#x27;t be over-emphasized. C, Pascal, FORTRAN, and friends all had a compile step which meant that you had to operate a text editor and command-line... BASIC was so much more immediate and straightforward to learn on.&lt;p&gt;The other great reason so many of us 40-somethings got our start on the BASIC-wielding micros was that our universe was pretty small and the simple things we could make our machines do were still fancy. These days it seems that you won&amp;#x27;t interest kids with anything short of a 40fps multiplayer battle royale game with millions of polygons on screen. Random number guessing games are lame, Dad.&lt;p&gt;The early web was a lot like the early micros -- you had to make your own entertainment as you quickly ran out of things to do, and the things you were able to make were comparable to the things built by well-founded teams. The opportunity to add something new and useful to the web is largely past, and any window is even smaller if you&amp;#x27;re not a venture-backed team.&lt;p&gt;Old man out. &amp;lt;mic drop&amp;gt;</text></item></parent_chain><comment><author>_the_inflator</author><text>I always had contempt for BASIC languages in the 80th. Being a tough demo coder in assembler, I thought that this isn&amp;#x27;t the real stuff.&lt;p&gt;Today I agree with you.&lt;p&gt;After re-entering the world of 8bit and 16bit Commodores again, I finally utilized these. Indeed you could do quite a few tricks with them, and they are quite powerful.&lt;p&gt;There is beauty in the ease of use of these languages. And to be honest, there is a lot of hardship in languages like assembler.&lt;p&gt;The whole IDE idea for Java, Kotlin, etc. reminds me more of BASIC than C. Especially that BASIC is somewhat forgiving if you make mistakes, aka bugs, I appreciate. If you make mistakes in assembler on Amiga 500&amp;#x2F;1200, for example, you most often have to reset the machine. If you forgot to save your work before testing, you would suffer even more. And this is not the coolest of all workflows. Even on emulators like WinUAE, where you need timing to hit the debug key.&lt;p&gt;Assembler is complicated (word operations accessing an odd memory address is hard to find) and only useful in very constraint areas like elder computers.&lt;p&gt;BASIC is simple, and therefore fast.&lt;p&gt;With computers doing the heavy lifting nowadays, I keep the speed part to the computers while focusing on fast iterations. Except for the Amiga, where I think that BASIC and assembler can coexist nowadays for me. Should have utilized BASIC back then for simple things.</text></comment>