每种语言都有它自己的定位,有自己的目标,有自己的特性。
每当讨论语言的时候,总有人搬出“语言只是一种工具”的说辞,如果用什么语言真的无所谓,为什么还会涌现那么多新的语言?
|      1byaiu      2021-03-01 13:49:12 +08:00  5 因为锤子和锯子的功能不一样 | 
|  |      2Version12      2021-03-01 13:49:38 +08:00 可能你的境界跟我的不一样,比我高 | 
|  |      3icyalala      2021-03-01 13:50:24 +08:00  28 锤子和钳子都有它自己的定位,有自己的目标,有自己的特性。 但如果我的需求只是砸一颗钉子,那么锤子和钳子都能用,它们在这时候只是一种工具。 | 
|  |      4xuanbg      2021-03-01 13:52:48 +08:00 好吧,语言其实连工具都算不上……sdk 才是工具 | 
|  |      6y4ZIZrCL74b9MYl6      2021-03-01 13:57:20 +08:00 「如果用什么语言真的无所谓」不等同于「语言只是一种工具」   语言只是一种工具,我认为这样说也合适,任何事物都可以当作工具,看怎么理解了,编程语言是抽象现实世界的一种工具。就比如四肢是大脑的的实现工具,自然语言是与人的沟通工具一样 | 
|  |      7cxe2v      2021-03-01 14:02:33 +08:00 打个比方,你这个项目好比要建设一个房子,你用水泥,用泥巴,用木头,用石头,都可以建好这个房子并且保证能住人,这里的水泥,泥巴,木头,石头就是语言 | 
|  |      8y4ZIZrCL74b9MYl6      2021-03-01 14:04:41 +08:00 宽泛点说,除了生物觉得自己为什么存在在这个世界上以外,任何事物都有它自己的属性和功能,那么就都可以被叫做工具 | 
|      9rabbit      2021-03-01 14:05:03 +08:00  9 因为确实只是一种工具啊 | 
|  |      10kop1989      2021-03-01 14:06:36 +08:00  4 开发语言只是一种工具,和每种开发语言各有优势并不冲突。 语言只是一种工具,对应的话题应该是类似于“我应该去学 java 还是学 c#”。 既程序员不应该把自己限定在“某个技术语言”、“某个技术”、“某个 sdk”这种条条框框之中。 应该拥有架构师思维。每次技术选型都应该在众多语言、库、框架中综合所有因素,来选择最优的组合。而不是以“我只会”或者“我只喜欢”来选择。 就像楼上说的,同样是锤子,只有羊角锤能拔钉子,你对鸭嘴锤再怎么喜欢(比如你说他是宇宙第一工具),那他也拔不了钉子。 | 
|  |      11Joker123456789      2021-03-01 14:09:09 +08:00  9 因为这句话是在一个前提下说的, 当有人问 [什么语言最好的时候] , [ java 和 c++谁好的时候] , [ php 是不是世界上最好的语言的时候] 。 如果问题变成 [想开发一个大型 web,用什么比较合适] , [想开发一个底层软件,用什么合适] , [想开发爬虫,用什么合适] 。 那自然会有人来比较各种语言了,因为场景很明显了,所以会根据场景选择合适的语言。 | 
|  |      12zzh7982      2021-03-01 14:10:21 +08:00 语言就像微信和支付宝或者其他的,都可以支付 | 
|  |      13Kasumi20 OP @Joker123456789 赞同,就是这个意思 | 
|  |      14adoal      2021-03-01 14:13:34 +08:00  3 因为他们只对升职转管理岗脱离具体技术工作感兴趣 | 
|      1540EaE5uJO3Xt1VVa      2021-03-01 14:14:12 +08:00  5 不是工具是什么,难不成真要当成宗教信仰 | 
|  |      16S179276SP      2021-03-01 14:14:20 +08:00 因为自己的语言水平没法上升文学高度,只能是勉强达到获取资源或者娱乐的程度。 | 
|  |      18devwolf      2021-03-01 14:14:48 +08:00 同#6 的理解,主题描述中[语言只是一种工具]并在所有场合都等同于[用什么语言无所谓]。 比如想在乡下单纯的想打个火,店里只卖火柴那也够用了,为什么要去找打火机,甚至还要防风打火机、典藏限量版打火机。 [语言只是一种工具],这话本身我是认为没有问题的,也不影响“讨论语言”,可能帖主曲解了这句话,或者原发话者的后续言论和这句话八竿子打不到一撇 [用什么语言真的无所谓],同样看场景 [新语言]TrumpScript 算吗。这个话题更广了,感觉帖主的想说明"新语言"必须要后浪推前浪——但这并不能代表"新" | 
|      19cgqsidney      2021-03-01 14:15:06 +08:00 每种语言都有它自己的定位,有自己的目标,有自己的特性。 每当讨论语言的时候,总有人搬出“语言只是一种工具”的说辞,如果用什么语言真的无所谓,为什么还会涌现那么多新的语言? 这算是月经贴吧 这个里面的“语言”可以替换成很多东西,这样答案会好给一点,比如,聊天工具 每种聊天工具都有它自己的定位,有自己的目标,有自己的特性。 每当讨论聊天工具的时候,总有人搬出“聊天工具只是一种工具”的说辞,如果用什么聊天工具真的无所谓,为什么还会涌现那么多新的聊天工具? | 
|  |      21janxin      2021-03-01 14:17:58 +08:00 “语言是工具”在我这里使用场景主要是在合适的场景下选择适合的工具,工具不就是拿来解决问题的么?不建议尝试用一种工具解决所有的问题。不需要尝试把自己吊死在一棵树上。 当然这不代表工具是一直不需要改进的。 | 
|  |      22Al0rid4l      2021-03-01 14:18:40 +08:00 这句话本身是没什么问题的, 问题是看它所在的上下文, 和说这句话的人想表达什么 据我观察, 这句话通常出现在讨论 A 和 B 谁更好的时候, 就会有人出来说 A 和 B 都是工具 就像是, 在说 A 和 B 两个人谁更聪明的时候, 就有人说 A 和 B 都是人, 一样, 这句话本身正确但是放在这里意义不明, 不构成反驳, 是句废话, 但是可以引来观众一片喝彩较好, "对, 他说得对, A 和 B 都是人" | 
|  |      23ElmerZhang      2021-03-01 14:21:16 +08:00  2 “工具”是相对于“技能”来说的。 锤子、刨子等等都是“工具”,做木工是“技能”。最后出的活好不好,主要取决于你的技能,而不是工具,好的工具当然能起到一些正向的辅助作用,但并不能起到决定作用。 有很多场景下,工具是可以有多种选择的,只要你技能到位了,工具是次要的。 如果某种工具过于复杂,那么对这种工具的熟练程度其实也就成了一种技能。 | 
|  |      25paoqi2048      2021-03-01 14:22:12 +08:00 私以为这句话不全对 | 
|  |      26Yourshell      2021-03-01 14:23:11 +08:00 因为现有的编程语言(工具)未能更好地解决问题,所有会有新的编程语言(工具)出现。 | 
|  |      27locoz      2021-03-01 14:33:43 +08:00 via Android 定位、目标、特性是相对于其他工具而言的优势,在大部分情况下并不代表其他工具不能干这事,你要搞清楚这个区别。 举个例子,Python 写爬虫的话生态够丰富吧?这是 Python 的优势,但你说 JS 、Go 、Java 甚至是 C 能写爬虫吗?一样能写啊,大不了就是写起来麻烦点而已。而如果你搞了个新语言专门用来写爬虫,写起来比 Python 更方便,然后呢?它不还是就仅限于方不方便而已?在这种情况下,当然是用什么都无所谓。 再换个和楼上举的例子类似的例子,扳手是拿来拧螺丝的对吧?但扳手能砸钉子吗?能拔钉子吗?也可以啊,就是方不方便的问题而已。 | 
|  |      28GG668v26Fd55CP5W      2021-03-01 14:34:40 +08:00 via iPhone 语言就是一种工具,为什么会有这么多种语言?因为不同的工具解决的问题不一样啊 | 
|  |      29zzw1998      2021-03-01 14:35:22 +08:00 via iPhone 我还以为你在说自然语言.... | 
|      30sherryqueen      2021-03-01 14:36:48 +08:00 语言是个工具, 但工具有自己的针对点和对应优化点 | 
|  |      31Vegetable      2021-03-01 14:39:39 +08:00 语言的确是一种工具,这句话的意思是: - 语言不应该有绝对的优劣之分,只是功能不同 - 一个工程师不应该只能使用一种工具,而应该有一个工具箱 我只会在对方陷入了「唯工具论」的误区时,告诫对方语言只是工具。 | 
|      32kkbblzq      2021-03-01 14:53:37 +08:00 这个和你说的不冲突吧,说是工具不代表无所谓,你上螺丝可以用螺丝刀,也可以用锤子强行锤进去,但是好坏一看便知 | 
|  |      33ksedz      2021-03-01 14:59:58 +08:00 编程语言和对应的框架、生态会深刻影响使用者的习惯、认知、思想、知识体系。 “只”太理想化了,编程语言本身也比锤子、扳手复杂得多。 | 
|      34dayeye2006199      2021-03-01 15:00:22 +08:00 要发挥人的作用,做程序语言和工具的主人,而不要被工具牵着鼻子走。你不能说你一个资深点的程序员,哪天换了份工作换了个语言环境,两手一摊说没法干。。 | 
|  |      35sagaxu      2021-03-01 15:02:36 +08:00 via Android 语言只是工具,你也只是工具人,老板换个人就是了 | 
|      36vitoliu      2021-03-01 15:04:55 +08:00 哈哈哈哈哈 | 
|  |      37yangxiaopeipei      2021-03-01 15:05:22 +08:00 @xuanbg 想起 php 是两头羊角锤的图片 | 
|      38jones2000      2021-03-01 15:14:20 +08:00 新的语言, 不都是用老语言开发出来包装下出来的嘛, 没有什么区别. | 
|  |      39wutiantong      2021-03-01 15:18:30 +08:00 每种 [工具] 都有它自己的定位,有自己的目标,有自己的特性。 每当讨论 [工具] 的时候,总有人搬出“《工具只是一种投机取巧》”的说辞,如果用什么 [工具] 真的无所谓,为什么还会涌现那么多新的 [工具] ? 每种 [投机取巧] 都有它自己的定位,有自己的目标,有自己的特性。 每当讨论 [投机取巧] 的时候,总有人搬出“《投机取巧只是一种耍小聪明》”的说辞,如果用什么 [投机取巧] 真的无所谓,为什么还会涌现那么多新的 [投机取巧] ? 每种 [耍小聪明] 都有它自己的定位,有自己的目标,有自己的特性。 每当讨论 [耍小聪明] 的时候,总有人搬出“《耍小聪明只是一种思维方式》”的说辞,如果用什么 [耍小聪明] 真的无所谓,为什么还会涌现那么多新的 [耍小聪明] ? 每种 [思维方式] 都有它自己的定位,有自己的目标,有自己的特性。 每当讨论 [思维方式] 的时候,总有人搬出“《思维方式只是一种语言》”的说辞,如果用什么 [思维方式] 真的无所谓,为什么还会涌现那么多新的 [思维方式] ? | 
|  |      40abelmakihara      2021-03-01 15:30:28 +08:00 正确的废话 语言是工具 生态呢? | 
|  |      41keymao      2021-03-01 15:36:27 +08:00 啊?这...  "每种语言都有它自己的定位,有自己的目标,有自己的特性。" √ "如果用什么语言真的无所谓,为什么还会涌现那么多新的语言?" ? 这话说的,你自己都说了每个工具有他自己的定位,自己的特性, 你怎么还能反问出新的语言出现这种现象呢? 正因为他们用途不同,所以适应不同的需求,需要不断地创造新的语言来适应新的需求啊? 语言只是一个工具,这是对于开发者来说的。 这句话本意是教育开发者,不要被语言所局限,再不同的需求场景下使用不同的语言来完成需求,而不是做语言的卫道士,天天我 php 天下第一 我 python 天下第一的, 很幼稚。 | 
|  |      42zmqiang      2021-03-01 15:37:26 +08:00 或许可以参考现实现实世界的例子: 人类所说的语言和写的文字本身也是一种沟通用的工具,但为什么会有这么多的语言和文字呢? | 
|  |      43WilsonGGG      2021-03-01 15:40:04 +08:00 他们说的不准确,实际上*程序员是一种工具* | 
|  |      44agdhole      2021-03-01 15:47:46 +08:00 同类工具也可以横向比较 有些人说“语言只是一种工具”其实是在说“你技术不行,没权利说哪个语言比哪个更好更差” | 
|  |      45newmlp      2021-03-01 15:53:46 +08:00 那为什么有那么多中工具呢,同种工具还有不同的型号,语言本来就是工具 | 
|  |      46felixcode      2021-03-01 15:55:26 +08:00 via Android 语言只是工具 技术只是手段 产品只是配角,场景才是主角 这些话说出来,显得有多牛 B 就有多装 B | 
|      47codeDreamfy      2021-03-01 15:59:06 +08:00  1 很多时候说这句话的人可能更想表达的是,语言的思想或者编程的思想才是最重要的,因为语言永远学不完,但是编程思想,解决问题的办法不会改变 | 
|      48js8510      2021-03-01 16:02:57 +08:00 via Android 好吧,我摊牌了,我会的多,我凡尔赛了朋友们 | 
|  |      49Yvette      2021-03-01 16:18:38 +08:00 又是一个被不当类比给带偏的讨论 | 
|  |      50wanguorui123      2021-03-01 16:36:04 +08:00 语言只是一种工具 = 条条大路通罗马 | 
|      51fewok      2021-03-01 16:38:22 +08:00 什么不是工具? | 
|  |      52libook      2021-03-01 17:05:00 +08:00 我觉得楼主对“语言只是一种工具”的理解有误,至少我本人在说这个的时候所指的意思不是“用什么语言都无所谓”。 为什么会出现“语言只是一种工具”的观点? 我个人的经历来看,这应该和“PHP 是世界上最好的语言”有关。有些人会把语言作为归宿,认为自己精通了一门语言之后就无所不能,从而产生了一些优越感,进而任何需求都要用这一种语言来做。 那么主流语言有没有本质上的好坏? 拧螺母要用扳手,如果想钉钉子扳手也可以临时顶一顶,但大多时候肯定不如锤子好用。 软件架构上来说,从来都找不到一种方案能够解决所有的问题,更明智的是根据具体的需求去寻找更适合的方案,如果实在找不到就去创造一种。 所以语言的诞生往往都是源于当时现有的技术无法很好的满足某一些需求。 “语言只是一种工具”恰恰是说给那些在一门语言上吊死、深陷思维定式的人听的,旨在于提醒他们:跳出语言的限制,或许有更多更好的方案。 | 
|      53ysChan      2021-03-01 17:40:43 +08:00 连人都是工具,何况语言呢😂 | 
|      54aloxaf      2021-03-01 17:50:08 +08:00  3 我记得王垠以前写过一篇文章谈论过这个问题,还是挺有道理的。 他认为语言是材料而不是工具,因为语言的特性在最终产品中也会有所体现,真正的工具应该是 IDE 、编辑器之类的。 | 
|  |      56xiaotianhu      2021-03-01 17:54:16 +08:00 这么说的人,一般是为了体现自己的优越感 大部分的工具,都是通用性比较强的。我会开手动挡汽车,那么所有的汽车基本上都能无缝切换的开。 我能用 STAR 的钳子,国产钳子也能用。 | 
|  |      57momocraft      2021-03-01 17:59:20 +08:00 人总可以把任何东西分类成手段工具,毕竟目的是一层套一层的 那人们用这些工具做出了什么呢 呵呵 | 
|  |      58hxndg      2021-03-01 18:04:48 +08:00 每当讨论语言的时候,总有不说环境上来就说 XXX 语言好的人,语言只是一种工具是对这种语义的反驳。 但是 A:天下乌鸦一般黑,哪里都有素质低的人。 B:你怎么敢说天下乌鸦一般黑,那么多种类的黑色,那么多的乌鸦。 A 说的时候,重点是第二句 B 只关注第一句话的对错,然后开始批判:你怎么敢说天下乌鸦一般黑? 这种情况脱离了特定的环境,上来就反驳的情况,一般被称为杠精, | 
|  |      59Varobjs      2021-03-01 18:13:36 +08:00 有人把语言当成工具 有人把语言当成信仰 有人... 和而不同 | 
|      60liujavamail      2021-03-01 18:13:40 +08:00 | 
|  |      61bk201      2021-03-01 18:36:18 +08:00 没看明白逻辑点,你既然说了用语言,那不是工具是啥? | 
|  |      63Salticey      2021-03-01 20:04:21 +08:00 via Android 因为语言就是一种工具呀 | 
|  |      64shawnsh      2021-03-01 20:39:28 +08:00 via Android 某个角度是的 | 
|      65AX5N      2021-03-01 21:08:33 +08:00 本来想说点什么,一看楼主表达的意思不就是他反对的“语言只是一种工具”吗,都不知道从哪里下口了。 | 
|      66inwar      2021-03-01 21:14:25 +08:00 via Android 语言只是一种工具--不用选,我全都会 | 
|  |      68alazysun      2021-03-01 22:14:01 +08:00 有一定道理,但这句话太装 b 了 | 
|  |      69ClericPy      2021-03-01 22:28:29 +08:00 这句话有个八九年经验的大佬说过, 有个应届生也说过, 某个纯学术的导师同样说过, 确实很常见的观点, 而且他们说话时候的语境上下文都不一样, 没有什么为什么, 图灵完备的语言功能上确实基本都具备, 但是顺手不顺手还不是冷暖自知, 月经帖了 | 
|      70mNiska      2021-03-01 22:28:44 +08:00 via iPhone 额…?切菜难道要用锤子吗 | 
|  |      71AndyAO      2021-03-01 22:30:49 +08:00 当某个人在讨论问题的时候说出这样的话时,我们应该识趣的尽快闭嘴!甚至还应该唯唯诺诺的假装点点头。因为他已经无话可说了,但心里目前有没有办法接受。 如果没有充分的上下文,这句话毫无价值,「语言是工具」是正确的废话,没有提供任何额外信息。 所以只能表现出他自己内心的强烈情绪。 | 
|  |      72imycc      2021-03-01 22:38:30 +08:00 语言确实是一种工具。用什么语言当然有所谓。挑选合适的工具来工作,就是程序员该干的事。 | 
|  |      73DeWhite      2021-03-01 22:54:10 +08:00 @cxe2v 房间这个说法不错,只是木头和泥巴的房子交换人流的时候容易出现人流交换过慢或者为了满足业务要花大功夫去建立一个完备的木头房。 | 
|      74charlie21      2021-03-01 23:07:54 +08:00 所有的成品在更大的目的面前都是一种工具  房子(你可以自己买 也可以去森林里自己造)在`泡妞`面前就是一种工具 良好的版式设计在`吸引用户`面前就是一种工具 SDK 用的语言 在`借助 SDK 完成功能`面前就是一种工具 APP 用的 SDK 在`APP 功能实现`面前就是一种工具 编程语言 在`APP 功能实现`面前就是一种工具 APP 在`一个人达成目的`面前就是一种工具 画纸和画笔 在`一个人陶冶情操`面前就是一种工具 良好无冗余的时间安排 在`一个人矫正坏习惯避免闲下来想太多`面前就是一种工具 人 在`实现贵国伟大复兴`面前就是一种工具 ... 都是说烂了的话 | 
|  |      75yzbythesea      2021-03-02 03:39:29 +08:00  1 我觉得语言就是一门工具啊。 我一直无法理解国内招人一定要区分出什么 java 后端,python 后端,go 后端。我就纳闷了,那亚马逊的 java 后端是不是跳槽去不了微软写 c#,去不了谷歌写 cpp 呢?事实上毫无此类情况啊。 语言当然有所不同。但是你大部分的技术水平肯定不应该在于对单一语言的理解啊,而是更多的计算机科学通用知识,比如网络,安全,分布式,系统设计这些独立于语言之外的东西啊。 | 
|  |      76bao3      2021-03-02 04:28:10 +08:00 via iPhone 语言不是工具,还能是什么…… | 
|      77JokeEnd      2021-03-02 08:30:35 +08:00 为什么还有提出“为什么总有人搬出“语言只是一种工具”。”这种问题 | 
|  |      78Narcissu5      2021-03-02 08:31:04 +08:00  3 我记得《黑客与画家》里面还专门嘲讽过这件事,“每种语言都一样”背后的潜台词其实是“选谁都差不多”,但其实差得真的很多,语言的选择可以说是程序员的头等大事了 | 
|  |      79encro      2021-03-02 08:32:04 +08:00  1 钉钉子的时候你可以选择很多种类工具,比如锤子,扳手, 但是显然如果如果你的钉子是螺丝钉,你需要钉在水泥墙而不是木板,你还希望以后可以将钉子拔出来但不会大面积损坏墙面---- 这时候你可以选择的理想工具可能是电钻。 | 
|  |      80zorui      2021-03-02 09:00:27 +08:00 难道不是工具吗? | 
|  |      81zorui      2021-03-02 09:01:09 +08:00 语言都是工具,重点是选对工具。 | 
|  |      82raptor      2021-03-02 09:19:55 +08:00 不是工具难道还是信仰么? 当然这句话只是半句,另半句是:要针对应用场景选择合适的工具。 | 
|  |      83breestealth      2021-03-02 09:36:42 +08:00 因为语言本身就是一种工具。 另外“语言只是一种工具”不能推导出你所说的“用什么语言真的无所谓”这个结论,所以后续讨论基本无意义。 | 
|  |      84cxe2v      2021-03-02 09:36:54 +08:00 @DeWhite 是的,我可能话没说完整,工具都有适用场景,泥巴也建不起来高楼大厦,相对的,你修个猪圈不用钢筋混凝土也能达到要求 | 
|  |      85easing      2021-03-02 10:32:44 +08:00  1 整楼都没看到几个类比正确的。。语言当然不是工具,要类比也是类比砖块,是 building block,是材料。而 IDE 这些才是锤子等各种工具,用来把由语言组成的大厦给建造起来。哪儿见过拿钉子锤子组成的高楼呢。。 语言的特性直接影响大厦的基本结构,混凝土和石头建筑就是不一样,更和土房子不一样。更好的材料有助于构建更宏伟的工程。 | 
|  |      86kooze      2021-03-02 10:45:57 +08:00 把你的描述字符串里的“语言”替换成“工具” 毫无违和感。 | 
|  |      87TuxcraFt      2021-03-02 10:57:50 +08:00 不说语言是一种工具 大部分人也是一种工具而已…… 看透了就行 不要搞什么信仰 | 
|      88angusun      2021-03-02 11:01:40 +08:00 打比方如果做得不恰当往往容易让人挑毛病。 虽然大家都能理解,但是就是不舒服。 | 
|  |      89HannibaI      2021-03-02 11:23:09 +08:00 就是因为每种语言都有它自己的定位,有自己的目标,有自己的特性,所以语言才只是一种工具呀。 | 
|  |      90HannibaI      2021-03-02 11:24:52 +08:00 如果某某语言没定位,没目标,没特性,那它连工具都算不上。 每种语言有万能定位,万能目标,万能特性,那它就不是工具了,是改变世界的神迹 | 
|      91gggxxxx      2021-03-02 11:26:22 +08:00 这话当然是对的。 人类使用计算机的目的是什么?不就是用计算机解决一个特定问题嘛? 解决问题使用的是什么编程语言根本不重要,只要这个问题被正确解决了就行。 所以编程语言只是工具 | 
|  |      92southsala      2021-03-02 12:34:12 +08:00 多接触几个平台,多接触几种语言,你会发现语言还真就是个工具,而且还是地位低下的那种 |