Message from JavaScript discussions

November 2017

— I was surprised 2K-era devs (guys who only learned code like, after 2010) don't even know what a flyweight is

Message permanent page

— 

Not to mention the whole high-level revolution which pretty much means less people are learning low-level langs, and more people are using a language which is implemented on top of a pyramid of 3 other ones

— An object used over and over, generally mutated over and over without being replaced or duplicated

— Good example is sprites in Super Mario Brothers or something, where each "brick" tile isn't a seperate instance of an object, but rather one instance rendered with an offset over and over

Message permanent page

— Saves memory

— Not at all, now everyone is able to code easily

— High level langs are a 1:1 relation to resources

— Fit more in memory, more abstractions

— You wouldn't run Ruby or Java on an Arduino... but what if it had 8GB of RAM and a 3GHz processor

— But that's a problem too... abstraction fits into 2 categories (well, two main ones at least). Abstraction via convolution and abstraction via mux/demux

Message permanent page

— A lot of the time, people mistake convolution for abstracton, and you can run into badly designed libs/frameworks this way where it's easier to poke the innards of the thing than it is to use the provided interfaces

Message permanent page

— Like those asserts I wrote, that is abstraction via thunk mux/demux