Go, Next Java? No, Next 许式伟 2012-9-10. Go ,会成为下一个 Java 吗? 不。 Go 不是下一个 Java 。 认为 Go 是下一个 Java ,那是远远低估 Go 的能力。 Go 是下一个 C !

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

第五课 企业与劳动者 制作人:李学峰 年 07 月 07 日《财富》世界 500 强发布 61 家中国内地 企业上榜 =
程序设计基础 第 2 章 解题要有程序 主讲:吴献彩 Tel : QQ :
2.1 算法与程序 2.2 结构化程序设计方法简介 2.3 结构化程序的描述 2.4 简单程序分析.
C/C++ 程序设计 吉林财经大学 管理科学与信息工程学院 李艳东 : Tel :
實踐國中綜合活動. 我們的團隊 輔導 — 邱敏芳主任、洪穎馨組長、朱孝安組 長、徐維莉師、蔡嘉容師、蔡燕娟師 童軍 --- 蘇月琴團長、蔡盟玉師 家政 --- 阮雅倩師、李怡慧師、蔡佩瑩師.
第一章 餐饮服务程序 学习目的: 掌握餐饮服务四个基本环节的内容 正确表述和运用各种餐饮形式的服务程序 熟悉并利用所学知识灵活机动地为不同需求的 客人提供服务.
作文中如何叙事. 叙事的类型 生动叙事与概括叙事 青衣 生动叙事 那一次,我学会了坚强。 作为学生,最基本的尊严就是学习。作为男子汉,最基本的尊严就是维护自己学习上 的 “ 地位 ” ,如果有一天,你不幸尝到了 “ 名落孙山 ” 的滋味,你一定不可能全身而退。那 次考试,正赶上我感冒,虽然早有思想准备。站在成绩公布栏前,那种满怀期待、又有.
第一部分 NCRE 简介 1 、全国计算机等级考试( NCRE )的含义 全国计算机等级考试 (National Computer Rank Examination ,简称 NCRE) 是经原国 家教育委员会 ( 现教育部 ) 批准,由教育部考 试中心主办,用于考查应试人员计算机应用 知识与能力的等级水平考试。
股指期货的风险及防范.
推销自己是一种才华,是一种艺术。 有了这种才华, 你就能安身立命, 使自己处于不败之地。 卡耐基.
♥走馬瀨露營心得分享 二年七班 19號 鄭宜欣.
客家围龙屋 想知道梅州有哪些好吃好玩的吗?那接下来就让我带你去看吧!!GO。。。 梅州游乐篇.
产学研项目财务管理若干问题 鲁春艳
C语言程序设计 李伟光.
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
第一章 绪论.
“三生教育”专题 生命·生存·生活.
新竹二日遊 準備出發囉!!GO.
第七课 个人收入的分配 7.2收入分配与社会公平.
百度与广告法.
再發現 埔頂好樣「戀戀古橋」風華再現 (埔頂二號公園) 雇工購料實作成果 埔頂社區發展協會.
规范办学、内涵发展,提升教育水平 ----对基础教育发展的思考
择业与创业教育 主讲 赵文静.
Web Programming 網際網路程式設計
石家庄迅步网络科技有限公司 联系人:张会耀 电话:
寻觅节日诗情.
厝厝有玄機架構圖.
关注品德与生活课的 探究性学习和微课程的发展
社会新闻类材料作文示例.
--记西北工业大学8342班“残联行”社会实践公益活动
姓名:李韬 性别:男 年龄: 民族:汉 贯籍:湖南 政治面貌:党员 毕业院校:湖南师范大学美术学院 简介:
下载课件和相关资料请登录 “新浪·博客”搜索 “王大绩老师”博客.
主讲:江西财经职业学院傅文清 联系电话: 教学模式与课程教学设计 主讲:江西财经职业学院傅文清 联系电话:
----银行间的比较 论资本构成与充足率 淡 彩 的 黑 板 淡 彩 的 黑 板 金融73班 王艺霏 王 英
22 第 课 增强自我保护的意识和能力.
在课题探索中成长 东风东路小学 王洁华 全国红领巾示范学校 广东省一级学校
关注女职工劳动保护,维护女职工合法权益 ——《女职工劳动保护特别规定》解读
5.4 预测中的专家评估法 专家会议法 专家评估法 德尔菲法.
PPT课件中文字的设置 多媒体系列讲座 濉溪中学信息中心 2010年11月.
北京品御天景科技有限公司旗下户外纯玩旅游品牌
大学生如何进行职业生涯发展规划及有效应聘 厚积薄发
飛天小女警遊縣警局.
主題樂園的開發評估與規劃.
復興國中95學年度生涯檔案製作簡介.
第一讲 面向对象程序设计概论 苏州大学 计算机科学与技术学院.
題目: 如何舒緩學習壓力,引導學生適性發展以培育健全公民
课程概要 主讲人:刘 鸿.
第一章 線性方程組.
程序语言的现在和未来 孙志岗.
景景昌昌明.
複詞三胞胎(偏義複詞、同義複詞、反義複詞)
圖畫成語 Go !Go ! Go ! 遊戲說明.
第八課 郁離子選 (一)工之僑為琴 (二)詬食 劉基 課室觀察/黃慧禎老師/
水利绿色发展问题与建议 姜文来 中国农业科学院农业资源与农业区划研究所.
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
第1章 历史回顾与语言分类 说明程序设计语言的发展阶段,并列出每一个阶段出现的两到三种最重要语言。
導 論 教學投影片.
第1章 历史回顾与语言分类 说明程序设计语言的发展阶段,并列出每一个阶段出现的两到三种最重要语言。
Javascript 基础 面向非JS语言的开发人员.
公司名称 商业计划.
響應立法院親民黨團擴大舉辦向全民徵文 《若我有8800億,要怎麼改造台灣!?》
學生端 操作說明.
第1课 认识WPS文字处理软件 南充职业技术学院附中 任洪超
Go 语言编程 —— 平台研发部 吴植民.
WPS Office 酷 · 自由 DESIGNER:MING 2012年12月12日.
天澤堂兒童三色GO 高小級主日學 導師:李志誠 黃少華 2011年10月8日
方格紙上畫正方形.
作文教學--遊記篇 適用年級:五年級 教學者:鄭文娟老師.
程式設計與程式語言 告訴電腦做些什麼 第十六章.
Presentation transcript:

Go, Next Java? No, Next 许式伟

Go ,会成为下一个 Java 吗? 不。 Go 不是下一个 Java 。 认为 Go 是下一个 Java ,那是远远低估 Go 的能力。 Go 是下一个 C !

谁是最成功的语言? 1970 – 至今 – 什么语言是最成功的? C (1970) C++ (1979) Objective-C (1986) Java (1994) C# (2002) Go (2009)

Sourceforge 语言指数 (8 月 ) Rank NameShareLast month’s shareLast year’s share 1C17.507%16.769%17.445% 2Java16.987%19.576%15.002% 3Objective-C10.333%9.872%2.582% 4C %8.093%9.025% 5Basic7.283%7.611%6.302% 6Python4.370%3.759%3.531% 7PHP4.316%4.188%7.753% 8C#4.296%4.383%4.914% 9Perl2.312%2.102%6.025% 10Ruby1.691%1.656%1.809% 11JavaScript1.401%1.402%1.674% 12R1.377%1.281%1.389% 13Pascal1.119%1.125%0.993% 14D1.058%1.179%0.843% 15Ada0.955%0.923%0.999% 16Delphi0.765%0.749%1.076% 17Go0.733%0.786%0.714% 18Bourne shell0.720%0.745%0.130% 19Logo0.647%0.673%0.740% 20Fortran0.607%0.571%0.454%

C 是 40 年来最成功的语言 C 语言的黄金时间 – 1970 至今, >40 年,经久不衰 Java 语言的黄金时间 – 2000 至 2012 ,约 12 年,老态初显

Go, Next C! Go 语言要学习的是 C ,不是 Java – 多数的系统级语言包括 Java 、 C# ,其根本的编 程哲学来源于 C++ ,将 C++ 的面向对象进一步发 扬光大。 – 但是 Go 语言的作者们很清楚, C++ 真的没啥好 学的,他们要学的是 C 语言。 C 语言经久不衰的 根源是它足够简单。 Go 语言也要足够得简单。 Go ,互联网时代的 C ,下一个 C – 要再创 C 的辉煌

个人预测 2011 年 5 月 – 七牛云存储公司成立,选择了 Go 语言 – 我在团队内部说: Go 语言会是未来最流行的语言 Go 会超过 C 、 Java ,成为最流行的语言 – 2012 年 2 月:新浪微博 – 2012 年 3 月《 Go 语言编程》序 – 2012 年 4 月 QCon Beijing 在《 Go ,互联网时代的 C 语言》的讲座上

自我介绍 七牛 – 七牛云存储 CEO – 《 Go 语言编程》作者 盛大 – 盛大创新院资深研究员 – 盛大祥云计划(盛大云前身)发起人 – 盛大网盘发起人 百度 – 百度网页搜索 金山 – 金山软件技术总监 – WPS Office 2005 首席架构师 – 金山实验室发起人 研究云存储课题

进入主题 Why Go is Next C?

Go 至少领先其他语言 10 年 尽管是 40 年来出现的语言非常之多,各有 各的特色,让人眼花缭乱。但是我个人固 执地认为,谈得上突破了 C 语言思想,将 编程理念提高到一个新高度的,仅有 Go 语 言而已。 10 年后才会有语言试图去突破 Go 语言已经 达到的新高度。 – 不会是现有的任何语言,而会是一门新兴语言。

Go ,超越我的想象 Go 语言的各种语法特性显得那么深思熟虑、 卓绝不凡,其对软件系统架构的领悟,让 我深觉无法望其项背。 处处带给我惊喜的语言。

惊喜 1 :大道至简 基础哲学:继承自 C – 大道至简。 显式表达 – 任何封装都是有漏洞的。 – 最佳的表达方式就是最直白的表达方式。 – 不试图去做任何包装。 – 所写即所得的语言。 少就是指数级的多 – 最少特性原则。 – 如果一个功能不对解决任何问题有显著价值,那么 就不提供。

惊喜 2 :最对胃口的并行支持 我的并行编程历程 – Erlang – CERL 1.0 (Erlang 风格并行的模仿 ) – CERL 2.0 ( 对 Erlang 风格并行的修正 ) 后来发现, CERL 2.0 的并行编程理念,与 Go 完全一致。一个雏形版的 Go 。 – Go 语言 参考资料 – ECUG 2011 讲座 《从 Erlang 到 CERL 到 Golang 》 – 下一期程序员杂志 《云计算时代,我与 Go 语言难解的缘分》 – Collison 预言: Go 语言将在两年内制霸云计算领域! programming-lan programming-lan

惊喜 3 : interface 非侵入式接口 – 只要某个类型实现了接口要的方法,那么我们 说该类型实现了此接口。该类型的对象可赋值 给该接口。 – 任何 Go 语言的内置对象都可以赋值给空接口 interface{} 。 接口查询 – Windows COM 思想优雅呈现。

惊喜 4 :极度简化但完备的 OOP 废弃大量的 OOP 特性 – 如:继承、构造 / 析构函数、虚函数、函数重载、 默认参数等。 简化的符号访问权限控制 取消隐藏的 this 指针 – 改为显式定义的 receiver 对象。 OOP 编程核心价值原来如此简单 – 只是多数人都无法看透。

惊喜 5 :错误处理规范 函数多返回值 内置的 error 类型 defer 例子 f, err := os.Open(file) if err != nil {... // error processing return } defer f.Close()... // process file data

惊喜 6 :功能内聚 用组合实现继承 ( 包括虚拟继承 ) type Foo struct { // 继承 Base... } type Foo struct { // 虚拟继承 *Base... } 直达问题的本质,清晰易懂。

惊喜 7 :消除了堆与栈的边界 Go 语言里面你不需要关心,也并不清楚, 变量在堆上还是栈上。 与 Go 语言的显式表达并不矛盾 – Go 语言强调的是对开发者的程序逻辑(语义) 的显式表达,而非对计算机硬件结构的显式表 达。 – 对计算机硬件结构的高度抽象,将更有助于 Go 语言适应未来计算机硬件发展的变化。

惊喜 8 : C 语言的支持 Go 语言是除了 Objective-C 、 C++ 这两门以 兼容 C 为基础目标的语言外的所有语言中, 对 C 语言支持最友善的一个。 – 什么语言可以直接嵌入 C 代码?没有,除了 Go 。 – 什么语言可以无缝调用 C 函数?没有,除了 Go 。 对 C 语言的完美支持,是 Go 快速崛起的关 键支撑。

Go 语言当前状态 最适合服务端开发 – Go 语言的标准库最完善( for 服务端开发)。 不太适合桌面开发 – 没有桌面开发的基础组件 GDI UI 系统与事件处理

献给 给力的复旦学子 ^_^ 所有劳碌的 IT 程序猿 – 从此快乐编程!

Q & A 七牛云存储