能否通过 GPT 改写开源框架

359 天前
 pangdundun996

最近需要做 SQL 语法解析、语义校验相关的工作,语言是 golang ,调研下来相关框架基本都是语法树解析的,后续语义校验的功能没找到,然后我发现 java 那边有比较成熟的实现:apache Calcite ,我就想要是 GPT 能将开源库实现语言翻译一下就好了。 但,显然是不行的-_-,以下是 GPT 的回答

Q:给你一个 java 库,能否将其改写 golang 实现,需要保证功能一致
A:
将一个 Java 库直接翻译成 Go 并保持功能一致是一项复杂的任务。Java 和 Go 有不同的语法、并发模型、类型系统等,因此直接进行翻译可能会导致不符合 Go 语言习惯的代码。此外,一些 Java 特定的功能在 Go 中可能需要以不同的方式实现。

如果你有一个具体的 Java 库,并希望将其功能翻译成 Go ,我建议以下步骤:

了解 Java 代码: 仔细研究 Java 代码,理解其结构、设计模式、算法和功能。

设计 Go 实现: 在理解 Java 代码的基础上,设计相应的 Go 实现。在这个阶段,你可能需要考虑如何在 Go 中表示 Java 中的类、方法和其他结构。

逐步实现: 逐步将 Java 代码翻译成 Go 代码。在这个过程中,需要注意 Java 中的一些特性(例如继承、接口、异常处理)在 Go 中可能需要以不同的方式实现。

测试和验证: 针对翻译后的 Go 代码编写测试,确保它们能够正确地模拟 Java 代码的行为。验证代码是否在不同的场景下都能正确工作。

性能调优:Java 和 Go 有不同的性能特征,因此你可能需要在 Go 代码中进行一些性能调优。这可能涉及到并发模型、内存管理等方面。

文档: 编写适当的文档,使其他开发者能够理解你的 Go 代码并正确使用它。

请注意,直接翻译可能并不总是最佳的做法。在进行翻译的过程中,你可能会发现一些 Go 特有的语言特性更适合替代 Java 中的某些功能,这时你可以考虑采用更 Go 风格的实现。

此外,如果 Java 库涉及与 Java 特有的技术栈相关的功能,比如 Spring 框架、JavaEE 等,那么在 Go 中可能需要找到类似的替代品,或者重新设计和实现相应的功能。
1657 次点击
所在节点    程序员
11 条回复
ysicing
359 天前
钱不够用😂
PTLin
359 天前
你在想什么,要是能做到世界就不需要程序员了 :)
razor1895
359 天前
https://chat.openai.com/g/g-MXIPFnXHY

另外 github 也有一个项目调用 chatgpt api 也能做到,我找找
tomatocici2333
359 天前
gpt 最大的作用还是辅助开发人员,你要先自己会才行。
InDom
359 天前
你可以把每一段代码都让他重新实现,然后你在让他把代码串起来。
version
359 天前
Java 项目: 又老又坑的项目.没请求.没文档.一个接口对应十几种业务. if 和 map 树状能穿越几个世纪.. 人都改不了..ai 能插手.感觉有点悬..

chatgpt github 试过单文件.简单业务还是可以转换..但是很多业务要自己补..起码要懂才能转语言..
thinkershare
359 天前
你要先有能力判断它给出来的结果是否正确再说。
HojiOShi
359 天前
GPT 还没万能到这种地步,但是给个代码片段还是可以的。
litwater
359 天前
搞个微服务,go 和 java 之间通过 dubbo 调用 哈哈
guyeu
358 天前
jni 允许 c++直接调 Java 的方法,就是部署拿到点儿。
pangdundun996
358 天前
@guyeu 准备自己用 golang 写了,发这个贴就是吐槽一下,也知道现在 GPT 还做不了这个事,后续有空可能会参照 Calcite 做个简化的 golang 库

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

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

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

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

© 2021 V2EX