不会好好说话是吧
很好奇咋发现的
未来很长一段时间,你们可能在论坛见不到我了。
总之就是再见。
要迎来完结篇了吗
要迎来完结篇了吗
完结不了一点 等我晚点更新 有大料
1st May 2024
五一快乐捏
Github 用户 Yeying-Xingchen 更名了上方仓库至 Yeying-Xingchen/OneBot-Chat ,简介为:
山水画路社区MC服务器的启动器。
截至目前,项目只有readme:
# OneBot-Chat
## 简介
这是一款基于OneBot协议的聊天软件。
同日, 开源作者
将其Github组织 XingyuanLuange XingyuanLanguage
更名为 PandaLanguage
并对该组织下仓库进行了重命名/调整/创建:
同时对仓库 pandalanguage/bamboo-python 进行了 6 次提交:
不是我草
这个人是怎么想到这么多好名字的
我每次做项目都恨不得 untitled 1
(
哦,的确,这段话很脑掺,我也觉得。
其实我本来想写编译器的,但是两个语言都是解释型
开源作者这么快就复出了
闲来无事看看论坛而已…
自己立的Flag感觉我的技术水平无法实现。
22小时后,开源作者在koishi论坛复出!
Theoretically there is no “interpretive” for a programming language itself, there are only interpreters for some languages and / or compilers for some other languages, however, these two sets are not explicitly disjointed.
You see, there are often compilers for C, but you can also see there are TCC or other interpreters that read C and execute it on the fly.
As for Python, many articles in the Internet and even the official site of Python would tell you that Python is an “interpreted” language. In fact, that is because, the official implementation - or we call it CPython - would compile Python source code to pieces of bytecode (they are saved in *.pyc files) and then “interprete” them.
So what if we take a look at several third party implementations for Python the language? You see that IronPython compile Python code to the intermediate representation of CLR (on Windows they are just plain *.exe / *.dll files), or you can also execute them on the fly just like an interpreter (and it is actually, interpreted by CLR). Similarly, Jython compile Python code to JVM bytecode and can be executed by any (compatible) JVM. PyPy, on the other hand, introduces a JIT (Just-in-Time) compiler and then interprete the bytecode that it compiled and optimised.
If you agree that Java code can be compiled to JVM bytecode by javac, or C# code can be compiled to CLR IR by dotnet tools, then you probably agree with the compilation of Python code to pyc by CPython.
So, back to the subject, is Python or other languages are “interpreted”? Since there’s no a classification for a language to mark them “compiled” or “interpreted”, you can’t say that. But can you write a compiler for the languages you like? Well, it depends. You see, almost every languages created in recent decades are designed to be compiled to some IR and then either executed by a VM or translated to binary code by backends like LLVM (LLVM IR can be also interpreted directly though). Why, you might ask. The only answer is easy to be developed and the stability. Especially LLVM is largely used by many applications and tools, the IR is well-documented and easy to learn. Even you could write a hello world in several hours by reading the documents carefully.
So, sorry for the long comment, but it is really not that hard to create a “Hello, World”-level compiler for a “formly-interpreted” language. It is also recommended to utilise LLVM or other tools to create your compiler to make your own “compiled” language (Gee, I really hate to call a language “compiled”).
Translation - zh-CN
从理论上讲,编程语言本身没有“解释”,只有某些语言的解释器和/或其他语言的编译器,然而,这两个集合没有明确脱节。
你看,通常有C的编译器,但你也可以看到有TCC或其他解释器读取C并实时执行它。
至于Python,互联网上的许多文章,甚至Python的官方网站都会告诉你,Python是一种“解释”语言。事实上,这是因为,官方实现(或我们称之为CPython)会将Python源代码编译为字节码片段(它们保存在*.pyc文件中),然后“解释”它们。
那么,如果我们看看Python语言的几个第三方实现呢?您看到IronPython将Python代码编译为CLR的中间表示形式(在Windows上,它们只是普通的*.exe / *.dll文件),或者您也可以像解释器一样实时执行它们(实际上是由CLR解释的)。同样,Jython将Python代码编译为JVM字节码,并且可以由任何(兼容的)JVM执行。另一方面,PyPy引入了JIT(即时)编译器,然后解释其编译和优化的字节码。
如果您同意Java代码可以通过javac编译为JVM字节码,或者C#代码可以通过dotnet工具编译为CLR IR,那么您可能同意CPython将Python代码编译为pyc。
那么,回到主题,Python或其他语言是“解释”的吗?由于没有一种语言的分类来标记它们“编译”或“解释”,你不能这么说。但你能为你喜欢的语言写一个编译器吗?嗯,这要看情况。你看,近几十年来创建的几乎所有语言都被设计为编译成一些IR,然后由虚拟机执行,或由LLVM等后端翻译成二进制代码(LLVM IR也可以直接解释)。为什么,你可能会问。唯一的答案是易于开发和稳定性。特别是LLVM主要用于许多应用程序和工具,IR记录良好且易于学习。通过仔细阅读文件,你甚至可以在几个小时内写出一个你好世界。
因此,很抱歉评论这么长,但为“形式解释”语言创建“Hello, World”级编译器真的不难。还建议使用LLVM或其他工具来创建编译器,以制作自己的“编译”语言(天,我真的很讨厌称语言为“编译”)。
很感谢您的纠正!
谢谢您的翻译
不是我都复制到百度翻译看完了才看到这个,gee