Python一鍵轉Java?“Google翻譯”你別鬧
作者 | 若名
出品 | AI科技大本營(ID:rgznai100)
近日,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 翻譯目前對常規語言的翻譯都不是那麼準確,而對準確性要求更高的程式語言來說,現在程式語言轉譯工具的實用性可能更雞肋,很多網友表達了悲觀態度。
總的來說,這幅“造假”圖片能引起程式設計師群情亢奮,說明了對這一工具需求的迫切性——當然,排除那些對各種程式語言非常熟練的“大神級”程式設計師,他們可能對轉譯工具不屑一顧。科技改變生活,為了更快的改變大眾生活,就應該先提升程式設計師們手中的生產工具。
期待有一款好用的轉譯工具來拯救程式設計師。大聲告訴這個世界,你需要它!
(本文為 AI科技大本營原創文章,轉載請微信聯絡 1092722531)
公開課預告
◆
今晚8點直播
◆
如何用AI技術為黑白老照片上色?本次公開課中,百度高階研發工程師李超將講述對抗生成網路相關,學術界的研究現狀和應用場景,以及GAN在百度視覺+百度PR+新華社合作的煥彩專案中的應用。
推薦閱讀
相關文章
- 使用google翻譯 api 翻譯中文成其他語言GoAPI
- Google 谷歌翻譯 Mac 客戶端(Mac翻譯軟體)Go谷歌Mac客戶端
- 告別生硬翻譯!AI谷歌翻譯:讓你的文字"說人話"AI谷歌
- Python:一個鬧鐘Python
- Mac電腦ocr文字識別並一鍵翻譯工具:Text Scanner for MacMac
- 你真的認為Google翻譯不影響"前端"頁面功能嗎?Go前端
- Python 谷歌翻譯Python谷歌
- Google V8 引擎工作原理(翻譯)Go
- Python批量圖片識別並翻譯——我用python給女朋友翻譯化妝品標籤Python
- 用Python做一個翻譯軟體Python
- 一鍵接入 ChatGPT,讓你的QQ群變得熱鬧起來ChatGPT
- 一篇文章教會你利用Python網路爬蟲獲取有道翻譯手機版的翻譯介面Python爬蟲
- Python 使用白嫖網易翻譯 API 進行翻譯PythonAPI
- Tensorflow Python API 翻譯(nn)PythonAPI
- 別開心太早,Python 官方文件的翻譯差遠了Python
- python如何翻轉字串?Python字串
- 用Python做一個簡單的翻譯工具Python
- python抓取百度翻譯Python
- Making Games with Python & Pygame 中文翻譯GAMPython
- 口譯翻譯類別及服務內容
- Swift-語音識別、翻譯Swift
- 【翻譯】GRAIL-手寫識別AI
- Google ML Kit 中文文件上線 | 掘金翻譯計劃Go
- Python新手教程:40行python程式碼寫一個桌面翻譯器Python
- [Java 8 Tutorial翻譯系列]Java forEach詳解Java
- 別鬧了,這些都不是數字化轉型
- Tensorflow Python API 翻譯(array_ops)PythonAPI
- python爬蟲呼叫谷歌翻譯介面Python爬蟲谷歌
- 原創翻譯-Java 8新特性Java
- 翻譯 | Java 中的變型(Variance)Java
- 玩轉ABP框架——翻譯《Mastering ABP Framework》框架ASTFramework
- 人工智慧能翻譯語言了:Facebook'TransCoder AI'在Java,Python和C ++之間轉換程式碼人工智慧AIJavaPython
- python鬧鐘例項Python
- Perl資料型別安全研究【翻譯】資料型別
- 提高程式設計能力的關鍵(翻譯)程式設計
- 怎麼翻譯整篇Excel文件?Excel文件翻譯一招搞定Excel
- CVPR 2020丨基於範例的精細可控影像翻譯CoCosNet,一鍵生成你心目中的影像
- Linux—vim/vi 翻頁跳轉命令快捷鍵Linux