Sunday, March 20, 2022

Why it Pays to Get Your Kids Into Coding Early

As Jason Calacanis finds out from uber prodigy Amjad Masad :

Learnt to code in 1993 when he was six years old! (Amjad Masad is from Jordan)

Why learn compilers :

I joined Yahoo! for my first job out of college, who'd just acquired a company in my hometown. As part of the acquisition, we were tasked with moving to the Yahoo! stack, and they were adamant about us using YUI instead of jQuery. The task fell on my lap, which felt like a crushing mountain of repetitive work.

Like any good (read: lazy) programmer, I decided to automate the task. The task was more intricate than simply a massive search and replace because you had to deal with many variations of names, formatting, and patterns. I'd been learning about compilers and ASTs, and I figured this was an excellent time to deploy my newfound skills.

First, I backfilled into YUI some jQuery-like to make the transition easier. Then I wrote a transformer that took in jQuery code and automatically translated the calls into YUI code.

A many-month project turned into a week project. My colleagues were dumbfounded when they saw the volume of patches flying out of my desk. This is the kind of leverage that compiler technology can give you.

______________________________________________

Here is what Carmack thinks an antifragile system might look like:

  1. You are working on a problem and you get an idea and with it the initial idea high
  2. You should instantly try to defeat your idea -- think of all the ways it could not work, test it out, put it under stress
  3. If the idea survive the brutal scrutiny then it has legs for further investigations or implementation
  4. If the idea is implemented and it works then that's great
  5. If the idea fails the scrutiny or implementation you can quickly move on to the next idea without feeling the lows because you haven't obsessed or talked about it i.e. it's not your pet idea.

No comments: