期待有一款好用的转换工具拯救程序员

近日,reddit 上有网友放出了一张疑似 google 翻译添加了能让编程语言间互相转换的图片,立即引发数千名程序员网友的跟帖热议。图片显示,google 翻译中添加了编程语言进行“互译”,输入python 语言【print(hello)】就可翻译成 java 语言【 system.out.println(hello);】。
“java 语言对于大型编程项目来说实在是复杂且冗长了,天哪,急需这样一款工具。”消息一出,网友们兴奋极了。
让程序员们群情激昂的造假图
这当然是假的。不过图片实在太真实了,乍一看,难分真假,很多人都被骗了,在评论里嗷嗷尖叫,以为 google 终于又来拯救他们了,很多人都可能兴冲冲跑到 google 翻译去试了一遍。如果你在 google 翻译里输入了 python 语句,你得到的还是那个相同的输出语句。
能骗过很多程序员,说明“造假者”的造假功力不浅。很多人问,为什么不用截图骗人,而是放一张看上去像是用相机拍的照片,这不多此一举吗?
你知道,如果用的是截图,一般了解套路的程序员很快就能发现图片是假的,因为很容易怀疑这张图是通过开发工具编辑 html 而成。但这位“造假者”显然没有这么做,实际上,“像素级”的模糊照片增加了真实性,而这恰恰是他的高明之处。
网友@schludy评论说,“真正的神级程序员都太聪明以至于都不会使用截图......”,当然,也不会麻烦到使用 p 图软件。
这幅图正是编辑 html 后的截图
不过,程序员的狂热期待,也说明一款优秀的编程语言转译工具(transpiler,是以某种编程语言的程序源代码作为输入,生成以另一种编程语言构成的等效源代码的转译器。)对他们来说确实是迫切需求。
那到底有没有实用的转译工具?
目前还没有成熟的转译器供程序员们使用,很多都还在初级开发阶段,比如这款叫 voc 的转译工具(https://github.com/pybee/voc),能将 python 字节码(bytecode)转换为 java 字节码,然后在 java 虚拟机上运行。(链接:https://pybee.org/project/projects/bridges/voc/)
voc 工具提供两个重要功能:
将 python 3.4+ 源文件编译为 java 类文件,使你能够在 jvm(包括 android 的vm)上运行 python 代码。
提供一个 api 让你以编程方式创建 java 类文件。
不过官网指出,voc 工具还不能完全兼容 python 3.4,并且只有一个简单的标准库实现,目前仍然需要实现一些语言特性(比如非本地函数和一些内置函数)。但是,voc 工具可以转换简单的 python 程序,甚至可以编写简单的 android 应用。
根据程序员的使用体验来看,“时好时坏”,这个转译工具目前的状况有点像 google 翻译。
编程语言转换器可行吗?
在程序员群体中,一款好的编程语言转译器意味着有更好的生产工具,但像这样有着强需求的工具为什么到现在都没出现?
显然,编程语言转译器不是那么好做,可能需要花费大量的时间和精力,要不然像 google 这样的企业可能早做出来了。
reddit 上的程序员网友也对编程语言转译工具建言献策:
网友@merc08 指出应该根据 google 翻译常规语言的做法来做:可以用语言来做转译,而每个单词有多种不同的含义。编程语言对每个命令都有固定的含义,所以它可能会是一个非常简单的查找表,只要它仅限于一种命令,做起来就不会那么难。
这位网友的想法简单来说就是,人们会接受 google 翻译在常规语言翻译中出现的一些错误,这可能并不妨碍沟通,而在编程语言转译工具中,也会让你通过适当关键字来进行匹配搜索正确的转译格式。
有人反驳,编程语法不仅仅由查找表中的关键字组成,可能要比这复杂得多。比如面临如何设计简单的算法来进行转译、内存管理这些问题。
还有人提到,理论上讲,任何两种图灵完备语言都是可行的,只需将一种语言程序通过图灵机(turing machine)就可以翻译成另一种语言程序,当然还需要考虑更难的跨范式(cross-paradigm)翻译,如 prologinto转译成 basic 或 javascriptinto 转译成 haskell。
但考虑到 google 翻译目前对常规语言的翻译都不是那么准确,而对准确性要求更高的编程语言来说,现在编程语言转译工具的实用性可能更鸡肋,很多网友表达了悲观态度。
总的来说,这幅“造假”图片能引起程序员群情亢奋,说明了对这一工具需求的迫切性——当然,排除那些对各种编程语言非常熟练的“大神级”程序员,他们可能对转译工具不屑一顾。科技改变生活,为了更快的改变大众生活,就应该先提升程序员们手中的生产工具。
期待有一款好用的转译工具来拯救程序员。大声告诉这个世界,你需要它!

如何在Intellij IDEA中使用好Debug
OPPORenoZ手机搭载联发科P90芯片 AI性能成看点
利用新颖的热电现象构建一种能够实时可视化热流的超薄传感器
短视频催热下的专业摄影灯,更关注工业连接器能否提供可靠快捷的连接?
服务器硬盘发生故障前会有哪些表现?
期待有一款好用的转换工具拯救程序员
微雪电子OTS-28(34)-0.65-01SSOP28测试座简介
时间敏感型网络:IEEE标准推进工业4.0的五种方式
安科瑞工业用绝缘监测装置系统方案
大数据对于学习语言的方式有什么影响
MT76X8系列无线AP方案在物联网行业中的应用
ACWA Power和华为数字能源签署联合创新MOU
二氧化碳传感器使用过程中有哪些需要注意的
ZCC1708 微电量采集芯片的特点及应用领域
华米科技Q3营收18.6亿同比增长73.3% HTC连续第6季度亏损
鲁大师2023年PC半年报:AMD高端称王,热门仍看Intel
安防产业智能化带来安企新机遇 智能化变革带给安企新的挑战
一文读懂RS-232与RS-422及RS-485三者之间的特性与区别
以太网供电支持5GBASE-T及其以后应用的需求解析
未来智能显示屏将给我们带来便捷的智能家居体验