Live data from Hacker News

The 1987 game “The Last Ninja” was 40 kilobytes

twitter.com

181–190 of 199 posts

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#181
post #89
post #77

Earlier quoted context omitted.

Compare Limbo+Tk under Inferno with current C#/Java. Or C++ against Plan9C. We have impressive CPU's running really crappy software. Remember Claude Code asking 66GB for a damn CLI AI agent for something NetBSD under a Vax (real or physical) from 1978 could do with NCurses in miliseconds every time you spawn Nethack or any other NCurses tool/game. On speed, Forth for the ACE was faster than Basic running under the ZX…

Most dialects of BASIC actually had functions too. They just weren’t popularised because line numbers were still essential for line editing on home micros. > On speed, Forth for the ACE was faster than Basic running under the ZX80. So, it wasn't about using a text-parsed language. Forth and BASIC are completely different languages and you’re arguing a different point to the one I made too. Also I don’t see much value…

You could get structured basic when using CP/M.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#182

Earlier quoted context omitted.

> You cite inefficiencies. That’s not what I said. I said you’re trading memory footprint for CPU footprint. This is the correct way to design a demo but absolutely the wrong way to design a desktop application. They are marvels, I agree. But, and as I said before, there’s no such things as a free lunch. at risk of stating the obvious; If there wasn’t a trade off to be made then all software would be written that way…

You’re not entirely right or wrong. Memory access is frequently a bottleneck on modern CPUs, so reducing memory footprint can often be a time and space optimization. More importantly, unlike demos, production code is often optimized for interrelated factors of development cost, maintainability, and the use of familiar or popular tools and techniques over runtime efficiency.

> Memory access is frequently a bottleneck on modern CPUs,

Memory access has always been a bottleneck, even in the 90s. That’s why CPUs have cache on the die.

But the difference between RAM and cache is completely irrelevant here because hot paths (ie where youd actually notice the difference as a user) should be small enough to fit inside the CPU cache anyway.

> More importantly, unlike demos, production code is often optimized for interrelated factors of development cost, maintainability, and the use of familiar or popular tools and techniques over runtime efficiency.

Which is still a trade off and a point I’ve also made repeatedly in this discussion.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#183
post #180
post #55

Earlier quoted context omitted.

BASIC was slow in the 80s. Games for the C64 (and similar machines) were written in machine code. > By comparison, giving how they optimized the games for 8 and 16 bit machines I should have been able to compile Cataclysm DDA:BN under my potato netbook and yet it needs GIGABYTES of RAM to compile, it crazy that you need damn swap for something it required far less RAM 15 years ago for the same features. That’s not cr…

Some BASIC was slow, Darthmouth BASIC was compiled to machine code before execution, and to make it fit as the machine shell on 8 bit computers, the only option available on ROM was an interpreter. Machines using CP/M had BASIC compilers available, and professional devs had the option to buy BASIC compilers for 8 and 16 bit home computers, when the 16 bit home computers came to be, BASIC compilers became common again…

I’m aware you can compile BASIC but we aren’t talking about those systems. We are talking specifically about the ones which you just admitted were slow.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#184
post #181
post #89

Earlier quoted context omitted.

Most dialects of BASIC actually had functions too. They just weren’t popularised because line numbers were still essential for line editing on home micros. > On speed, Forth for the ACE was faster than Basic running under the ZX80. So, it wasn't about using a text-parsed language. Forth and BASIC are completely different languages and you’re arguing a different point to the one I made too. Also I don’t see much value…

You could get structured basic when using CP/M.

Again, even the crappy ROM versions on 8bit micros supported structured execution flow and functions.

Just because it wasn’t a commonly known feature doesn’t mean it wasn’t supported.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#185
post #179
post #32

Earlier quoted context omitted.

Sure, if you don’t count safety features like memory management, crash handling, automatic bounds checks and encryption cyphers; as anything useful. I do completely agree that there is a lot of waste in modern software. But equally there is also a lot more that has to be included in modern software that wasn’t ever a concern in the 80s. Networking stacks, safety checks, encryption stacks, etc all contribute massively…

We had safer programming languages fitting into 640 KB with MS-DOS, which is why I keep repeating youngsters don't get how much they can do with an ESP32.

Yes, we all know you can get safer languages than C. But that isn’t what we are discussing here.

Also 640KB is 2 orders of magnitude greater than the ROM size for BASIC on those old 8bit micros, which is the benchmark we’re supposedly working to.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#187
post #181

Earlier quoted context omitted.

You could get structured basic when using CP/M.

Again, even the crappy ROM versions on 8bit micros supported structured execution flow and functions. Just because it wasn’t a commonly known feature doesn’t mean it wasn’t supported.

Which one? C64 and Speccy not really, they were unstructured, and functions were one liners.

Re: The 1987 game “The Last Ninja” was 40 kilobytes

#188

Earlier quoted context omitted.

Programming these days, in some realms, is a lot like shopping for food - some people just take the box off the shelf, don't bother with reading the ingredients, throw it in with some heat and fluid and serve it up as a 3-star meal. Others carefully select the ingredients, construct the parts they don't already have, spend the time to get the temperatures and oxygenation aligned, and then sit down to a humble meal fo…

[flagged]

You speak like a butthurt kiddo who doesn't like to be reminded that there were, actually, good practices before you came along and denigrated them with your own condescending dribble. OP is correct in pointing out that the bloat is all our fault. So fix it.
Post reply on HN