How Emacs influenced Ruby

Ruby creator Yukihiro Matsumoto gave a presentation How Emacs changed my Life in which he explains how Emacs influenced him personally and how it influenced the programming language he created. Here is his summary:

  1. Emacs taught me freedom for software.
  2. Emacs taught me how to code.
  3. Emacs taught me the power of Lisp.
  4. Emacs taught me how to implement a core language.
  5. Emacs taught me how to implement a garbage collector.
  6. Emacs helped me to code and debug.
  7. Emacs helped me to write and edit text/mails/documents.
  8. Emacs helped me to be an effective programmer.
  9. Emacs made me a hacker.
  10. Emacs has changed my life.
Tagged with: , ,
Posted in Software development
7 comments on “How Emacs influenced Ruby
  1. TJIC says:

    I guess it’s not surprising that Emacs is my favorite editor and Ruby is my favorite language – seems they share a deep spirit!

  2. vemv says:

    The editable editor. It’s just raw power.

  3. Tavis Rudd says:

    I suspect Emacs is harder to quit than most opiates. I developed a case of Emacs-pinkie so bad my hands would go numb. I couldn’t type for over a month but my craving for it was so strong I used that time figuring out how to control it by voice instead.

  4. EMACS taught him how to write a garbage collector? If I start scratching my head over that one, I’ll never stop. But evidently it didn’t also teach him why [not] to write a garbage collector.

  5. Matthew Wyatt says:

    Can anybody with more familiarity with the emacs source help me understand what Matz meant by slide 21 (regarding emacs lisp) “Embedding integers in pointers” or slide 45 (regarding Ruby) “Integers are coded in tagged pointers”? I have no idea why somebody would store an integer in a pointer, or even what that would mean. I don’t see any likely file names ending in .c, and I know better than to grep for “int” in a directory full of C files where I could look for this. Any help is appreciated!

  6. Matthew Wyatt says:

    Also, how can a well-maintained project like Emacs have mixed tabs and spaces ?

  7. Eamonn Webster says:

    Matthew, If pointers only refer to even addresses then odd pointers can be used to store int by right shifting to loose the least significant bit. Look up the docs on writing native extensions to ruby.
    As to whether the eye opener was this trick itself or the fact that such tricks could be played I don’t know.

1 Pings/Trackbacks for "How Emacs influenced Ruby"
  1. [...] How Emacs influenced Ruby (johndcook.com) [...]