Programming languages 关于编制程序语言的几个问题

Programming languages 关于编制程序语言的几个问题,programming-languages,Programming Languages,我是编程新手。。但我想知道编程语言是如何开始的;我是一个Windows操作系统的用户,所有的东西看起来都很庞大。所以,我的问题是,程序员如何从那个空白屏幕开始构建自己的编程语言 还有,有很多新的语言吗?还有自制的吗?我不完全理解你的主要问题,但我可以告诉你,每个月都会有新的编程语言出现:-)它们中的很多从来没有被(公开)过,而且很多都非常特定于一个较小的领域。但没有确切的统计数字 可在上找到列表 我不完全理解你的主要问题,但我可以告诉你,每个月都会有新的编程语言出现:-)它们中的很多从未被(公众

我是编程新手。。但我想知道编程语言是如何开始的;我是一个Windows操作系统的用户,所有的东西看起来都很庞大。所以,我的问题是,程序员如何从那个空白屏幕开始构建自己的编程语言


还有,有很多新的语言吗?还有自制的吗?

我不完全理解你的主要问题,但我可以告诉你,每个月都会有新的编程语言出现:-)它们中的很多从来没有被(公开)过,而且很多都非常特定于一个较小的领域。但没有确切的统计数字


可在上找到列表

我不完全理解你的主要问题,但我可以告诉你,每个月都会有新的编程语言出现:-)它们中的很多从未被(公众)所接受,而且很多都非常特定于一个较小的领域。但没有确切的统计数字


可在上找到列表

要想出一种新的编程语言,首先需要想出它的功能。使用形式语法,您可以决定是将true/false变量称为bool还是boolean或boolean(过于简化的示例)

一旦语法就位,您就可以用已知的编程语言编写程序,该语言使用语法规则将代码行作为输入,并生成机器可执行代码作为输出。这样的程序称为编译器。机器可执行代码通常特定于将在其上运行的机器,例如,如果是英特尔处理器,则编译器需要生成符合英特尔标准的汇编语言


因此,在设计自己的语言之前,最基本的计算机科学课程是计算机体系结构、自动机理论和编译器构造,然后你需要学习一些关于硬件的汇编语言的知识,你计划在这些硬件上运行你的程序,最后是一种低级的编程语言,比如C,它可以帮助你编写新的编译器。

要想出一种新的编程语言,你首先需要想出它的功能。使用形式语法,您可以决定是将true/false变量称为bool还是boolean或boolean(过于简化的示例)

一旦语法就位,您就可以用已知的编程语言编写程序,该语言使用语法规则将代码行作为输入,并生成机器可执行代码作为输出。这样的程序称为编译器。机器可执行代码通常特定于将在其上运行的机器,例如,如果是英特尔处理器,则编译器需要生成符合英特尔标准的汇编语言


因此,在设计自己的语言之前,最基本的计算机科学课程是计算机体系结构、自动机理论和编译器构造,然后,您需要学习一些关于硬件的汇编语言的知识,您计划在这些硬件上运行您的程序,最后学习一种低级编程语言,如C,它可以帮助您编写新的编译器。

要编写程序,您需要一个程序

以下是您要做的: 1) 决定你的语言是什么样的(语法) 2) 编写解析器(将程序员键入的文本转换为解析树) 3) 将解析树的内容转换为目标CPU能够理解的1和0。
4) 将所有这些打包到操作系统所需的可执行文件中。

要编写程序,您需要一个程序

以下是您要做的: 1) 决定你的语言是什么样的(语法) 2) 编写解析器(将程序员键入的文本转换为解析树) 3) 将解析树的内容转换为目标CPU能够理解的1和0。

4) 将这一切打包到操作系统期望的可执行文件中。

绝大多数程序员不会创建自己的编程语言。他们使用现有的语言。我明白,这不是我的问题。@Roger Lipscombe,他们不创建自己的语言,但他们应该开始这样做。面向语言的编程比任何其他已知的设计方法都要强大得多。如果你想对@SK Logic有一个极其自下而上的理解,你可以从NAND门开始,然后我们就进入了领域特定语言的领域,虽然我不太同意你关于“比任何其他已知的更强大……”的说法,我同意他们是非常有用的。绝大多数程序员并不创建自己的编程语言。他们使用现有的语言。我明白,这不是我的问题。@Roger Lipscombe,他们不创建自己的语言,但他们应该开始这样做。面向语言的编程比任何其他已知的设计方法都要强大得多。如果你想对@SK Logic有一个极其自下而上的理解,你可以从NAND门开始,然后我们就进入了领域特定语言的领域,虽然我不太同意你关于“比任何其他已知的更强大……”的说法,我同意他们非常有用。太好了!谢谢我怎样才能开始学习自己的语言呢?即使它只是一个不重要的小项目,可能永远不会得到公众的认可。我只是想自己尝试一下。当你刚开始编程时,我建议不要开始创建自己的编程语言。这很复杂,因为您还必须创建一个编译器。但是你可以在“谢谢你”网站上找到一些有用的信息,我想我不会马上尝试,是的;虽然我想调查一下,主要是想了解一下幕后的情况。@James Litewski,因为你是编程新手,所以你有一个优势,那就是没有被错误的思维方式所破坏。因此,您可以开始学习SICP()。一旦你看完这本书,你就会知道如何创造自己的语言。太好了!谢谢我怎样才能开始学习自己的语言呢?即使它只是一个不重要的小项目,可能永远不会得到公众的认可。I j