Your SlideShare is downloading. ×
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
How Emacs changed my life
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

How Emacs changed my life

127,706

Published on

Published in: Technology, Self Improvement
15 Comments
197 Likes
Statistics
Notes
No Downloads
Views
Total Views
127,706
On Slideshare
0
From Embeds
0
Number of Embeds
30
Actions
Shares
0
Downloads
727
Comments
15
Likes
197
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×