-
Notifications
You must be signed in to change notification settings - Fork 0
/
about.html
14 lines (12 loc) · 8.84 KB
/
about.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!doctype html><html lang=en xmlns:fb=http://ogp.me/ns/fb#><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta property="og:site_name" content="EndBASIC"><title>About - EndBASIC</title><meta property="og:title" content="About - EndBASIC"><meta name=description content="Motivation The computers of today are too complex to understand. To the uninitiated, they feel overwhelming. They take a long time to boot. They offer cluttered interfaces with lots of icons, buttons, and options. They are built on dozens of layers of abstraction. And because of these reasons, they feel fragile and not something that can be experimented with.
If you want to learn to code today, you face a steep learning curve."><meta property="og:description" content="Motivation The computers of today are too complex to understand. To the uninitiated, they feel overwhelming. They take a long time to boot. They offer cluttered interfaces with lots of icons, buttons, and options. They are built on dozens of layers of abstraction. And because of these reasons, they feel fragile and not something that can be experimented with.
If you want to learn to code today, you face a steep learning curve."><meta name=author content="Julio Merino"><meta name=generator content="Hugo 0.111.3"><meta property="og:url" content="https://www.endbasic.dev/about.html"><meta property="og:type" content="website"><link rel=canonical href=https://www.endbasic.dev/about.html><link rel=alternate type=application/rss+xml title=EndBASIC href=https://www.endbasic.dev/feed.xml><link rel=stylesheet href=/sass/main.min.1fd0745ddb73c7e146f488aadf028ff6e32fb46bb9fd282336b4998e2fe64a01.css><link rel=stylesheet href=/css/chroma.css></head><body><nav class="navbar navbar-expand-sm navbar-dark bg-dark sticky-top"><a class=navbar-brand href=/>EndBASIC</a>
<button class=navbar-toggler type=button data-toggle=collapse data-target=#navbarToggler aria-controls=navbarToggler aria-expanded=false aria-label="Toggle navigation">
<span class=navbar-toggler-icon></span></button><div class="collapse navbar-collapse" id=navbarToggler><ul class="navbar-nav mr-auto mt-2 mt-lg-0"><li class="nav-item active"><a class=nav-link href=/about.html>About</a></li><li class=nav-item><a class=nav-link href=/blog.html>Blog</a></li><li class=nav-item><a class=nav-link href=/gallery.html>Gallery</a></li><li class=nav-item><a class=nav-link href=/download.html>Download</a></li><li class=nav-item><a class=nav-link href=/docs.html>Documentation</a></li><li class=nav-item><a class=nav-link href=/community.html>Community</a></li></ul></div></nav><div class="position-relative overflow-hidden p-3 p-md-5 m-md-3 text-center bg-dark bg-grid"><div class="p-lg-1 mx-auto my-1 text-white text-left"><h1 class="title display-4 font-weight-normal">Ready<br>About█</h1></div></div><article class=container><h1 id=retro>Motivation</h1><p>The computers of today are too complex to understand. To the uninitiated, they feel overwhelming. They take a long time to boot. They offer cluttered interfaces with lots of icons, buttons, and options. They are built on dozens of layers of abstraction. And because of these reasons, they feel fragile and not something that can be experimented with.</p><p>If you want to learn to code today, you face a steep learning curve. You need to understand how to open and operate an editor. You need to understand the file system so that you can navigate to the files you create. And you need to understand the basics of the command line to maybe-compile and run whatever you wrote in the editor. This is tedious and incurs a ton of mental overhead just to get started.</p><p>But it doesn’t have to be this way. In fact, it didn’t use to be this way.</p><p>If we look back to the 1980s, computing was much more approachable and discoverable—even if it did not <em>look</em> like so. I have pretty fond memories of my <a href=https://en.wikipedia.org/wiki/Amstrad_CPC>Amstrad CPC 6128</a> and its <a href=https://en.wikipedia.org/wiki/Locomotive_BASIC>Locomotive BASIC 1.1</a> interface. The experience offered by that computer was common back in the day but unique for today’s standards: the computer booted and was ready to accept commands in a couple of seconds; the computer was resilient to mistakes thanks to the system being stored in ROM; and you could control the full computer from the built-in language. Changing colors, drawing figures, playing sounds… were all at your fingertips. And once you learned a few commands on the command line, stitching them together to form full-fledged programs was a breeze.</p><p>With the move to a PC and MS-DOS a few years later, the essence of this experience was already lost: booting was slower; the computer could be “damaged” by modifying the wrong files; and the command line’s interface didn’t match the language of the programs you wrote. Sure, you could write batch programs, but that language was very limiting. That said, MS-DOS was still reasonably simple and shipped with the QBASIC integrated environment, which gave you all you needed to develop programs quickly.</p><p>Fast-forward to 2021. For most, computers have become content consumption devices. But the possibility of excitement is still there. I set up a Raspberry Pi that booted directly into DOSBox with <a href=https://winworldpc.com/product/quickbasic/45>QuickBASIC 4.5</a> and I could witness how my kids showed a different kind of interest in the machine than they had had before just with games. I only had to type a bunch of <code>PRINT</code> and <code>COLOR</code> commands to make them want to try stuff on their own. So I thought… this is cool, but it’s awkward to be confined to such an old environment. How hard would it be to bring such an experience to the modern era? Hence <em>“E. and D.’s BASIC”</em> was born. Or, simply put, EndBASIC.</p><figure><iframe title=vimeo-player src="https://player.vimeo.com/video/641791002?h=bab5562902" width=640 height=360 style=max-width:100% frameborder=0 allowfullscreen></iframe><figcaption><p><a href=https://media.handmade-seattle.com/endbasic/>EndBASIC demo for Handmade Seattle 2021</a><br>This 5-minute long video covers the motivation for the project and showcases graphics support, hardware manipulation and the cloud to build a retro-looking pong clone.</p></figcaption></figure><p>EndBASIC is a modern take at implementing an integrated environment that offers instant gratification to the user/learner/programmer. The environment and the language are intentionally modeled after the experience that computers offered back in the 1980s—but don’t assume that those interfaces were too limiting: <em>simplicity is powerful</em>. EndBASIC is modern because the environment targets the web for ease of access, allows interacting with the Raspberry Pi as a learning device, and integrates with a cloud service for fun file sharing. Furthermore, EndBASIC is fully written in Rust, so whenever you are ready to make the leap into a “real language”, you can poke into its internals and tweak it to your own needs.</p><p>With that, I hope you enjoy EndBASIC as much as I have enjoyed creating it. I do not expect you to write shiny new programs in a language that is considered a dead end by most. No. My hope is that you use EndBASIC to learn or teach the <em>foundations</em> of programming and computing in an environment that is fun to interact with and that is tolerant of mistakes. Because, if you truly master the foundations, the specifics of the language or the operating system won’t matter as much.</p><p>Thank you for reading!</p><p>PS: Sounds interesting? Don’t forget to subscribe to news about launches and other interesting content by filing the form right below.</p></article><footer class="pt-5 pb-3"><div class=container><div class=row><div class="col-md-8 text-left"><form class=form-inline action=https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/subscribers/add method=post><input type=text name=email placeholder="Enter your email" class="form-control input-sm text-center mx-1" size=20>
<button type=submit class="btn btn-sm btn-light mx-1">Subscribe to updates</button></form></div><div class="col-md-4 text-right">EndBASIC
<small class="d-block text-muted">Julio Merino © 2020-2024</small></div></div></div></footer><script type=module>
const SITE_ID = '6a633c2c-7fda-11ec-86e4-1cfd087199c2';
import { addAnchorsToHeaders, RequestsClient } from "\/js\/main.a02d06c067e543f21935526327af3100473c02252e0866297914856e56a033cb.js";
new RequestsClient(SITE_ID).saveRequest();
addAnchorsToHeaders();
</script><noscript><img src="https://hugo-dynamic.endbasic.dev/api/sites/6a633c2c-7fda-11ec-86e4-1cfd087199c2/pages/aHR0cHM6Ly93d3cuZW5kYmFzaWMuZGV2L2Fib3V0Lmh0bWw=/stamp.gif" style=display:none></noscript></body></html>