为什么总有人将某些种类的计算机程序与编程语言相关联?

2020-04-12 05:30:32 +08:00
 gerardyang

例如 提到 Python 就必定是爬虫 /大数据处理 /深度学习,反之亦然。

前一段时间在某个物联网项目开发群窥屏的时候更是出现了“学 Go 以后就可以研究区块链,所以我们选 Go 作为后端语言”。

这种感觉很别扭,为什么爬虫一定得是 Py,NodeJS 不行吗。为什么提到 Py 就是深度学习,C/C++它不能做吗?你想做的话都可以啊。有人可能会说到编写效率的问题,这点上确实某些编程语言会快点,但是我觉得没必要认为就一定要是这个语言做啊。

个人认为不应该将某一种方法归为某一种语言最优,对于计算机程序而言,语言没有优劣之分,只有最后写出来的成品有。

P.S.这只是我个人的观点而已,可能有些极端。

3073 次点击
所在节点    程序员
20 条回复
rogwan
2020-04-12 05:57:12 +08:00
语言只是核心,语言都有生态。开发者选择某个语言是作为完成项目的工具,当然要看工具的配套生态,你一定要说家轿能不能去越野?肯定可以。你还可以自己改装。那为什么不直接选越野车呢?
learningman
2020-04-12 08:45:51 +08:00
那你可以自己强行去写嘛,你用 c 写爬虫,从 socket 开始写吧
都这么说,是因为这些语言各自有擅长的地方,形成了各自的生态。你自己非要强行,也没人拦着你不是。
raymanr
2020-04-12 08:59:55 +08:00
还有就是有了相对固定的语言和接口的话,便于互相交流啊
比如统计学相关的,非得用 C 去写的话,同行可能看不懂啊
就像非要用 R 去写服务端脚本一样,其他后端的看了 R 写的后端脚本可能只有一个想法。。。

还有就是 js 这种,只有它才是所有浏览器都能跑
zhazi
2020-04-12 09:12:57 +08:00
要不怎么说国内软件开发领域比较弱呢,天天争论这个语言好那个语言好的无意义话题,不务实,facebook 也拿 php 做 web 这么多年也没说比 java 差多少。java 爬虫也未必比 python 差。
讨论语言的都是很可怜,没有格局,成不了气候。
yeshang
2020-04-12 09:30:45 +08:00
Python 就必定是爬虫 /大数据处理 /深度学习, 资源丰富

你可以试试 php 去开发深度学习
snnn
2020-04-12 09:33:47 +08:00
能用 c++以外的语言写 machine learning 的 engine 吗?不能。

我 06 年开始做爬虫,用的是 c++和 Perl
stimw
2020-04-12 09:40:59 +08:00
说到朗朗,你第一时间不是想到钢琴家,难不成是 nba 运动员?...人家就是擅长弹钢琴,你非要他唱跳 rap 篮球都上,并不是不能做,而是做的没有坤坤好,为什么不让他专注弹钢琴呢?
wangxiaoaer
2020-04-12 10:12:00 +08:00
吃饭为什么要用碗,用盆装也行啊。

装水为什么要用水壶,用夜壶也行啊。


你是来抬杠的吧。
lscexpress
2020-04-12 10:22:19 +08:00
听出来了,楼主应该是一个计算机系的学生。为什么总有人,因为这些人就是这么做的。你去做啊,你用 c 去写爬虫啊(你要是有本事用汇编写去写啊)。别光说这个也可以做,那个也可以做,光说不做假把式。
charlie21
2020-04-12 11:56:04 +08:00
如果 99% 的当代网络爬虫使用者都用的 C 语言,那么 当代如果你要搞爬虫 你就会用 C 语言

因为当代搞这些领域的人们之中的大多数人就是用的这个语言。

如果你是用库,那么 大多数人用的库或者人数很多的人用的库,一定是 库很好用 / 很实用 / 保持更新 等优点,吸引 API caller 去用。

这些都是前人踩过的坑。

归根到底,就你一个聪明人,别人都是傻子,那么你可以用 php 搞大数据。“就你一个聪明人,别人都是傻子” 的领域,的确有,要么是科学家,要么是搞算法,绝对不会是 选什么编程语言这种入门级领域。

---- 如果是搞科研,那么就不一样了。科研就要标新立异。归根到底,还是 API caller 的水,太浅,浅到不值得去标新立异,浅到不值得不从众
reedthink
2020-04-12 12:15:08 +08:00
因为为了站在巨人的肩膀上
jinsongzhao
2020-04-12 12:17:08 +08:00
这个问题和成长阶段有关。其实 c 语言可以做所有事情,为什么你不只学一个 c 语言呢?当你语言会得少时,你还没有剩余精力通过广泛涉猎来提高效率,这是打基础阶段。随着年龄大了,基础语言很熟悉了,又因为工作需要,会的语言多了,发现调用现有的开源库实现更快,而不同的语言里都有做得特别好的库,有了这些库,可以事半功倍,然后就会开始产生你遇到的质疑。到了后期阶段,又多了各种语言系统整合经验后,你可能哪个快速就用哪个了。最后终极阶段,你就想发明一种通吃各种领域的语言,创造你喜欢的生态,来困惑和磨练新人了。
Liyiw
2020-04-12 13:08:12 +08:00
说明楼主不是调包侠( dog
james122333
2020-04-12 13:59:14 +08:00
有没有人做决定了应用派的选择 有人做语言性质又相近自然选择不只一种 我也很不爽搞派别
但有人执意要其他人搬砖有什么办法 这样来看不要帮助他们让人搬砖是个好选择 只是楼主还是得透过应用证明自己
linvon
2020-04-12 14:59:25 +08:00
去纽约就一定要坐飞机吗? 坐火车不行吗?
penguinWWY
2020-04-12 15:38:15 +08:00
说的好,建议楼主拿 C++做一遍爬虫,或者拿 Node 写游戏引擎,看好你
JerryCha
2020-04-12 16:18:44 +08:00
楼主牛逼!
kios
2020-04-12 16:23:40 +08:00
@wangxiaoaer 话糙理不糙,哈哈哈
as9567585
2020-04-12 17:00:15 +08:00
因为很多语言在设计之初的时候,是面向特定领域的
23571113
2020-04-12 21:29:01 +08:00
你只在学校做过玩具吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661595

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX