Whether it’s a form of note-taking or regular repetition or the like, what are some self-education techniques and tools you’ve developed to help yourself learn on your own?

It’s always interesting imo to read about how some folks teach themselves different stuff.

  • fubo@lemmy.world
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    3 years ago

    For programming languages, it helps to find a task that actually fits the language well.

    I learned Python as a junior sysadmin in the early 2000s specifically because it was the best language for plugging together different Internet services. The senior sysadmin on my team had written a piece of code in Python to migrate users from one email server to another, by connecting with IMAP to each server and transferring their mail. I needed to maintain this code, so I studied up on Python specifically focusing on the email libraries.

    I was coming from Perl, which was the best language at the time for certain sysadmin tasks (like logs analysis). But Python’s built-in libraries made it really easy to work with email servers, web servers, and so on. One language feature I really appreciated was the exception system, where many errors that might pass unchecked in C or Perl (and produce unpredictable behavior later) would instead crash the program with a useful diagnostic message.

    I learned Haskell several years later because I’d gone to work in Silicon Valley and all the cool CS nerds were into Haskell. I didn’t find a task that actually needed it until I found myself working on a problem that involved both text parsing and combinatorics. You need to express math facts about trees of strings? Haskell is the right tool for the job.

    I’d learned elementary C in high school, but I’m not sure I really got C until I had picked up an electronics hobby in my 30s and built myself a blinky bike light controlled by an AVR microcontroller. C on an 8-bit Harvard-architecture machine is way different from C on i386 or x86_64 Linux.