当不同编程语言使用者对同一个概念理解不一致...
H****r · H****r 发布于2020-01-22 15:55 浏览:1102 回复:0

你遇到过和你编程语言不同,两者对同一概念理解不一致的情况吗?

知友经历:

最近用 Python 的框架 fastapi 写了一个深度模型推理的服务,服务要提供给用 java 写的业务程序调用。因为模型放在一个 cpu 机子上,所以推理速度很慢,于是我让 java 端的同事异步发 http 请求调用服务,同事给我说这不是异步,是并发。

我当时没有理解,自己对异步、同步、阻塞、非阻塞、并发、并行的概念也不甚理解,所以跟他们讨论了好一会儿,还是觉得客户端发了一个 http 请求后,在等待响应的同时,去发另外一个 http 请求,这个操作是异步,而不是他们理解的并发。

后来仔细想了想,也翻了翻资料,发现 java 不原生支持协程,因此在描述并发地发 http 请求的时候,java 更多会用多线程来实现,而 Python 则可以使用多线程或者异步的方式来实现。因此,说到并发, java 程序员便更多地会想到多线程,而不是用协程实现的并发?

一直觉得编程语言只是工具,不同编程语言对很多概念的理解应该是一致的,但这次讨论却让我感觉到了不同编程语言使用者之间的一些不可跨越的鸿沟,看待问题和解决问题的方式会如此的不一样。所以,想问问有没有遇到和我类似的情况,因为不同的编程语言而带来的不同的思维模式?

来源:https://www.zhihu.com/question/366449539/answer/981637860

点赞  ( 0 )
收藏
评论(0)
TOP