Successfully reported this slideshow.

More Related Content

Related Books

Free with a 14 day trial from Scribd

See all

Related Audiobooks

Free with a 14 day trial from Scribd

See all

How Emacs changed my life

  1. 1. How Emacs changed my Life Yukihiro "Matz" Matsumoto @yukihiro_matz Powered by Rabbit 0.9.2
  2. 2.   1980 1/74 Powered by Rabbit 0.9.2
  3. 3.   I started programming 2/74 Powered by Rabbit 0.9.2
  4. 4.   3/74 Powered by Rabbit 0.9.2
  5. 5.   BASIC 4/74 Powered by Rabbit 0.9.2
  6. 6.   400 steps 5/74 Powered by Rabbit 0.9.2
  7. 7.   1988 6/74 Powered by Rabbit 0.9.2
  8. 8.   I met Emacs 7/74 Powered by Rabbit 0.9.2
  9. 9.   on Sun-3 8/74 Powered by Rabbit 0.9.2
  10. 10.   shared by 200 undergraduates 9/74 Powered by Rabbit 0.9.2
  11. 11.   I tried Emacs 10/74 Powered by Rabbit 0.9.2
  12. 12.   but I never used 11/74 Powered by Rabbit 0.9.2
  13. 13.   Emacs was prohibited 12/74 Powered by Rabbit 0.9.2
  14. 14.   It consumed too much precious memory 13/74 Powered by Rabbit 0.9.2
  15. 15.   We are free to download free software 14/74 Powered by Rabbit 0.9.2
  16. 16.   We are free to read the source code 15/74 Powered by Rabbit 0.9.2
  17. 17.   I downloaded Emacs source code 16/74 Powered by Rabbit 0.9.2
  18. 18.   and investigated 17/74 Powered by Rabbit 0.9.2
  19. 19.   Emacs was my first Lisp interpreter 18/74 Powered by Rabbit 0.9.2
  20. 20.   I learned a lot about language implementation from Emacs 19/74 Powered by Rabbit 0.9.2
  21. 21.   Embedding integers in pointers 20/74 Powered by Rabbit 0.9.2
  22. 22.   Mark and sweep garbage collection 21/74 Powered by Rabbit 0.9.2
  23. 23.   Calling convention between Lisp and C 22/74 Powered by Rabbit 0.9.2
  24. 24.   I really understood how Lisp work 23/74 Powered by Rabbit 0.9.2
  25. 25.   I was fascinated by Lisp objects 24/74 Powered by Rabbit 0.9.2
  26. 26.   Lisp objects implemented by C 25/74 Powered by Rabbit 0.9.2
  27. 27.   Then I got a Sparc Station 26/74 Powered by Rabbit 0.9.2
  28. 28.   I started to use Emacs 27/74 Powered by Rabbit 0.9.2
  29. 29.   Emacs become part of me 28/74 Powered by Rabbit 0.9.2
  30. 30.   If I didn't like anything in Emacs, I could change it 29/74 Powered by Rabbit 0.9.2
  31. 31.   Emacs is totally configurable 30/74 Powered by Rabbit 0.9.2
  32. 32.   Emacs made me realize anything can be changed by a programmer 31/74 Powered by Rabbit 0.9.2
  33. 33.   It is total freedom 32/74 Powered by Rabbit 0.9.2
  34. 34.   I could edit without thinking key binding 33/74 Powered by Rabbit 0.9.2
  35. 35.   I didn't want to write anything without Emacs 34/74 Powered by Rabbit 0.9.2
  36. 36.   Programs, Documents and Mails 35/74 Powered by Rabbit 0.9.2
  37. 37.   so I wrote my own mail client 36/74 Powered by Rabbit 0.9.2
  38. 38.   named "cmail" 37/74 Powered by Rabbit 0.9.2
  39. 39.   in Emacs lisp 38/74 Powered by Rabbit 0.9.2
  40. 40.   It was my first non-trivial (Emacs) Lisp program 39/74 Powered by Rabbit 0.9.2
  41. 41.   I used it everyday 40/74 Powered by Rabbit 0.9.2
  42. 42.   1993 41/74 Powered by Rabbit 0.9.2
  43. 43.   I started Ruby development 42/74 Powered by Rabbit 0.9.2
  44. 44.   with influence from Emacs implementation 43/74 Powered by Rabbit 0.9.2
  45. 45.   Integers are coded in tagged pointers 44/74 Powered by Rabbit 0.9.2
  46. 46.   It uses simple mark and sweep garbage collector 45/74 Powered by Rabbit 0.9.2
  47. 47.   It uses similar object model to Lisp 46/74 Powered by Rabbit 0.9.2
  48. 48.   Then I put Smalltalk-like OO system on top 47/74 Powered by Rabbit 0.9.2
  49. 49.   For syntax, I wanted Algol/Ada/ Eiffel like one 48/74 Powered by Rabbit 0.9.2
  50. 50.   But as an Emacs addict, I needed a language mode 49/74 Powered by Rabbit 0.9.2
  51. 51.   auto-indent was a must 50/74 Powered by Rabbit 0.9.2
  52. 52.   Back in 1993, there was no auto-indenting language mode for a language with such syntax 51/74 Powered by Rabbit 0.9.2
  53. 53.   So I tried to write experimental ruby-mode.el 52/74 Powered by Rabbit 0.9.2
  54. 54.   fighting with emacs lisp and regular expression, 53/74 Powered by Rabbit 0.9.2
  55. 55.   for almost whole week 54/74 Powered by Rabbit 0.9.2
  56. 56.   I somehow succeeded to implement auto-indentation 55/74 Powered by Rabbit 0.9.2
  57. 57.   for a language with "end" delimiters 56/74 Powered by Rabbit 0.9.2
  58. 58.   If I couldn't make ruby-mode to work 57/74 Powered by Rabbit 0.9.2
  59. 59.   the syntax of Ruby would have changed 58/74 Powered by Rabbit 0.9.2
  60. 60.   to more C-like one 59/74 Powered by Rabbit 0.9.2
  61. 61.   too similar to other scripting languages 60/74 Powered by Rabbit 0.9.2
  62. 62.   as a result, Ruby would not have gained current popularity 61/74 Powered by Rabbit 0.9.2
  63. 63.   Summary 62/74 Powered by Rabbit 0.9.2
  64. 64.   1. Emacs taught me freedom for software 63/74 Powered by Rabbit 0.9.2
  65. 65.   2. Emacs taught me how to read code 64/74 Powered by Rabbit 0.9.2
  66. 66.   3. Emacs taught me power of Lisp 65/74 Powered by Rabbit 0.9.2
  67. 67.   4. Emacs taught me how to implement a language core 66/74 Powered by Rabbit 0.9.2
  68. 68.   5. Emacs taught me how to implement a garbage collector 67/74 Powered by Rabbit 0.9.2
  69. 69.   6. Emacs helped me to code and debug 68/74 Powered by Rabbit 0.9.2
  70. 70.   7. Emacs helped me to write and edit text/mails/documents 69/74 Powered by Rabbit 0.9.2
  71. 71.   8. Emacs helped me to be a effective programmer 70/74 Powered by Rabbit 0.9.2
  72. 72.   9. Emacs made me a hacker 71/74 Powered by Rabbit 0.9.2
  73. 73.   10. Emacs has changed my life 72/74 Powered by Rabbit 0.9.2
  74. 74.   forever 73/74 Powered by Rabbit 0.9.2
  75. 75.   Thank you 74/74 Powered by Rabbit 0.9.2

×