How Emacs changed my life

137,469 views
136,980 views

Published on

Published in: Technology, Self Improvement
16 Comments
211 Likes
Statistics
Notes
No Downloads
Views
Total views
137,469
On SlideShare
0
From Embeds
0
Number of Embeds
14,349
Actions
Shares
0
Downloads
763
Comments
16
Likes
211
Embeds 0
No embeds

No notes for slide

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 didnt like anything inEmacs, 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 realizeanything 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 didnt 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 andsweep 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 toimplement 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 couldnt 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 nothave 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 toimplement a language core 66/74 Powered by Rabbit 0.9.2
  68. 68.   5. Emacs taught me how toimplement 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 writeand 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

×