Hi there! I'm the creator of this programming language. I've designed this language to resemble the style of the BASIC programming languages of the 80s, but with the modern functionality of today (syntax highlighting, rich editing, fast runtime, runs in browser etc.). It's a bit of a side project of mine, but ultimately I think it's a great way for beginners to learn programming, and for more advanced users to tinker with!<p>You can get help by using the `help` command, and we have many tutorials to get you started with, in addition to a command reference. Whilst our documentation is still work-in-progress, your feedback is most welcome — let me know what you think is good about the documentation, but also what you think could be improved, too.<p>atto is open source, so feel free to check out (and maybe star‽) the GitHub repo: <a href="https://github.com/James-Livesey/atto" rel="nofollow">https://github.com/James-Livesey/atto</a><p>There's also an official Twitter account (with a bot coming very soon™ — edit: it should all work now), so be sure to follow it for updates: <a href="https://twitter.com/codeurdreams" rel="nofollow">https://twitter.com/codeurdreams</a>
I dunno about anybody else, but I still read $ in my head as 'string'. Anyway, this is nice, not sure I can quite work out saving and loading, but there's enough here to be nostalgia- and kid-friendly.<p>I've been very impressed with Gambas if anyone's looking for a more mature BASIC environment on Linux or elsewhere:<p><a href="http://gambas.sourceforge.net/en/main.html" rel="nofollow">http://gambas.sourceforge.net/en/main.html</a><p>Bindings and UIs enough that it'd be a while before you really needed to break out into another language.
When opening in iOS I get this great thoughtful message:<p>atto can't run in this browser :(<p>Unfortunately, your browser doesn't support the features that are required to run atto. If you're on mobile, try using atto on a desktop computer. Otherwise, please use the latest version of Chrome or Firefox, which are known to work with atto.<p>If you're using Safari, then it's doubtful that Apple will ever implement the required features due to their constant reluctance to modernise their browser. If you work for Apple/are on the WebKit dev team, please implement lookbehind in regex so we can make atto work for everyone!
Something has gone terribly wrong with the keyboard-handling, half the time it misses a keystroke, or doubles a keystroke, or has very noticeable delay.<p>This is on Firefox. It doesn't seem to have those problems on Chrome.
I love it!<p><pre><code> * It's simple, really simple. No fluff.
* Help in RH margin still leaves enough room for the main event whilst being available
* The main interface is reminiscent of prior BASICs but has been modernised
* Is the cursor too cool ... ?
* Overall, it looks gorgeous and is a pleasure to use
</code></pre>
When you pick a Help path, there is a hyperlink "Guide" to return at the top but I think you need a really obvious Help navigation thing with buttons. You click a big coloured button to pick a Help path so a button should return you to the start. To be fair once you get it, the return links are tiny and unobtrusive.<p>If Help could be popped out into a new tab/window then that would make multi-screen use work well.<p>BASIC is a bit odd nowadays but it is all starting to come back. The "I've never" guide could do with how to delete a line (type the number and hit enter)<p>Great job.<p>(I still have my original C-64. It now has a USB interface!)
Is it only one feature that is missing in safari ? “ atto can't run in this browser :(<p>Unfortunately, your browser doesn't support the features that are required to run atto. If you're on mobile, try using atto on a desktop computer. Otherwise, please use the latest version of Chrome or Firefox, which are known to work with atto.<p>If you're using Safari, then it's doubtful that Apple will ever implement the required features due to their constant reluctance to modernise their browser. If you work for Apple/are on the WebKit dev team, please implement lookbehind in regex so we can make atto work for everyone!”
I really wish that you explained how to stop the execution. especially when you mentioned the "20 goto 10" example. Also, if possible, please support Ctrl+C to break too (maybe this isn't a good idea because it's used for copy-to-clipboard). I expected the editor works in a standard way (e.g. going back to the end of the previous line by hitting the left arrow at the beginning of a line) but it didn't, so a quick key binding table would be nice.
Thanks for sharing!
The only things you really need to implement in a browser BASIC are PRINT, GOTO, and FOR, because that is all anybody will type into it to try it out. (Some use GOTO, some FOR.)<p>I don't know the name for that sort of completeness.
It's nice that it has instructions, but nobody read the instruction. tl;dr: type "run" to run the program.<p><pre><code> 10 print "Hello, world!"
20 goto 10
run
</code></pre>
Also: What is the tech stack? Which basic version are you emulating?