Time to break out the assembler? (14 Jan, 2020)

Have your say on today's Aardvark Daily column

Time to break out the assembler? (14 Jan, 2020)

Postby aardvark_admin » Tue Jan 14, 2020 4:59 am

This column is archived at: https://aardvark.co.nz/daily/2020/0114.shtml

Will we be forced to go back to older strategies once our computer hardware hits the hard wall imposed by the laws of physics?

Might there suddenly be a renewed demand for those with assembly-coding skills?

Or will AI come to our rescue and could "the next big thing" be AI-based optimisation systems that take a programmer's code and turn it into a far more efficient system that can talk to the bare metal and thus significantly boost performance?

Who remembers the days when almost all serious code was written in assembly or at least a relatively low-level language like C and then converted into native machine code for the platform of choice?
Site Admin
Posts: 4506
Joined: Wed May 07, 2014 2:10 pm

Re: Time to break out the assembler? (14 Jan, 2020)

Postby goosemoose » Tue Jan 14, 2020 7:25 am

I can't imagine a return to writing assembler. The last time I wrote in assembly would've been in the 90's, Intel 286 and a miniscule bit of IBM System 390. The lowest I'd probably go is C. That'll do nicely enough. I'm not sure the trade off of time to go live with assembly code as opposed to speed of running would be worth it. It may well be for single board computers or specialist niches but in the real world maybe not so much.

Don't get me wrong, assembler is pretty cool and a bit fun. Recently gone a bit retro and I'm playing with Z80 emulators. Also got out my Programming the Z80 by Rodney Zaks for a bit light evening reading!
Posts: 724
Joined: Thu May 08, 2014 1:05 pm

Re: Time to break out the assembler? (14 Jan, 2020)

Postby hagfish » Tue Jan 14, 2020 7:40 am

MS Word on my computer has an installed size of 2.1GB. There's absolutely no way I can account for that - it can't all be easter egg photos of the devs' cats!

One area where software still pushes hardware is games development. Many games have lots going on all at once, and it all needs to be accounted for, many times per second. One game in particular is Factorio. The dev team behind this game are superb coders, and have turned the process of building, optimising, and bug-squashing into something akin to an art form. They've faithfully kept a weekly blog during the years of development, and many of the posts offer a fascinating insight into the processes behind the game. Lots of these deep delves go over my head, but they have certainly come up against the limits of scripting languages, memory managers, and even hardware encoding - they once tracked down a bug associated with an AMD Ryzen chipset BIOS. I wish Adobe took their software development process this seriously! One particularly helpful breakthrough (for me) was when they worked out how to compress their 4GB of textures so that they would run on a graphics chipset with only 1GB of VRAM. Not many games dev studios care this much. The result is a game that can have thousands of entities at work, each being updated 60 times per second, running buttery smooth on relatively modest hardware.

The next step for them could be to code more directly for the hardware, but I expect it would limit the variety of machines the game would run on. This is fine for console games, but not so much for PC games. Also, the scripting language they use is relatively accessible, so there's a large modding community behind the game creating their own tweaks and variants.
Posts: 851
Joined: Thu May 08, 2014 10:28 am

Return to Today's column

Who is online

Users browsing this forum: No registered users and 6 guests