Python 一键转 Java?“Google 翻译”你别闹

近日,Reddit 上有网友放出了一张疑似 Google 翻译添加了能让编程语言间互相转换的图片,立即引发数千名程序员网友的跟帖热议。图片显示,Google 翻译中添加了编程语言进行“互译”,输入Python 语言【print("Hello")】就可翻译成 Java 语言【 System.out.println("Hello");】。

“Java 语言对于大型编程项目来说实在是复杂且冗长了,天哪,急需这样一款工具。”消息一出,网友们兴奋极了。

让程序员们群情激昂的造假图

这当然是假的。不过图片实在太真实了,乍一看,难分真假,很多人都被骗了,在评论里嗷嗷尖叫,以为 Google 终于又来拯救他们了,很多人都可能兴冲冲跑到 Google 翻译去试了一遍。如果你在 Google 翻译里输入了 Python 语句,你得到的还是那个相同的输出语句。

能骗过很多程序员,说明“造假者”的造假功力不浅。很多人问,为什么不用截图骗人,而是放一张看上去像是用相机拍的照片,这不多此一举吗?

你知道,如果用的是截图,一般了解套路的程序员很快就能发现图片是假的,因为很容易怀疑这张图是通过开发工具编辑 HTML 而成。但这位“造假者”显然没有这么做,实际上,“像素级”的模糊照片增加了真实性,而这恰恰是他的高明之处。

网友@schludy评论说,“真正的神级程序员都太聪明以至于都不会使用截图......”,当然,也不会麻烦到使用 P 图软件。

这幅图正是编辑 HTML 后的截图

不过,程序员的狂热期待,也说明一款优秀的编程语言转译工具(transpiler,是以某种编程语言的程序源代码作为输入,生成以另一种编程语言构成的等效源代码的转译器。)对他们来说确实是迫切需求。

那到底有没有实用的转译工具?

目前还没有成熟的转译器供程序员们使用,很多都还在初级开发阶段,比如这款叫 voc 的转译工具,能将 Python 字节码(bytecode)转换为 Java 字节码,然后在 Java 虚拟机上运行。

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 翻译目前对常规语言的翻译都不是那么准确,而对准确性要求更高的编程语言来说,现在编程语言转译工具的实用性可能更鸡肋,很多网友表达了悲观态度。

总的来说,这幅“造假”图片能引起程序员群情亢奋,说明了对这一工具需求的迫切性——当然,排除那些对各种编程语言非常熟练的“大神级”程序员,他们可能对转译工具不屑一顾。科技改变生活,为了更快的改变大众生活,就应该先提升程序员们手中的生产工具。

期待有一款好用的转译工具来拯救程序员。大声告诉这个世界,你需要它!

原文地址:https://blog.51cto.com/14226273/2368158

时间: 2024-11-08 00:03:36

Python 一键转 Java?“Google 翻译”你别闹的相关文章

[python]Google翻译小程序

工程中要用到一个翻译的功能,也就是提交到Google翻译后,获取返回的结果. 首先摸清Google翻译的脉络: request处理 提交翻译后,查看request和response分别是什么内容: 首先我们得到了提交的URL url = httl://translate.google.cn/translate_a/t 还有如上的提交表单,分析可知: sl = source language = en(english) tl = target language = zh-CN(简体中文) 以及编码

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

破解google翻译API全过程

前言 google的翻译不得不承认它是比较好的.但是google翻译对外提供的翻译接口都是收钱的,做为一名普普通通的开发者,囊中羞涩,因此就需要借助技术的力量来完成免费的翻译接口的调用. git 首先在github上我们找到了这篇链接 https://github.com/ssut/py-googletrans 看介绍免费.无限制,这刚好适合我们来用.于是按照它的操作步骤我们来试试: 由于它是python的,因此第一步是去下载它的python库,由于我没有配置python pip的环境变量,因此

paip.性能跟踪profile原理与架构与本质-- python扫带java php

##背景 弄个个输入法音标转换atiEnPH工具,老是python性能不的上K,7k记录浏览过k要30分钟了. ##目标 分析一个程序的性能,最终都归结为回答4个基本的问题: 程序运行速度有多快? 运行速度瓶颈在哪儿? 程序使用了多少内存? 内存泄露发生在哪里? 谁引用着泄漏的对象? 作者 老哇的爪子 Attilax 艾龙,  EMAIL:[email protected] 转载请注明来源: http://blog.csdn.net/attilax #工具cProfile,objgraph 谁引

别开心太早,Python 官方文档的翻译差远了

近几天,很多公众号发布了 Python 官方文档的消息.然而,一个特别奇怪的现象就发生了,让人啼笑皆非. Python 文档的中文翻译工作一直是“默默无闻”,几个月前,我还吐槽过这件事<再聊聊Python中文社区的翻译>,当时我们的进度是 10.3%,远远落后于日本和法国,甚至落后于巴西! 这次所谓的中文版,当然是未完成翻译的残品.刚查了下,整体进度是 19.7%. 翻译进度不足20% 有的公众号在发布消息的时候,说明了这不是官宣.不是正式发布版,还指出了中文版的访问地址是隐藏入口.这都是忠于

使用jQuery集成Google翻译

利用jQuery,轻松将google翻译集成到你的web应用中. 1. [代码][JavaScript]代码     ?1<script src="Scripts/TranslatorScript.js" type="text/javascript"></script>?2 [代码]LoadScript,设置路径     ??1LoadScript(scriptPath + "jQuery-BlockUI.js");2Lo

获取google翻译的音频文件_合并音频文件的方法

1. 把引文输入google 翻译,然后点击“朗读” 2. 按下F12键,打开也变调试窗口,在网络标签页中,算中“媒体”列表,删选出媒体文件如下: 3. 获取音频文件 选中请求网址,复制网址,在浏览器中黏贴,访问 右键弹出菜单中,选中“另存为”,即可获取“音频文件” 4. 合并音频文件片段 因为google翻译,会截取翻译的段落为一段一段,所以获取的翻译文件也是一段一段的. 分别下载后,并按照顺序明明每个音频文件. 如文件 0001.MP3, 0002.mp3, 0003.MP3 算中第一个文件

google翻译,翻译当前的网页

网页翻译为德语(Translate Page To German) <a href="javascript: void(window.open('http://translate.google.com/translate?u='+escape(location.href)+'&langpair=en%7Cde', 'English_to_German', 'resizable,scrollbars,status'))">网页翻译为德语(Translate Page

Google翻译PDF文档

翻译软件虽多如牛毛,但有关整段/全文翻译,堪用的软件极少, 涉及专业技术的文献.胜任翻译工作的人力稀缺.少不了project师讴心沥血. 由于多是PDF格式.即使要翻译个概要,也要折腾好几回: 另存为TXT文本→逐段翻译→插入翻译结果→又一次编辑... Google翻译的强大功能一直为非常多人所津津乐道. 殊不知,除了在线翻译某段文字或网页,Google还能够直接翻译Word或PDF文档! 也就是说.当你输入 Word或PDF文档的URL地址,再点击"翻译"button时, 无论这个文