3 ms·
There are some abstractions, like TCP sockets, that I don't think anyone would leave behind. But language abstractions like "classes" or even "functions" are ce
by javajosh 11y ago
There are some abstractions, like TCP sockets, that I don't think anyone would leave behind. But language abstractions like "classes" or even "functions" are certainly worth digging into. (The new lambda feature in Java 8 is an interesting case - you don't have to get into C to see the complexity there, but rather the bytecode, which is a kind of abstract sort of assembly.)
I'm not terribly familiar with the scene, but there are a variety of competitions for fun and art that operate within highly constrained environments. The demoscene[0], and computer golf[1], come to mind (although ironically computer golf is in some sense has to be very high level). There's also the security scene, which is quite bit-fiddly.
It's also the case that Go and particularly Rust are quite low-level system languages at their heart, so are presumably amenable to running in constrained environments.
[0] https://en.wikipedia.org/wiki/Demoscene https://en.wikipedia.org/wiki/Demoscene
[1] E.g. Rhoscript http://rhoscript.com/ http://rhoscript.com/
- kozak 11y agoCan you suggest some explanation of the lambda feature in byte code?
- javajosh 11y agoSure - read this gist from the bottom up: https://gist.github.com/javajosh/55339742aad2f1a1b881 https://gist.github.com/javajosh/55339742aad2f1a1b881 Be sure also to check out Brian Goetz's excellent "Lambdas under the covers" talk, linked in the gist.