SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
HA
              PP
                 Y
                     CO
                        DI
                           NG




This is Ruby!
编程语言之于程序员
表达思想的工具

进行思想的方法

影响思想模式
编程语言可以执行程序任务
一个好的编程语言应该帮助程序员形成更
好的编程逻辑 .
Hello, Ruby!
class Application
{
  public static void main(String[] args)
  {
    System.out.println("Hello World!");
  }
}
puts "Hello World!"
import java.io.InputStreamReader;
import java.io.BufferedReader;
class Application
{
    public static void main(String[] args)
    {
        System.out.println("What is your name?");
        String name = "";
        InputStreamReader input = new InputStreamReader(System.in);
        BufferedReader reader = new BufferedReader(input);
        try
        {
              name = reader.readLine().trim();
        }
        catch(Exception e) { ; }
        System.out.println("Nice to meet you, " + name + '!');
    }
}
puts "What is your name?"
name = gets.chomp
puts "Nice to meet you, #{name}!"
a = 10
puts 'a is #{a}'
puts "a is #{a}"
# output:
# a is #{a}
# a is 10
More codes
Ruby 印象
● Ruby 是动态语言
● 简洁


● 贴近自然语言
松本行弘
Yukihiro Matsumoto(Matz)
            1993 年发明 Ruby
Ruby 是 作 为 一 门
令程序员快乐的语
言而设计的
“ 我觉得脚本语言是条正确的道路。


作为一个长期的面向对象编程的忠实拥护者,对我来说面向对象编程也
非常适合于脚本语言,所以我开始在网上搜寻。我发现了 Perl 5, 当时它
还没正式推出,正打算实现一些 OO 的特点,但是那不是我想要的,我最
终放弃了将 Perl 作为一个面向对象脚本语言的企图。


后来我发现了 Python, 它是一个解释型,面向对象的语言,但是我觉得
它不是一个“脚本”语言,除此之外,它还是一个包括了过程编程和面
向对象编程的混合型语言 。


我需要的是一个比 Perl 更强大,比 Python 更面向对象的语言,这就是
为什么我决定设计我自己的语言的原因。”
编程语言应该
不单让程序员
带来工资 ,
也要给他们带

乐趣 .
来
开始玩 Ruby
●   Http://tryruby.org
●   Http://ruby-lang.org
●   Http://railsinstaller.org
Ruby 的高生产率
理念
●   不要计较于字节、毫秒,优化的事情应该交给计
    算机去做
●   专注于你要解决的问题
●
    默认就有的实用方法和类
●   alias :不用纠结命名
●
    自动化工具
    ●   Rake
    ●   RubyGems
    ●   Bundler
    ●   ...
越少的代码


越少的 bug


越强大的程序员


越大的能量
_Why The Lucky Stiff
●   Ruby 程序员
●   20+ repo
●
    画家
Ruby for web
Ruby on Rails
模板引擎
●   Erb
●   Markdown 系 :Rdiscount 等
●   HAML
●   ...
SASS, SCSS
Sinatra
Sprockets
PDoc
Watchr
More on Github:
https://github.com/languages/Ruby
Oh,
●   Github 是用 Ruby on Rails 写的
●   几乎所有的 Ruby 项目都在 Github 上托管
这就是 Ruby
感谢聆听!
Q&A ( 如果还有时间的话)

Weitere ähnliche Inhalte

Ähnlich wie The ruby-way

The ruby-way
The ruby-wayThe ruby-way
The ruby-wayfangdeng
 
第1章 入门
第1章 入门第1章 入门
第1章 入门Runa Jiang
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby建興 王
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发Michael Yan
 
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨Wen-Tien Chang
 
使用Dsl改善软件设计
使用Dsl改善软件设计使用Dsl改善软件设计
使用Dsl改善软件设计mingjin
 
Rubyonrails(Chinese)
Rubyonrails(Chinese)Rubyonrails(Chinese)
Rubyonrails(Chinese)heisda
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺hydai
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺宗凡 楊
 
Golangintro
GolangintroGolangintro
Golangintro理 傅
 
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)Dahui Feng
 
Go for web
Go for webGo for web
Go for webWeng Wei
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojectsGeorge Ang
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source ProjectsGeorge Ang
 
用PY实现"Go元编程"
用PY实现"Go元编程"用PY实现"Go元编程"
用PY实现"Go元编程"Weng Wei
 
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VMCompiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VMLi Hsuan Hung
 
Go语言学习指南
Go语言学习指南Go语言学习指南
Go语言学习指南清平 张
 

Ähnlich wie The ruby-way (20)

The ruby-way
The ruby-wayThe ruby-way
The ruby-way
 
第1章 入门
第1章 入门第1章 入门
第1章 入门
 
從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby從 Java programmer 的觀點看 ruby
從 Java programmer 的觀點看 ruby
 
Grails敏捷项目开发
Grails敏捷项目开发Grails敏捷项目开发
Grails敏捷项目开发
 
⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨⼤語⾔模型 LLM 應⽤開發入⾨
⼤語⾔模型 LLM 應⽤開發入⾨
 
使用Dsl改善软件设计
使用Dsl改善软件设计使用Dsl改善软件设计
使用Dsl改善软件设计
 
Rubyonrails(Chinese)
Rubyonrails(Chinese)Rubyonrails(Chinese)
Rubyonrails(Chinese)
 
Go
GoGo
Go
 
COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺COSCUP2016 - LLVM框架、由淺入淺
COSCUP2016 - LLVM框架、由淺入淺
 
COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺COSCUP 2016 - LLVM 由淺入淺
COSCUP 2016 - LLVM 由淺入淺
 
Golangintro
GolangintroGolangintro
Golangintro
 
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)
尼古丁加咖啡因,不瞌睡的简报設計模式 (Caffeine+Nicotine)
 
Node分享 展烨
Node分享 展烨Node分享 展烨
Node分享 展烨
 
Ruby基础培训
Ruby基础培训Ruby基础培训
Ruby基础培训
 
Go for web
Go for webGo for web
Go for web
 
2006 recycle opensourceprojects
2006 recycle opensourceprojects2006 recycle opensourceprojects
2006 recycle opensourceprojects
 
Recycle Open Source Projects
Recycle Open Source ProjectsRecycle Open Source Projects
Recycle Open Source Projects
 
用PY实现"Go元编程"
用PY实现"Go元编程"用PY实现"Go元编程"
用PY实现"Go元编程"
 
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VMCompiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
Compiler for Dummy 一點都不深入的了解 Compiler, Interpreter 和 VM
 
Go语言学习指南
Go语言学习指南Go语言学习指南
Go语言学习指南
 

Mehr von fangdeng

jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构fangdeng
 
Building an event driven web
Building an event driven webBuilding an event driven web
Building an event driven webfangdeng
 
浅尝jQuery
浅尝jQuery浅尝jQuery
浅尝jQueryfangdeng
 
Html基础培训
Html基础培训Html基础培训
Html基础培训fangdeng
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Jsfangdeng
 
Javascript代码注释及文档生成
Javascript代码注释及文档生成Javascript代码注释及文档生成
Javascript代码注释及文档生成fangdeng
 
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架fangdeng
 
前端单元测试初体验
前端单元测试初体验前端单元测试初体验
前端单元测试初体验fangdeng
 
Java script测试之js unit ut
Java script测试之js unit utJava script测试之js unit ut
Java script测试之js unit utfangdeng
 
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖fangdeng
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考fangdeng
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考fangdeng
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计fangdeng
 
Varnish简介
Varnish简介Varnish简介
Varnish简介fangdeng
 
Let's talk about date in javascript
Let's talk about  date  in javascriptLet's talk about  date  in javascript
Let's talk about date in javascriptfangdeng
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-developfangdeng
 
方凳良品1期
方凳良品1期方凳良品1期
方凳良品1期fangdeng
 
方凳良品2期
方凳良品2期方凳良品2期
方凳良品2期fangdeng
 
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式fangdeng
 

Mehr von fangdeng (20)

jQuery底层架构
jQuery底层架构jQuery底层架构
jQuery底层架构
 
Building an event driven web
Building an event driven webBuilding an event driven web
Building an event driven web
 
浅尝jQuery
浅尝jQuery浅尝jQuery
浅尝jQuery
 
Html基础培训
Html基础培训Html基础培训
Html基础培训
 
前端开发之Js
前端开发之Js前端开发之Js
前端开发之Js
 
Javascript代码注释及文档生成
Javascript代码注释及文档生成Javascript代码注释及文档生成
Javascript代码注释及文档生成
 
J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架J engine -构建高性能、可监控的前端应用框架
J engine -构建高性能、可监控的前端应用框架
 
前端单元测试初体验
前端单元测试初体验前端单元测试初体验
前端单元测试初体验
 
Java script测试之js unit ut
Java script测试之js unit utJava script测试之js unit ut
Java script测试之js unit ut
 
2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖2011年方凳年度总结及颁奖
2011年方凳年度总结及颁奖
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考
 
产品线中的思考
产品线中的思考产品线中的思考
产品线中的思考
 
Postoffer前端架构设计
Postoffer前端架构设计Postoffer前端架构设计
Postoffer前端架构设计
 
Varnish简介
Varnish简介Varnish简介
Varnish简介
 
Websocket
WebsocketWebsocket
Websocket
 
Let's talk about date in javascript
Let's talk about  date  in javascriptLet's talk about  date  in javascript
Let's talk about date in javascript
 
Test driven-frontend-develop
Test driven-frontend-developTest driven-frontend-develop
Test driven-frontend-develop
 
方凳良品1期
方凳良品1期方凳良品1期
方凳良品1期
 
方凳良品2期
方凳良品2期方凳良品2期
方凳良品2期
 
魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式魏琪君-重构-关于可读性、原则和模式
魏琪君-重构-关于可读性、原则和模式
 

The ruby-way