最近感觉,不管写什么语言都像在写 Python ...好事还是坏事?

2020-12-20 04:32:59 +08:00
 black11black
如题。我自己技术栈不丰富也不深入,但应该不算小白,算是老白。做过生产级项目的有 node/py/java 。c 只在学校写过,cpp 基本上是用来给 py 写插件,写起来反正也是 c with stl 那味儿。。。最近一年在多个项目间切换,最近渐渐总结出一些规律,发现自己写什么东西都像在写 Python

无论是 node 还是 cpp 还是 java,基本用到的数据结构也就是各式各样的 array 和 map,可能还有 set,而换到 java 里则是 hashmap 。可能因为没有使用一些高级特性吧,比如 cpp 的元编程之类的,真的是感觉几种语言写起来都一样(数据结构方面是这样,算法方面则是根本不局限在语言)。像 node 这种 es6 之后甚至都不需要考虑闭包的,感觉写起来除了慢以外完全没区别。

以前说写 c 的时候最大的优势是不管写什么大概写的时候就知道编译出来的汇编是个什么样子,在学校写编译器的时候倒是确实有过这种感觉,但是进开发岗以后就再没写过需要自己回收垃圾的语言了,这种感觉也是模糊了。

非引战,今天知乎给我推了个帖子,说适合新手入门的语言是什么,我不知怎么的就被吸引进去看看。里面回答痛批 python,大捧 C 语言,说一切没有类型的语言给新手学就是屎,我现在确实是不理解写这个回答的人的心情。我倒是感觉除了 c 以外,剩下的基本上都是简单学学就能可上九天揽月可下五洋捉鳖,我现在写了这么长时间 cpp 插件,你要是真叫我从头做一个纯 cpp 的项目我还真不知道能写啥,毕竟咱们就是一个开发,底层基本不写,对于 cpp 的 tcpip 框架也不熟,cv 啥的也不会,真叫我上手做点啥肯定是两眼一抹黑
2363 次点击
所在节点    程序员
12 条回复
msg7086
2020-12-20 04:46:02 +08:00
我最近涂 Java 的时候涂出了 Ruby 味,结果被同事喷了一把,默默滚回 Java 风了。
autoxbc
2020-12-20 05:27:48 +08:00
闭包是个语言特性,很多语言都有,看描述当成了负担?而且 es6 和闭包也没关系
black11black
2020-12-20 07:44:32 +08:00
@autoxbc 建议提高阅读理解能力
x1155665
2020-12-20 08:00:03 +08:00
如你所说的,取决于项目需求吧。我写小程序有时也有这个感觉。。不过项目大了, 对 OOP 要求高了 就不一样了
20015jjw
2020-12-20 09:05:25 +08:00
屎就屎吧
毕竟我野鸡大学 Berkeley 上新手入门就用的 python
没毛病
yzbythesea
2020-12-20 09:21:44 +08:00
可能是你做的东西太简单了。Java,Cpp 写分布式还是挺不错的。Python 一般就只能写个脚本。
black11black
2020-12-20 09:22:41 +08:00
@20015jjw 另外关于类型这个事吧,我个人现在感觉,其实 python 也只是把声明和赋值简化到同一个语法,才让人产生弱类型错觉。实际上写程序时类型方面的考量基本上与 c\c++无异,差异基本只在方便性,还有工程化时候的一些问题上。类型方面我倒觉得这几个语言里面,node 做的稍差一些。
black11black
2020-12-20 09:27:26 +08:00
@yzbythesea 确实,不过这个主要还是 py 网络 io 效率的问题吧,而不是写程序逻辑的层面。我只在 py 进行过 tcpip 层面的编程,剩下的语言都是更高抽象层级的开发了。不过现在 py 把 io 复用做完以后其实还可以,单核心节点类型的应用大概没啥问题。多核心拉胯则又是 gil,跟写也没啥关系
zhuangzhuang1988
2020-12-20 09:33:47 +08:00
能搞定问题的就好了.
TypeError
2020-12-20 09:46:21 +08:00
Python 强类型,c 才是弱类型

我现在 go 都是当 Python 写,怎么写得舒服怎么来
早写完早下班
7S5cVx
2020-12-20 09:46:30 +08:00
写点 haskell 就 感觉可能没那么像了
aneostart173
2020-12-20 10:07:02 +08:00
python 什么时候不是强类型了。。。

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

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

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

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

© 2021 V2EX