第270章 超大规模项目开发经验
第270章超大规模项目开发经验
所以,就目前来看,在正式搬运之前提前开发一个别的操作系统练练手是很难实现。
这种情况下,林灰该如何在资源整合的时候取信于人呢?
林灰觉得即便是没有开发操作系统的成功经验。
有负责超大型项目这样的经历将是开发者生涯中颇为值得浓墨重彩的一笔。
不仅如此,这样一个超大型的开发项目如果能取得成功那对于以后的资源整合同样是会大有裨益的。
Swift语言这样一个前世耗时几年之久前前后后近万人次参与过的项目绝对可以说是一项超大型的项目开发了。
林灰觉得如果这个时空Swift项目真的出现什么问题的话。
那参与到蘋淉主导的Swift语言项目就是不错的选择。
真的能在这样一个项目中大展身手的话,那将为林灰积累很多,包括但不限于人脉之类的种种。
至于说为什么是要参与到蘋淉主导的项目中?
而不是自己单干呢?
林灰单干的话,即便是能在swift缺失后补足这个时空缺失的一片拼图。
搞出这样一门编程语言。
恐怕也达不到前世swift的知名度。
就像演员并不是有演技就能收获到相应的咖位。
类似地,一门编程语言,有的时候纵然有实力,也未必拥有与之相匹配的地位。
而一门几乎没啥影响力的编程语言似乎也没啥搬运的必要。
因为林灰想要的是有影响力的SWIFT编程语言。
而不仅仅是SWIFT编程语言本身。
这两者的区别自然关键在于“影响力”。
如果林灰在意的仅仅是编程语言本身而不是影响力的话。
哪里还需要搬运呢?
直接买来些现成的也没啥问题。
毕竟,这个世界上耳熟能详的那些编程语言可不是编程语言的全部。
这个世界上仅仅是在电脑领域已发明了上千不同的编程语言。
这还不是一个定量的数值,而且每年仍有新的编程语言诞生。
说实话,有的高级编程语言甚至没有林灰此前搞得那个那个域名更加稀有。
不能说一门不怎么为人所知的编程语言没任何价值。
但这个世界上真正有较大价值的还得是具有大规模影响力的编程语言。
功利地说,就林灰以后所选择的发展路线而言。
一门编程语言如果不能具有足够大的影响力的话那对林灰基本是无用的。
话说回来,一门编程语言怎样具有影响力呢?
稍稍理解一下主要的编程语言的情况就略知一二了。
如果说最好的编程语言是什么,可能会打的头破血流那种。
但如果说最常用的五个编程语言。
倒是争议不算太大。
无外乎就是Java、python、C/C++……这些。
Java常常跟”企业”联系在一起。
因为Java具备一些很好的语言特性,以及丰富的框架,在企业应用中最被青睐。
Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。
这三块相互补充,应用范围不同。
Java可以做的东西很多,可以做游戏、做网站、做各种管理系统。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;
J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;
J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
同时,Java在手机领域也有一席之地,在普遍智能化之前,很多手机就是以支持java应用作为卖点的。
而智能手机爆发之后,Java手机主场变成了Android,作为安卓的标准编程语言而存。
Python由于具有丰富和强大的库,它又叫做作胶水语言。
Python能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python的应用领域分为系统编程,用户图形接口,Internet脚本,组件集成,数据库编程,快速原型,数值计算和科学计算编程,游戏、图像、人工智能、XML、机器人编程等等。
常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。
除此之外Python还可以用作服务器开发与物联网开发。
至于说C/C++理论上说可以做任何开发,只要有合适的硬件驱动和API。
C/C++特点是效率高,基本上是编译语言里面效率最高的。
除非你的系统中连C/C++编译器都不具备,否则C/C++基本上可以乱杀。
就算某些系统当中C++编译器是不具备的,但是C一般都具备。
这种情况下,C语言主要用来开发底层模块(比如驱动、解码器、算法实现)。
甚至于可以用作服务应用(比如web服务器)和嵌入式应用(比如智能洗衣机里的程序)。
C++也可以做这些,不过由于C++的复杂性和标准问题,人们还是更愿意使用C来做。
相比于C语言,C++更适合比较复杂但又特别需要高效率的设施,比如大型游戏,一些基础库,大型桌面应用。
从上述语言的特点来看,不难看出之所以这些语言能够流通广泛很大程度是因为这些语言很强大且几乎都拥有很强的普适性。
这些语言之所以能有很强的普适性。
除了这些语言设计的时候考虑的内容比较全面有关系。
除此之外,跟这些语言问世的时间比较早有很大的关系。
C语言于1969年至1973年间出现,1990年代初有了Java语言的雏形,python则是1991年正式出现。
这些语言因为问世的时间比较早,长期的传播使得技术用户基础明显要更广。
而用户在长时间的使用过程中不断发掘一门语言的新用法也是很正常的。
这些新用法反过来又反哺了这些编程语言,促进了这些编程语言在技术人员中的流通性。
上述编程语言的发展思路固然不错。
但这需要时间去沉淀。
一门新的编程语言想要迅速拥有知名度。
指望这种用时间沉淀的路子明显是行不通的。
别说是用时间沉淀了。
有的时候一门全新的语言刚问世的时候想要拥有一定的技术人员作为拥护者可能都很难。
总之,由个人搞出的编程语言大概率会是无人问津。
但如果背后有大公司强推进行助力的话。
事情则不一样了。
前世的Swift能够一度跻身十大编程语言之列。
跟蘋淉在后面的助力就有很大的关系。
无独有偶,大公司“捧”出来的编程语言其实有很多案例。
最典型的案例要数C#编程语言了。
林灰此前在开发《HILLCLIMBRACING》这款游戏的时候就用到了C#语言。
这门语言精通有难度,但上手的话其实不是很复杂。
很多技术人员都涉猎过C#这门语言。
不过却并不是有很多人知道C#这门语言的背后是微软。
当初之所以要搞C#这样一门编程语言是因为当时微软准备推出的一种基于.NET框架的、面向对象的高级编程语言。
就技术渊源这方面来说,C#是一种由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性,使其成为C语言家族中的一种高效强大的编程语言。
C#以.NET框架类库作为基础,拥有类似VisualBasic的快速开发能力。
C#这门编程语言由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言。
当初微软之所以要搞这门语言,是因为微软希望能借助这种语言来取代Java。
尽管直到林灰重生那会C#也没能正式将Java取而代之。
但因为C#的背后有微软这样的巨头不断输血。
即便是C#未能取代Java,也丝毫不影响C#成为一门颇具有知名度的语言。
大公司如果愿意在背后输血的话。
疯狂助力之下对一个编程语言的商业化和规模化之路所起到推动的作用是巨大的。
像微软这样的科技巨头能“捧”热一门编程语言。
而跟微软体量差不多的蘋淉公司。
想助长一门编程语言的成长同样也是有相应的实力的。
话说回来,如果这个时空SWIFT编程语言项目存在的话以林灰同蘋淉越来越密切的合作关系想要涉足这样的一个项目是有操作空间的。
但如果这个时空Swift语言这块拼图缺失的话,而且蘋淉内部也没有Swift语言相对应的项目的话。
林灰凭什么有把握让蘋淉内部对Swift语言这样的项目产生浓厚的兴趣呢?
毕竟此前的Objective-C就已经有着千丝万缕的联系了。
此时的蘋淉的行业地位已然不需要通过搞一门编程语言来证明自己的实力了。
林灰觉得正是因为此前的Objective-C就和蘋淉有着千丝万缕的联系。
才让到时候林灰有可以上下其手的空间。
为什么这样说呢?
就Objective-C这门编程语言的发展史来说。
这门编程语言最早主要由Stepstone公司的布莱德·考克斯(BradCox)和汤姆·洛夫(TomLove)在1980年代发明。
1981年BradCox和TomLove还在ITT公司技术中心任职时,接触到了SmallTalk语言。
Cox当时对软件设计和开发问题非常感兴趣,他很快地意识到SmallTalk语言在系统工程构建中具有无法估量的价值,但同时他和TomLove也明白,目前ITT公司的电子通信工程相关技术中,C语言被放在很重要的位置。
于是Cox撰写了一个C语言的预处理器,打算使C语言具备些许Smalltalk的本领。
Cox很快地实现了一个可用的C语言扩展,此即为Objective-C语言的前身。
到了1983年,Cox与Love合伙成立了ProductivityProductsInternational(PPI)公司,将Objective-C及其相关库商品化贩售,并在之后将公司改名为StepStone。
1986年,Cox出版了一本关于Objective-C的重要著作《Object-OrientedProgramming,AnEvolutionaryApproach》,书内详述了Objective-C的种种设计理念。
1988年,斯蒂夫·乔布斯(SteveJobs)离开蘋淉公司后成立了NeXTputer公司,NeXT公司买下Objective-C语言的授权,并扩展了著名的开源编译器GCC使之支持Objective-C的编译,基于Objective-C开发了AppKit与FoundationKit等库,作为NeXTSTEP的的用户界面与开发环境的基础。
虽然NeXT工作站后来在市场上失败了,但NeXT上的软件工具却在业界中被广泛赞扬。这促使NeXT公司放弃硬件业务,转型为销售NeXTStep(以及OpenStep)平台为主的软件公司。
1992年,自由软件基金会的GNU开发环境增加了对Objective-C的支持。
1994年,NeXTputer公司和SunMicrosystem联合发布了一个针对NEXTSTEP系统的标准典范,名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUstep。
1996年12月20日,蘋淉公司宣布收购NeXTSoftware公司,NEXTSTEP/OPENSTEP环境成为蘋淉操作系统下一个主要发行版本OSX的基础。这个开发环境的版本被蘋淉公司称为Cocoa。
……
从Objective-C这门编程语言的发展历史上不难看出。
Objective-C这门编程语言虽然是和蘋淉有着千丝万缕的联系。
但更准确形容的话,与其说这门编程语言和蘋淉有着紧密的联系。
不如说和蘋淉故去的上代掌舵人乔布斯有着极其密切的关系。
自库克掌舵蘋淉之后,虽然产品线的布局和蘋淉乔布斯在的时候八.九不离十。
但其实内在很多东西其实都在试图在追求去乔布斯化。
虽然说像技术方面是“一朝天子一朝臣”这种模式不是刚需。
但对于像库克这样一个一直试图走出后乔布斯时代而开创属于自己的新时代的掌舵人来说。
林灰觉得库克应该很难对于这样的一门相比于Objective-C焕然一新的Swift语言说不。
林灰觉得库克应该很难说不。
尤其是像Swift这样一门语言前世就是蘋淉方面鼓捣出来的。
Swift结合了C和Objective-C的优点并且不受C兼容性的限制。
Swift在MacOS和iOS平台可以和Object-C使用相同的运行环境。
在具体语法上,Swift和分号说拜拜了,语法更加简洁明了。
林灰相信这样的语言会契合蘋淉方面的审美。
而且蘋淉内部也不是铁板一块。
至少此前同伊丽莎白·妮诗的交流中。
就没少听伊丽莎白·妮诗吐槽Objective-C这门编程语言。
林灰相信蘋淉内部以及广大的软件开发者中和伊丽莎白·妮诗持有相同态度的人绝对不是少数。
所以,就目前来看,在正式搬运之前提前开发一个别的操作系统练练手是很难实现。
这种情况下,林灰该如何在资源整合的时候取信于人呢?
林灰觉得即便是没有开发操作系统的成功经验。
有负责超大型项目这样的经历将是开发者生涯中颇为值得浓墨重彩的一笔。
不仅如此,这样一个超大型的开发项目如果能取得成功那对于以后的资源整合同样是会大有裨益的。
Swift语言这样一个前世耗时几年之久前前后后近万人次参与过的项目绝对可以说是一项超大型的项目开发了。
林灰觉得如果这个时空Swift项目真的出现什么问题的话。
那参与到蘋淉主导的Swift语言项目就是不错的选择。
真的能在这样一个项目中大展身手的话,那将为林灰积累很多,包括但不限于人脉之类的种种。
至于说为什么是要参与到蘋淉主导的项目中?
而不是自己单干呢?
林灰单干的话,即便是能在swift缺失后补足这个时空缺失的一片拼图。
搞出这样一门编程语言。
恐怕也达不到前世swift的知名度。
就像演员并不是有演技就能收获到相应的咖位。
类似地,一门编程语言,有的时候纵然有实力,也未必拥有与之相匹配的地位。
而一门几乎没啥影响力的编程语言似乎也没啥搬运的必要。
因为林灰想要的是有影响力的SWIFT编程语言。
而不仅仅是SWIFT编程语言本身。
这两者的区别自然关键在于“影响力”。
如果林灰在意的仅仅是编程语言本身而不是影响力的话。
哪里还需要搬运呢?
直接买来些现成的也没啥问题。
毕竟,这个世界上耳熟能详的那些编程语言可不是编程语言的全部。
这个世界上仅仅是在电脑领域已发明了上千不同的编程语言。
这还不是一个定量的数值,而且每年仍有新的编程语言诞生。
说实话,有的高级编程语言甚至没有林灰此前搞得那个那个域名更加稀有。
不能说一门不怎么为人所知的编程语言没任何价值。
但这个世界上真正有较大价值的还得是具有大规模影响力的编程语言。
功利地说,就林灰以后所选择的发展路线而言。
一门编程语言如果不能具有足够大的影响力的话那对林灰基本是无用的。
话说回来,一门编程语言怎样具有影响力呢?
稍稍理解一下主要的编程语言的情况就略知一二了。
如果说最好的编程语言是什么,可能会打的头破血流那种。
但如果说最常用的五个编程语言。
倒是争议不算太大。
无外乎就是Java、python、C/C++……这些。
Java常常跟”企业”联系在一起。
因为Java具备一些很好的语言特性,以及丰富的框架,在企业应用中最被青睐。
Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE。
这三块相互补充,应用范围不同。
Java可以做的东西很多,可以做游戏、做网站、做各种管理系统。
J2SE就是Java2的标准版,主要用于桌面应用软件的编程;
J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;
J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。
同时,Java在手机领域也有一席之地,在普遍智能化之前,很多手机就是以支持java应用作为卖点的。
而智能手机爆发之后,Java手机主场变成了Android,作为安卓的标准编程语言而存。
Python由于具有丰富和强大的库,它又叫做作胶水语言。
Python能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
Python的应用领域分为系统编程,用户图形接口,Internet脚本,组件集成,数据库编程,快速原型,数值计算和科学计算编程,游戏、图像、人工智能、XML、机器人编程等等。
常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。
除此之外Python还可以用作服务器开发与物联网开发。
至于说C/C++理论上说可以做任何开发,只要有合适的硬件驱动和API。
C/C++特点是效率高,基本上是编译语言里面效率最高的。
除非你的系统中连C/C++编译器都不具备,否则C/C++基本上可以乱杀。
就算某些系统当中C++编译器是不具备的,但是C一般都具备。
这种情况下,C语言主要用来开发底层模块(比如驱动、解码器、算法实现)。
甚至于可以用作服务应用(比如web服务器)和嵌入式应用(比如智能洗衣机里的程序)。
C++也可以做这些,不过由于C++的复杂性和标准问题,人们还是更愿意使用C来做。
相比于C语言,C++更适合比较复杂但又特别需要高效率的设施,比如大型游戏,一些基础库,大型桌面应用。
从上述语言的特点来看,不难看出之所以这些语言能够流通广泛很大程度是因为这些语言很强大且几乎都拥有很强的普适性。
这些语言之所以能有很强的普适性。
除了这些语言设计的时候考虑的内容比较全面有关系。
除此之外,跟这些语言问世的时间比较早有很大的关系。
C语言于1969年至1973年间出现,1990年代初有了Java语言的雏形,python则是1991年正式出现。
这些语言因为问世的时间比较早,长期的传播使得技术用户基础明显要更广。
而用户在长时间的使用过程中不断发掘一门语言的新用法也是很正常的。
这些新用法反过来又反哺了这些编程语言,促进了这些编程语言在技术人员中的流通性。
上述编程语言的发展思路固然不错。
但这需要时间去沉淀。
一门新的编程语言想要迅速拥有知名度。
指望这种用时间沉淀的路子明显是行不通的。
别说是用时间沉淀了。
有的时候一门全新的语言刚问世的时候想要拥有一定的技术人员作为拥护者可能都很难。
总之,由个人搞出的编程语言大概率会是无人问津。
但如果背后有大公司强推进行助力的话。
事情则不一样了。
前世的Swift能够一度跻身十大编程语言之列。
跟蘋淉在后面的助力就有很大的关系。
无独有偶,大公司“捧”出来的编程语言其实有很多案例。
最典型的案例要数C#编程语言了。
林灰此前在开发《HILLCLIMBRACING》这款游戏的时候就用到了C#语言。
这门语言精通有难度,但上手的话其实不是很复杂。
很多技术人员都涉猎过C#这门语言。
不过却并不是有很多人知道C#这门语言的背后是微软。
当初之所以要搞C#这样一门编程语言是因为当时微软准备推出的一种基于.NET框架的、面向对象的高级编程语言。
就技术渊源这方面来说,C#是一种由C和C++衍生出来的面向对象的编程语言。
它在继承C和C++强大功能的同时去掉了一些它们的复杂特性,使其成为C语言家族中的一种高效强大的编程语言。
C#以.NET框架类库作为基础,拥有类似VisualBasic的快速开发能力。
C#这门编程语言由安德斯·海尔斯伯格主持开发,微软在2000年发布了这种语言。
当初微软之所以要搞这门语言,是因为微软希望能借助这种语言来取代Java。
尽管直到林灰重生那会C#也没能正式将Java取而代之。
但因为C#的背后有微软这样的巨头不断输血。
即便是C#未能取代Java,也丝毫不影响C#成为一门颇具有知名度的语言。
大公司如果愿意在背后输血的话。
疯狂助力之下对一个编程语言的商业化和规模化之路所起到推动的作用是巨大的。
像微软这样的科技巨头能“捧”热一门编程语言。
而跟微软体量差不多的蘋淉公司。
想助长一门编程语言的成长同样也是有相应的实力的。
话说回来,如果这个时空SWIFT编程语言项目存在的话以林灰同蘋淉越来越密切的合作关系想要涉足这样的一个项目是有操作空间的。
但如果这个时空Swift语言这块拼图缺失的话,而且蘋淉内部也没有Swift语言相对应的项目的话。
林灰凭什么有把握让蘋淉内部对Swift语言这样的项目产生浓厚的兴趣呢?
毕竟此前的Objective-C就已经有着千丝万缕的联系了。
此时的蘋淉的行业地位已然不需要通过搞一门编程语言来证明自己的实力了。
林灰觉得正是因为此前的Objective-C就和蘋淉有着千丝万缕的联系。
才让到时候林灰有可以上下其手的空间。
为什么这样说呢?
就Objective-C这门编程语言的发展史来说。
这门编程语言最早主要由Stepstone公司的布莱德·考克斯(BradCox)和汤姆·洛夫(TomLove)在1980年代发明。
1981年BradCox和TomLove还在ITT公司技术中心任职时,接触到了SmallTalk语言。
Cox当时对软件设计和开发问题非常感兴趣,他很快地意识到SmallTalk语言在系统工程构建中具有无法估量的价值,但同时他和TomLove也明白,目前ITT公司的电子通信工程相关技术中,C语言被放在很重要的位置。
于是Cox撰写了一个C语言的预处理器,打算使C语言具备些许Smalltalk的本领。
Cox很快地实现了一个可用的C语言扩展,此即为Objective-C语言的前身。
到了1983年,Cox与Love合伙成立了ProductivityProductsInternational(PPI)公司,将Objective-C及其相关库商品化贩售,并在之后将公司改名为StepStone。
1986年,Cox出版了一本关于Objective-C的重要著作《Object-OrientedProgramming,AnEvolutionaryApproach》,书内详述了Objective-C的种种设计理念。
1988年,斯蒂夫·乔布斯(SteveJobs)离开蘋淉公司后成立了NeXTputer公司,NeXT公司买下Objective-C语言的授权,并扩展了著名的开源编译器GCC使之支持Objective-C的编译,基于Objective-C开发了AppKit与FoundationKit等库,作为NeXTSTEP的的用户界面与开发环境的基础。
虽然NeXT工作站后来在市场上失败了,但NeXT上的软件工具却在业界中被广泛赞扬。这促使NeXT公司放弃硬件业务,转型为销售NeXTStep(以及OpenStep)平台为主的软件公司。
1992年,自由软件基金会的GNU开发环境增加了对Objective-C的支持。
1994年,NeXTputer公司和SunMicrosystem联合发布了一个针对NEXTSTEP系统的标准典范,名为OPENSTEP。OPENSTEP在自由软件基金会的实现名称为GNUstep。
1996年12月20日,蘋淉公司宣布收购NeXTSoftware公司,NEXTSTEP/OPENSTEP环境成为蘋淉操作系统下一个主要发行版本OSX的基础。这个开发环境的版本被蘋淉公司称为Cocoa。
……
从Objective-C这门编程语言的发展历史上不难看出。
Objective-C这门编程语言虽然是和蘋淉有着千丝万缕的联系。
但更准确形容的话,与其说这门编程语言和蘋淉有着紧密的联系。
不如说和蘋淉故去的上代掌舵人乔布斯有着极其密切的关系。
自库克掌舵蘋淉之后,虽然产品线的布局和蘋淉乔布斯在的时候八.九不离十。
但其实内在很多东西其实都在试图在追求去乔布斯化。
虽然说像技术方面是“一朝天子一朝臣”这种模式不是刚需。
但对于像库克这样一个一直试图走出后乔布斯时代而开创属于自己的新时代的掌舵人来说。
林灰觉得库克应该很难对于这样的一门相比于Objective-C焕然一新的Swift语言说不。
林灰觉得库克应该很难说不。
尤其是像Swift这样一门语言前世就是蘋淉方面鼓捣出来的。
Swift结合了C和Objective-C的优点并且不受C兼容性的限制。
Swift在MacOS和iOS平台可以和Object-C使用相同的运行环境。
在具体语法上,Swift和分号说拜拜了,语法更加简洁明了。
林灰相信这样的语言会契合蘋淉方面的审美。
而且蘋淉内部也不是铁板一块。
至少此前同伊丽莎白·妮诗的交流中。
就没少听伊丽莎白·妮诗吐槽Objective-C这门编程语言。
林灰相信蘋淉内部以及广大的软件开发者中和伊丽莎白·妮诗持有相同态度的人绝对不是少数。