您能否建议一种支持在运行时修改代码的强大语言或功能?
这就是我在运行时修改代码的意思:
Start:
a=10,b=20,c=0;
label1: c=a+b;
....
label1= c=a*b;
goto label1;
Run Code Online (Sandbox Code Playgroud)
并且可能正在建立一份说明清单:
code1.add(c=a+b);
code1.add(c=c*(c-1));
code1. execute();
Run Code Online (Sandbox Code Playgroud) 我已经看到很多基于C/C++的解决方案来解决这个问题,我们必须编写一个程序,在执行时打印自己的源代码.
一些解决方案
http://www.cprogramming.com/challenges/solutions/self_print.html
网上有更多解决方案,每个解决方案都不同.我想知道我们如何处理这样一个问题,解决它的人心中的问题.请给我一些关于这个问题的见解...虽然解释语言中的解决方案如perl,php,ruby等可能很容易......我想知道如何用编译语言设计它...
我一直想知道:用什么编程语言去登月?我意识到可能没有一个答案/语言,但它让我感兴趣.
有多少人参与了这些系统的代码?它是如何测试的?
鉴于不可能看到未来,与Clojure,Scala或Haskell有关的哪些因素可能决定其中一个是否能够抓住?
是否有文化或经济问题可以使其中一种语言优于其他语言?
或者这些语言是否因其概念复杂性而无法获得牵引力?
是否存在可通过设计测试的编程语言,或者至少在可测试性方面表现出非常好的属性?
例如,设计的编程语言使得单元测试是编码过程的非可选部分,或者更好的是编程语言,其中程序或多或少地从单元测试中推断出来.
或者,如果您更喜欢扭曲问题,那么命令式编程是不好的做法还是不必要的以确保可测试性?
面向对象编程怎么样?像依赖注入和模拟库这样的东西真的有助于TDD,这些实践不会因为成为语言设计的一部分而受益吗?我一直在寻找具有丰富元模型的语言,倾向于允许使用目标语言编写类似DSL的API.这些库是建立在这之上的,为什么不把这些东西放到语言本身?
我发现詹姆斯布莱克引用的博客文章非常好.
不久前,我反思了过去十年的测试习惯,并提出了一些有趣的观察:
- 我觉得有必要为我经常编写的代码编写测试.
- 与往常一样,这种需求受到环境限制的阻碍,所以我最终没有编写这些测试.
您是否同意动态编程语言使编写测试更容易的说法?
常见的JavaScript引擎(如V8和WebKit的JavaScriptCore)是否使用字符串实习来处理JavaScript字符串?或者他们实际上在内存中保留了多个相同字符串的实例?
可能重复:
什么是计算机编程语言?
不完全是.
我努力想出一个非常棒的定义.这是我到现在为止:
编程语言是一种包含语法的形式语言.语法规则用于形成语句.编程语言用于创建计算机可以理解的一组指令.语法语句的集合称为程序.
我知道它看起来不太好,所以在这方面得到一些帮助会很高兴.
这是维基百科关于该主题的第一段:
编程语言是一种人工语言,旨在表达可由机器,尤其是计算机执行的计算.编程语言可用于创建控制机器行为,精确表达算法或作为人类交流模式的程序.
我认为这是生活中的一件事,每个人都知道它是什么,但它很难定义.
我一个人吗?你的意见?
我之前听说过这些术语在描述语言之前,就像C不是一种低级语言,C++是中级语言,而Python是高级语言.我知道它必须对编译代码的方式以及代码的编写方式做些什么.但我想知道的是将语言定义为这3个类别中的一个?这些绝对类别,还是程序员用来相互描述语言的一般概念?
可能重复:
学习编写编译器
我环顾四周试图找到有关编程语言开发的更多信息,但在网上找不到很多东西.我找到了一些教程视频,但对于文本指南,常见问题解答,建议等并不多.我真的很好奇如何构建自己的编程语言.这让我想问:
如何制作自己的编程语言?
我想建立一个非常基本的语言.我不打算有一个非常好的语言,也不认为它会被任何人使用.我只是想用自己的语言来学习更多关于操作系统,编程的知识,并且在所有方面都变得更好.
一个人从哪里开始?构建语法?构建编译器?需要什么技能?很多装配和理解操作系统?大多数编译器和语言都内置了哪些语言?我假设C.