• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Ruby 124C41+  - Matz
 

Ruby 124C41+ - Matz

on

  • 2,318 views

 

Statistics

Views

Total Views
2,318
Views on SlideShare
2,313
Embed Views
5

Actions

Likes
3
Downloads
19
Comments
0

1 Embed 5

http://www.slideshare.net 5

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Ruby 124C41+  - Matz Ruby 124C41+ - Matz Presentation Transcript

    • Ruby 124C41+ Yukihiro "Matz" Matsumoto まつもと ゆきひろ Powered by Rabbit 0.6.4
    • FAQ What's 124C41+? 1/54 Powered by Rabbit 0.6.4
    • Ralph 124C41+ A romance of the year 2660 2/54 Powered by Rabbit 0.6.4
    • Ralph 124C41+ ✓ The very early science fiction story ✓ In the year 2660, a genius inventor Ralph 124C41+ saves his girlfriend kidnapped by a bad Martian. 3/54 Powered by Rabbit 0.6.4
    • Ralph 124C41+ ✓ Written by Hugo Gernsback ✓ in 1911 ✓ Predicted a lot of modern inventions ✓ Television ✓ Solar power ✓ and lot more 4/54 Powered by Rabbit 0.6.4
    • Ralph 124C41+ Check Wikipedia 5/54 Powered by Rabbit 0.6.4
    • Ralph 124C41+ ✓ One to foresee for one ✓ means if we have enough input and insight, we can foresee the future. ✓ The future of Ruby 6/54 Powered by Rabbit 0.6.4
    • Ruby 124C41+ We try to foresee the future of Ruby the language 7/54 Powered by Rabbit 0.6.4
    • Moore's law The number of transistors in LSI doubles every 24 months 8/54 Powered by Rabbit 0.6.4
    • the CPU Moore's law means the power of CPU grows exponentially 9/54 Powered by Rabbit 0.6.4
    • Faster Computers PCs are faster than super computers of 20 years ago 10/54 Powered by Rabbit 0.6.4
    • Cheaper Computers We can buy a laptop PC at appliance stores for $400 or less 11/54 Powered by Rabbit 0.6.4
    • Cheaper Connection $50 or less for 100M optic fiber connection in Japan 12/54 Powered by Rabbit 0.6.4
    • Bigger Storage ✓ Bigger RAM ✓ Bigger HDD 13/54 Powered by Rabbit 0.6.4
    • The end of Clock grow 14/54 Powered by Rabbit 0.6.4
    • Many Cores ✓ Dual core ✓ Quad core ✓ Many core ✓ or even DC in a chip 15/54 Powered by Rabbit 0.6.4
    • Ubiquitous Computer Japanese cell phone from Panasonic 16/54 Powered by Rabbit 0.6.4
    • Hardware Trend ✓ Faster ✓ Cheaper ✓ More ubiquitous ✓ More cores 17/54 Powered by Rabbit 0.6.4
    • Software Trend ✓ hardware changes ✓ cause software changes 18/54 Powered by Rabbit 0.6.4
    • Runtime Efficiency ✓ Less important ✓ CPUs are fast 19/54 Powered by Rabbit 0.6.4
    • No More Assembler ✓ haven't heard lately? 20/54 Powered by Rabbit 0.6.4
    • Software Becomes ✓ More important ✓ More complex ✓ We just need more software 21/54 Powered by Rabbit 0.6.4
    • Abstraction ✓ Object-oriented programming ✓ Functional programming 22/54 Powered by Rabbit 0.6.4
    • Software Trend ✓ Runtime efficiency less important ✓ We can emphasize human factor ✓ More abstraction ✓ More confortable tools 23/54 Powered by Rabbit 0.6.4
    • Information Explosion ✓ We will produce 988 Exabytes in the year 2010 ✓ Bigger data than human kind have ever produced 24/54 Powered by Rabbit 0.6.4
    • Summary ✓ Machines are faster ✓ Connections are cheaper ✓ We need more software ✓ We have huge amount of data 25/54 Powered by Rabbit 0.6.4
    • Ruby in the Past ✓ back in 1993 ✓ mc68000 200MHz ✓ 200MB HDD ✓ BSD UNIX 26/54 Powered by Rabbit 0.6.4
    • The year 1993 ✓ C / C++ ✓ Windows 3.1 / SunOS / MacOS ✓ Perl4 / AWK ✓ No one use OOP in scripting 27/54 Powered by Rabbit 0.6.4
    • The year 1993 ✓ OOP fanboy ✓ Language geek ✓ UNIX hacker 28/54 Powered by Rabbit 0.6.4
    • OO Scripting ✓ Too slow ✓ Too complex ✓ Too much 29/54 Powered by Rabbit 0.6.4
    • No One Stopped Me ✓ Project started on February 24, 1993 ✓ The day I choose the name Ruby ✓ The name is so important for software ✓ one thing I regret Googlability 30/54 Powered by Rabbit 0.6.4
    • No One Stopped Me ✓ Took me 6 months for simple "hello world" ✓ that made me realized GC needs ✓ Released publicly December 21, 1995 31/54 Powered by Rabbit 0.6.4
    • Ruby the Language Ruby has proven ✓ OOP for scripting is useful ✓ OOP can be simple and easy ✓ Programming can be fun again 32/54 Powered by Rabbit 0.6.4
    • Extreme Language Design ✓ if OOP is good, make everything OOP ✓ if scripting is good, make everything scripting ✓ if DSL is good, make everything DSL 33/54 Powered by Rabbit 0.6.4
    • Extreme Language Design ✓ if higher order function is good, allow every method to be higher order function ✓ if mixin is good, disallow multiple inheritance 34/54 Powered by Rabbit 0.6.4
    • Background ✓ Machines are faster / cheaper / ubiquitous ✓ More cores ✓ Connections are cheaper 35/54 Powered by Rabbit 0.6.4
    • Background ✓ We need more software ✓ Productivity become more important ✓ We have huge amount of data (988 Exabytes) 36/54 Powered by Rabbit 0.6.4
    • Background ✓ Ruby focus on programmers ✓ Ruby focus on productivity ✓ Ruby tend to choose extreme design 37/54 Powered by Rabbit 0.6.4
    • The Future of Ruby What do you think? 38/54 Powered by Rabbit 0.6.4
    • The Future of Ruby Faster ✓ Multiple VM ✓ GC improvement ✓ JIT? 39/54 Powered by Rabbit 0.6.4
    • The Future of Ruby More Powerful ✓ Distributed programming ✓ dRuby / Rinda ✓ Message Queue ✓ faster IPC (messagepack) ✓ Multi-core aware (via MVM) 40/54 Powered by Rabbit 0.6.4
    • The Future of Ruby Broader ✓ small → embedding ✓ large → HPC 41/54 Powered by Rabbit 0.6.4
    • Embedding Smaller Implementation ✓ Alternative (not planned yet) ✓ Atomic Ruby 42/54 Powered by Rabbit 0.6.4
    • HPC High Performance Computing ✓ improve NArray (w/ libjit) ✓ MPI Ruby ✓ AOT compiler ✓ and other HPC stuff 43/54 Powered by Rabbit 0.6.4
    • The Future of Ruby More Modular ✓ Selector namespace ✓ classbox ✓ Traits 44/54 Powered by Rabbit 0.6.4
    • Selector Namespace ✓ limit the effectiveness of name overriding ✓ scoped mathn, for example 45/54 Powered by Rabbit 0.6.4
    • Traits ✓ Operational combination of features (methods) ✓ module operation +, - 46/54 Powered by Rabbit 0.6.4
    • The Future of Ruby More Functional ✓ Explicit lazy evaluation ✓ Enumerator as Lazy List 47/54 Powered by Rabbit 0.6.4
    • Functional Ruby explict vs implicit ✓ obj.foo vs obj.method(:foo) ✓ foo() vs foo.call() ✓ or foo[] or foo.() 48/54 Powered by Rabbit 0.6.4
    • Functional Ruby explict vs implicit ✓ (take 10 (lines f)) vs f.each.take(10) ✓ not f.lines.take(10) 49/54 Powered by Rabbit 0.6.4
    • Functional Ruby (to be) ✓ map etc. do not work for infinite enumerable ✓ mapx (assumed name) would return enumerator 50/54 Powered by Rabbit 0.6.4
    • The Future of Ruby ✓ Faster ✓ More powerful ✓ Broader ✓ More modular ✓ More functional 51/54 Powered by Rabbit 0.6.4
    • The Future of Ruby ✓ We will keep moving forward ✓ Stay tuned 52/54 Powered by Rabbit 0.6.4
    • We need you ✓ Help us ✓ Let's make Ruby even better! ✓ See you at ruby-core 53/54 Powered by Rabbit 0.6.4
    • Make the World Better Thank you 54/54 Powered by Rabbit 0.6.4