I made a similar tutorial for RSA and DH in Easylang—a learning and teaching programming language I developed myself. What makes things a bit difficult is that Easylang doesn't support big numbers.
The physics in the simulation was faulty, that should be better now. Of course there are less collisions in 3D than in 2D. And this catapulting of stars is also an artifact in the discrete computer simulation
@design choices: The graphic primitives built into the language - this is not useful for a general purpose language - but in beginner language this is an important motivating factor.
The aim is to offer beginners a simple and interesting entry into programming. IMO there is an unoccupied niche for this between Scratch and Python. In the days of home computer BASIC, it was easier to learn programming - you switched on the computer and with a few lines of BASIC code you could magically create a nice sine wave on the screen. Nowadays, beginners are often overwhelmed by all the complexity.
It shouldn't be that complicated. I tried it once with gravity and without limits on the edges. The cluster of stars moved around in 2d space and stars were repeatedly catapulted out, which then disappeared. Maybe you need a super gravity (black hole) in the center to keep it stable.
Hello author here. I'm a little surprised to see this on the front page of Hacker News. This is just a simple demo for my educational programming language Easylang. You can easily edit the code and increase the particle count for example. In the IDE you can then create a link with the code embedded in the URL.
I find the article a little confusing. IMHO the point is that you must NEVER reuse an XOR key sequence for stream cipher encryption. With RC4, this meant that you could never use the same key. With modern stream ciphers there is the nonce for this - the CTR mode of a block cipher is also a stream cipher. (GCM mode is just an extension of CTR mode for authentication).
I've put together a little online demo tutorial (in my teaching and learning programming language).
Today's computers no longer boot into BBC BASIC - the barriers to entry have become higher.
A Lisp-like language would be easier to implement than a BASIC-like one - but is probably too unfamiliar for beginners.
Update: I have read through your post again. Yes, macros or basic functions can make a lot of things easier for beginners - I once did something like that with Java. But the language and especially the environment is still not beginner-friendly, for example when the first confusing error messages appear.
I suspect that the browser still has the old page saved in the cache. Can you please check this again? The browser should load the current version with this link.
I think it's more intuitive this way. When you draw a rectangle, you start with a corner point and then draw the width and height. With a circle, you go to the center and then draw it with a radius.
Thank you very much for this feedback. On the desktop and under IOS there is the Enter key, on Android there is really only this Next key - weird. I'll have to sort it out.
Update: Now there should be an Enter key instead of the Next key.
Are you sure? On a mobile device, it's easy to overlook pressing the enter key. Unfortunately, I can't do it much differently because, as far as I know, you can't reliably detect when the on-screen keyboard is closed.