News for hackers. Stuff that matters.
Re:How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on th... by javajosh on Thursday June 18, 2015 @04:30AM (#9737400)
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

[1] E.g. Rhoscript http://rhoscript.com/

Re:How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on th... by kozak on Thursday June 18, 2015 @05:21AM (#9737529)
Can you suggest some explanation of the lambda feature in byte code?
Re:How Naughty Dog Fit Crash Bandicoot into 2MB of RAM on th... by javajosh on Thursday June 18, 2015 @01:05PM (#9740041)
Sure - read this gist from the bottom up: 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.