几天之前,Chris Lattner 在 Swift 邮件列表中宣布将离开苹果,加入特斯拉担任自动驾驶软件主管引发广泛关注。Lattner 已经在苹果工作超过10年,被认为是苹果公司的灵魂人物。
根据开发者朋友透露,苹果 Swift 编程语言和 Xcode 主管 Chris Lattner 离开公司是因为他对苹果公司的保密文化感到失望。根据 BI 消息,Lattner 认为苹果对保密性的极端追求令人疲乏,尤其是他在苹果的工作还是创造开源开发工具,包括 Swift 编程语言。由于他在苹果工作,他可以公开谈论的内容非常受限,这令他很失望。

但是 Chris Lattner 本人在 Twitter 否认了这一说法,他在 Twitter 中说:“My decision has nothing to do with 'openness', the 'friend' cited is either fabricated or speculating. Folk just want to make APPLE look bad."(我的决定与“opennes”无关,所谓的“朋友”的引述是制造或推测的,只是想让苹果看起来不好。)

引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
引用来自“eechen”的评论
$db = new PDO('sqlite:'.$file);$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
引用来自“鳄鱼的眼泪”的评论
谁知道你的$app是啥玩意?这就是弱类型的“好处”,只让自己明白自己变量的意头,让别人瞎猜。MyWebAplication $app = new MyWebAplication (
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
多谢几个字符,也没见有啥痛点
引用来自“eechen”的评论
MyWebAplication?类?谁跟你说$app成员是固定的?这个全局的应用数组后期说不定就得加入一个$redis连接或其他资源.
就像Windows的注册表,你根本不知道后期会安装写什么程序,会写入什么注册条目.
引用来自“鳄鱼的眼泪”的评论
静态语言又不是没有map这种类型!只有多参与几个大型项目,才明白静态类型语言的优点。项目重构完胜动态类型语言。
再说动态语言向静态语言进化是大势。
引用来自“eechen”的评论
那你就说说强类型语言如Java用什么样的map能存储我上面提到的这种可能包含各种类型组成的PHP数组呀?C是强类型,C实现的PHP是弱类型.
苹果的Swift也不需要声明类型.
所以,语言到底是在向哪个方向发展呢?
明显弱类型更简单,更讨好上层应用开发者.
指针操作,类型操作还是交给C这门久经考验的底层语言来操纵吧.
"苹果的Swift也不需要声明类型." => Swift不需要声明类型并不代表Swift是弱类型,只是在可推断出类型的情况下,Swift可以选择省略类型声明而已,同样的C#,C++11,Scala,Go,Rust都支持这样的特性,但这些语言全部是强类型语言。
至于第一个问题,明显的Map<object, object>就可以嘛,虽然也失去了类型信息。。。
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
引用来自“eechen”的评论
$db = new PDO('sqlite:'.$file);$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
引用来自“鳄鱼的眼泪”的评论
谁知道你的$app是啥玩意?这就是弱类型的“好处”,只让自己明白自己变量的意头,让别人瞎猜。MyWebAplication $app = new MyWebAplication (
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
多谢几个字符,也没见有啥痛点
引用来自“eechen”的评论
MyWebAplication?类?谁跟你说$app成员是固定的?这个全局的应用数组后期说不定就得加入一个$redis连接或其他资源.
就像Windows的注册表,你根本不知道后期会安装写什么程序,会写入什么注册条目.
引用来自“鳄鱼的眼泪”的评论
静态语言又不是没有map这种类型!只有多参与几个大型项目,才明白静态类型语言的优点。项目重构完胜动态类型语言。
再说动态语言向静态语言进化是大势。
C是强类型,C实现的PHP是弱类型.
苹果的Swift也不需要声明类型.
所以,语言到底是在向哪个方向发展呢?
明显弱类型更简单,更讨好上层应用开发者.
指针操作,类型操作还是交给C这门久经考验的底层语言来操纵吧.
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
引用来自“eechen”的评论
$db = new PDO('sqlite:'.$file);$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
引用来自“鳄鱼的眼泪”的评论
谁知道你的$app是啥玩意?这就是弱类型的“好处”,只让自己明白自己变量的意头,让别人瞎猜。MyWebAplication $app = new MyWebAplication (
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
多谢几个字符,也没见有啥痛点
引用来自“eechen”的评论
MyWebAplication?类?谁跟你说$app成员是固定的?这个全局的应用数组后期说不定就得加入一个$redis连接或其他资源.
就像Windows的注册表,你根本不知道后期会安装写什么程序,会写入什么注册条目.
只有多参与几个大型项目,才明白静态类型语言的优点。项目重构完胜动态类型语言。
再说动态语言向静态语言进化是大势。
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
引用来自“eechen”的评论
$db = new PDO('sqlite:'.$file);$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
引用来自“鳄鱼的眼泪”的评论
谁知道你的$app是啥玩意?这就是弱类型的“好处”,只让自己明白自己变量的意头,让别人瞎猜。MyWebAplication $app = new MyWebAplication (
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
多谢几个字符,也没见有啥痛点
这个全局的应用数组后期说不定就得加入一个$redis连接或其他资源.
就像Windows的注册表,你根本不知道后期会安装写什么程序,会写入什么注册条目.
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
引用来自“eechen”的评论
$db = new PDO('sqlite:'.$file);$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
MyWebAplication $app = new MyWebAplication (
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
多谢几个字符,也没见有啥痛点
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!引用来自“鳄鱼的眼泪”的评论
只有傻逼才会享受弱类型语言的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
$app = array(
'version' => '7.1.0',
'date' => 20170114,
'db' => $db,
'foo' => function($arg){return $arg;},
'bar' => function($arg){return $arg;},
);
你告诉我,这个$app要声明成什么类型呀?
引用来自“eechen”的评论
Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
虽然新老板确实也给出了无法抗拒的薪水~
引用来自“clouddyy”的评论
你是为一个地球上数一数二的大企业工作,又不是社区,你当然得做好保密工作!http://www.oschina.net/news/80970/google-baidu-push-new-web-app-standards