I'm still amazed how small the Godot editor is (last time I checked it was ~25MB). Just how are they able to pack this much functionality into such little space?
In the late 80s I was impressed by a full Wordstar compatible text editor for Turbo Pascal which only occupied 25K (including the compiler). Times have indeed changed.
I'm sorry if this sounds like I'm making fun of your Emacs install (I don't mean to) but how does this happen? Like, what is that when does it load all of that and how much memory/time does it take? I'm genuinely curious.
Well, we should be impressed with 25MB for a decent game editor since the other players like Unity and Unreal Engine are probably around 25GB. It's also a fraction of Slack or Chrome or even the Rust compiler I believe.
The Chromium package on Arch Linux is around 68MB. The Electron runtime is a surprisingly reasonable size. Interestingly, the Go package is over 110MB. Rust is larger.
1 order of magnitude in 40 years? Doesn't seem a lot, but if applies exponentially would mean we will have some IDE in 2060 that's 25GB and someone will find it impressive. That's a lot of bytes for an editor.
1024 (2^10) is ~10^3 (I know switching bases!) vs say 10 (10^1), so two orders of magnitude larger in general. A gig 10^9 would be many orders of magnitude. An order of magnitude is generally a jump to the next power of 10. So 10 (10^1) is an order of magnitude larger than 1 (10^0) as 100 (10^2) is to 10 (10^1), and so on. People frequently misuse the term when speaking in technical terms. When the average person uses it to denote a big jump, I let it go - usually ;)
If you stick with base 2 I guess you could say many orders of magnitude (2^32 = 4,294,967,296 vs 2^8 = 256, or 24 orders of magnitude?).
Why? The common base is 10, and "orders of magnitude" is normally based on 10X between orders here. Ten fingers, decimal system, etc. Don't bring up metric vs. Imperial ;)
I work at an engineering firm, and that's how most engineers understand it.
:) Before I read the link, I was thinking about a text editor I would keep on my rescue floppy disks. The method of distribution was typing the assembly out of the November 15, 1988 edition of PC Magazine.
She's not as small as she used to be (Currently sitting at 61.1MB and has been over 30MB since 3.0) but to put that in perspective, that's smaller than the binaries for Half-Life 2 and even Half-Life 1.
The release binary is even smaller at 33.5MB!
Because some developers and project managers like, tolerate or even encourage complexity. I've read this comment on hackernews once about it, and it seems to be true.
There is Wirth's law ("software is getting slower more rapidly than hardware is becoming faster").
Generally, developers don't like performance, for some weird reason. The 97% Knuth quote might have played a major role, unfortunately it doesn't apply to game development at all. It's always a compromise between speed and code size.
For the rest, too many developers are not educated about electronics or physics, and often disregard important topics like memory management and data structures. But computer science always is complex. The generalization of garbage collected languages is also a big problem (see Minecraft)
Another problem is the lack of discipline and OSHA-like regulations in software development. The software industry is too anarchic and liberal-minded (Silicon Valley-style venture capitalism has a lot to do with this). It results in a lot of work being easily thrown away.
Well, if you had massive dependencies you'd probably look at consuming them as shared libraries making your binary smaller than if you rolled your own solution, right?
The fact that the Godot editor includes the Godot runtime along with its own UI- and graphics stack (if I'm not mistaken?) in such a small bundle makes this even more impressive to me.