是的。
项目负责人只决定采用哪个平台(pc ios android)、哪个框架(桌面app,html5,flask, vue.js),哪个数据库,哪个服务器(sqlite,apache),一旦这些被确定了,用什么样的语言基本就被框死了。
而不是反过来,像基层某些语言爱好者,先基于某个语言,然后再考查这个语言周边有什么第三方的东东,然后再考虑能做出什么东西。
这是两种不同的选择方式。
一种是先选好生态,用哪门语言是顺理成章的事。(永远随大流,没有前瞻性,稳妥不冒险,在技术变革剧烈的时代,采用的那套技术有可能很快被淘汰,但是因为负责人不直接接触技术,所以码农们的吃饭技能被淘汰与他无关。(e.g perl、delphi))
一种是先限定语言,再看看用它的周边生态能做出什么。(有创新、引领潮流的可能,更有可能是寂寂无名)
作为一线的码农,我非常理解为什么码农那么热衷讨论具体语言的优劣。因为具体的语言对他们的幸福影响太大了。从我学计算机第一天起,无论是在教科书上还是在课余(网上)讨论或是在工作后,我都被不断告知一个根深蒂固的观念:具体的语言是无关紧要的,牛人能在一/n个星期内切换过去。
可是随着工作经验的增加,我越来越觉得,这样根深蒂固的观念是错的。长期使用一门语言,人怎么可能不对其产生偏爱?人都是主观的、有感情的,人会对无情的规则产生感情。小到括号的具体位置,循环的具体写法,大到库的用法,还有操作系统(linux vs windows)、ide的补全方式,你天天在使用,怎么可能一下子就忍痛割爱切换到别的平台?你越熟悉旧的平台,切换到别的就越痛苦,甚至可能根本就换不过去。在《理解媒介》这本书中,作者说媒介本身就是一种很重要的信息(我们不能说报纸、网页因为写的是同样的文字,那它们的区别是不重要的)。怎么能忽略媒介直接说目的才是重要的,用什么样的语言不重要?说这话的人根本就忽略了人性,是一种很无情的说法。
别的不说,就拿python2换到python3来说,2008年python3就发布了,直接到12年后才把python2淘汰,python社区本身的设想是2015年就淘汰python2,但是不得不一再推迟。很大一个原因就是人们不喜欢新的写法。print语句加上括号不知道被骂了多少次。更别说从别的语言换python,有多少人不习惯它的强制缩进,因为这个放弃python的大有人在。有多少人因为熟悉了perl想换到python不成功,就是因为不习惯这个不习惯那个,最后变成了python黑。这难道能像课堂上讲的那样---具体的语言不重要吗?连一个语言的不同版本都这么重要,能被不同的人群撕扯这长时间,那不同语言之间的切换必定是相当相当痛苦的。
类似地,从读报纸来获得新闻,到读网页来获得新闻,这个切换过程想必也是相当痛苦的,虽然这两者对我们这一代来说可能没什么区别。类似地还有100年前从用毛笔写字切换到用钢笔写字、50年前用钢笔写字切换到用圆珠笔写字、用笔写字到切换到用键盘打字、南方人吃北方的饭、北方人吃南方的饭等等。
熟悉的语言就像人们的故乡,越是老人越喜欢待在故乡,故乡对人有极强的粘性。要破除这种粘性,或许我们压根就不应该与具体的语言接触,与管理者持相同的思维或许是最轻松、最不怀旧的。(或者像那些压根就不搞技术的人一样,比如女人,谁见女人们对选哪个语言有什么讨论吗?没有。因为女人压根对技术不感兴趣,她们只是把电脑和网络当工具来用。)
【 在 siegfried415 的大作中提到: 】
: 项目技术上成功,主要是采用的技术体系,然后是架构和平台,最后才是语言,而且往往架构和开发平台决定了,语言也就决定了。。。
:
--
修改:seablue FROM 106.121.138.*
FROM 60.251.47.*