Swift 创始人离职原因:对苹果保密文化感到失望?

两味真火
 两味真火
发布于 2017年01月14日
收藏 5

几天之前,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”无关,所谓的“朋友”的引述是制造或推测的,只是想让苹果看起来不好。)

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:Swift 创始人离职原因:对苹果保密文化感到失望?
加载中

精彩评论

Qiujuer
Qiujuer
swift是一门新语言,你值得尝试,而且可以永远学习。
Dainslef
Dainslef

引用来自“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>就可以嘛,虽然也失去了类型信息。。。
狸猫
狸猫
小编你自己去看Lattner 的Twitter, 已经被辟谣了好吧, 新闻发的晚也就算了 被辟谣还发
yak
yak
码农在月饼厂写脚本偷刷月饼干得爽吗? 有没有饼厂的码农出来说说看

最新评论(27

Dainslef
Dainslef

引用来自“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>就可以嘛,虽然也失去了类型信息。。。
swingcoder
swingcoder
openness 不开放?
Scotland
Scotland
大公司都留不住人,别说小公司了
eechen
eechen

引用来自“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这种类型!
只有多参与几个大型项目,才明白静态类型语言的优点。项目重构完胜动态类型语言。

再说动态语言向静态语言进化是大势。
那你就说说强类型语言如Java用什么样的map能存储我上面提到的这种可能包含各种类型组成的PHP数组呀?

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的注册表,你根本不知道后期会安装写什么程序,会写入什么注册条目.
静态语言又不是没有map这种类型!
只有多参与几个大型项目,才明白静态类型语言的优点。项目重构完胜动态类型语言。

再说动态语言向静态语言进化是大势。
eechen
eechen

引用来自“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;},
);

多谢几个字符,也没见有啥痛点
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;},
);

多谢几个字符,也没见有啥痛点
eechen
eechen

引用来自“eechen”的评论

Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!

引用来自“鳄鱼的眼泪”的评论

只有傻逼才会享受弱类型语言的快感!
傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
$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要声明成什么类型呀?
鳄鱼的眼泪

引用来自“eechen”的评论

Swift无需声明类型,底层通过"类型推断"来确定类型保证性能,让开发者尽情享受"动态脚本弱类型"般的快感!
只有傻逼才会享受弱类型语言的快感!
傻逼的标志就是:宁愿化一周时间去写文档,也不愿意在代码里面多些一点点类型信息
返回顶部
顶部