
Oak: A more portable alternative to C, powered by Brainfuck-inspired technology - eterps
https://github.com/adam-mcdaniel/oakc
======
isoprophlex
> 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
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.

~~~
Tallasatree
I suspect he'll be figuring out more new and unique ways to serve us ads.

edit: and that's no knock on this kids skills / talents!

~~~
mofosyne
Then it's on us to make sure that society can provide opportunities beyond
putting the best minds of our generation into generating more clicks.

------
sreekotay
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
The best comparison is the popularity of forth in small resource-constrained
situations.

------
jfim
Not to be confused with Oak [0], the precursor of the Java programming
language.

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

~~~
k__
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.

~~~
masswerk
LiveScript _is_ JavaScript, "JavaScript" was just a rebranding in a joint Sun-
Netscape marketing effort, while other Netscape technology stuck to the
"Live…" naming scheme, as in LiveWire or LiveBridge. When there was still a
language attribute to script tags, "LiveScript" was happily accepted as a
synonym for "JavaScript" (or, rather, the other way round).

~~~
k__
I know. There are two LiveScripts.

------
jsd1982
> 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
Probably because floats can represent ints, but not the other way around?

------
jiofih
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
> 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.

~~~
steveklabnik
They _may_ be referring to the Windows MSVC target, where you have to install
the C++ build tools to get access to link.exe.

... that being said, if they distributed a binary, you wouldn’t need any of
that, too.

------
rsstack
I thought this was going to be a troll post that links to Ook:
[https://esolangs.org/wiki/ook](https://esolangs.org/wiki/ook)!

