如何在C++中创建以二进制代码读取.exe或其他文件的程序?
除了C,C++,Delphi,VB之外,你能举一个相对"现代"的COMPILED*编程语言*的例子来支持像OO,集合,GUI库这样的东西吗?请不要提及实验或学术语言,我正在寻找现实世界中使用的东西,PC 80x86,我不介意操作系统.
谢谢!
*更新:编译为本机代码.
*免责声明:
所以长话短说.一位教授在课堂上将这个问题作为一个讨论启动者.除了明显的
B = new SomeClass("B"); // But B can be null, can can be new SomeClass("A");
A = new SomeClass("A");
A==B
Run Code Online (Sandbox Code Playgroud)
在比较时会保证没有NPE,使用B == A而不是A == B的原因是什么?
A和B的类型相同,这与语言无关.因此,您可以假设Java的A.equals(B),或者C或C++中的等效语法等....
不,这不是功课.
我正在寻找一种以该语言编写的程序语言.这是一种语言,其程序是该语言的主要(可能是唯一的)对象.
像自编程转换语言这样的东西,仅仅考虑到这种观点.
动机如下:
有一个程序P1意味着计算Real - > Real我希望有一个程序P2,它将采用P1并将其转换为P1的符号衍生物(或反衍生物).显然,P2可能无法对大多数输入做正确的工作.
有人可能将其视为与lambdas匹配的模式.但是一个非常方便的模式匹配.
reflection programming-languages symbolic-math computer-algebra-systems
鉴于像haskell,erlang这样的语言得到了如此多的赞誉,为什么它们都不能成为主流语言?
是因为他们的学习曲线吗?还是太多的符号表示法?
oop erlang haskell programming-languages functional-programming
我见过很多次人们使用if(condition)as if(0==x)而不是if(x==0).它被认为是一种很好的做法,但有人可以解释为什么这样做?它有什么不同?相反,它在我看来降低了可读性.
可能重复:
为什么数组不可扩展?
我开始学习Java,因为我的计算机科学学校的任务需要这种语言,我喜欢这门语言.但是,我已经看到Java数组不可扩展 - 也就是说 - 在使用它们之前必须声明它们的长度,并且它不能进一步更改.
我想知道为什么会这样?为什么Java语言设计者选择这样制作数组呢?我想这是出于性能问题,但我不确定.
提前谢谢大家.
我正在阅读这篇redmonk编程语言排名文章.提到了第1层和第2层语言.

所以,我知道什么是第1层语言.
此外,在一篇类似的文章中,有人说过
Scala可能将自己与其他第2层语言分开
我的问题是,
编程语言如何归类为"第1层"或"第2层"语言?
这些不同编程语言层之间有什么区别?
如果参数多态在不依赖于参数类型的情况下进行调度,那么除了arity之外还有什么可以调度?如果不一样,有人可以提供反例吗?
我正在阅读lcc的源代码,在alloc.c:
if ((ap->next = freeblocks) != NULL) {
freeblocks = freeblocks->next;
ap = ap->next;
}
Run Code Online (Sandbox Code Playgroud)
为什么不
if (freeblocks != NULL) {
ap->next = freeblocks;
freeblocks = freeblocks->next;
ap = ap->next;
}
Run Code Online (Sandbox Code Playgroud)
后者会造成额外费用吗?