top | item 23955471

Oak: A more portable alternative to C, powered by Brainfuck-inspired technology

108 points| eterps | 5 years ago |github.com | reply

19 comments

order
[+] isoprophlex|5 years ago|reply
> About the Author

> I'm a freshly minted highschool graduate and freshman in college looking for work.

Jesus fuck that's impressive. At that age my mind was on being bad at skateboarding, casual arson and trolling pre-2000 online places

[+] Uptrenda|5 years ago|reply
Well said. His work seems to have some elegant ideas. Imagine what he will be doing when he's finished college. Some people are truly brilliant.
[+] mhh__|5 years ago|reply
I was working on a compiler for money during my first weeks of university (last year) and if I'm being honest it nearly ruined my entire year because I was completely on the back foot socially.

Combine that with a catastrophic sleep problem and you're in a rough time, in my case.

[+] sreekotay|5 years ago|reply
Excellent and fun project. Error handling seems light... especially at runtime, but for a toy, its cool. Hard to argue its more portable than C until it can self host though.
[+] Ericson2314|5 years ago|reply
The best comparison is the popularity of forth in small resource-constrained situations.
[+] jfim|5 years ago|reply
Not to be confused with Oak [0], the precursor of the Java programming language.

[0] https://en.m.wikipedia.org/wiki/Oak_(programming_language)

[+] k__|5 years ago|reply
Not to be confused with JavaScript, whoms percursor LiveScript should not be confused with LiveScript which was a successor of CoffeeScript, a Ruby inspired counterpart of JavaScript.
[+] jsd1982|5 years ago|reply
> Every instruction operates on a memory tape. This tape is essentially a static array of double-precision floats.

Why doubles? I would think integers are the more primitive type.

[+] undefuser|5 years ago|reply
Probably because floats can represent ints, but not the other way around?
[+] jiofih|5 years ago|reply
Having it written and distributed in Rust kind of defeats the whole “compact” sales pitch, as you now have to download a couple gigabytes to try it out...
[+] kroltan|5 years ago|reply
> you now have to download a couple gigabytes

You... don't?

Default installation size of the Rust toolchain is about 800mb extracted to disk, way less so of downloading.

Hardly an inordinate filesize for a development toolchain. For example, MSYS is 950mb just for the C++ toolchain. You might shave a lot on Linux thanks to package reuse, but "conceptually" it would be about the same size, just that in practice you start with some parts downloaded.