The Jacob’s Ladder of coding — Karsten Schmidt

Karsten Schmidt: anecdotes and questions about climbing up and down the ladder of abstraction: Atari, ARM, demoscene, education, creative coding, community, seeking lightness, enlightenment & strange languages.

Everything in computing has a cost, either in space, time or energy. Yes, higher level (more abstract) languages like Javascript or Python allow for shorter dev cycles, but these savings come with other costs in terms of lack of understanding, loss of direct hardware control, more tooling needed, slower runtime, magnitudes more resources (support code, memory, clock speed, virtual machines, interpreters etc.) and therefore overall higher energy demands too. The extra layers between the code we write and its final result can also become an hindrance when debugging. Furthermore, it’s a fallacy to assume that one’s Javascript knowledge from working with web browsers is directly transferrable to microprocessors, which often require a very different model of programming for anything more than just reading a sensor or flashing an LED. Whereas these days we can mostly ignore these incurred costs on desktops and in the cloud, for embedded devices we still should to be paying more attention, not only because their CPUs are still largely timed in MHz rather than GHz, but also because of physics — more efficient code, less resources needed (smaller, lower powered chips), longer battery life, less waste. This stuff matters, or rather it should matter more, especially if we’re supposedly going to spill them by the billions into the environment over the coming years. Also from the hardware manufacturers’ side, these considerations are being taken seriously with many available options to dynamically control power consumption. So why not in software then too?

Sorry, this is Members Only content. Please Log-in.

Join us today by becoming a Member.

  • Archive: More than 3,500 project profiles, scores of essays, interviews and reviews.
  • Publish: Post your projects, events, announcements.
  • No Ads: No advertisements, miners, banners.
  • Education: Tutorials (beginners and advanced) with code examples, downloads.
  • Jobs Archive: Find employers who have recruited here in the past (over 800 jobs).
  • Discounts: Special offers and giveaways (events, books and media).

Become a Member