我目前使用Perl,Python,C#,C,C++,Java和其他一些语言进行编程,我正在寻找一种新的语言,可以在进行个人项目时用作主要语言.
我目前的标准是:
想法?建议?
programming-languages scripting-language interpreted-language compiled-language
我问这个问题是因为我在"脚本语言"和"编程语言"这两个术语中看到了很多"个人偏好".
我的问题是:
对于无法编译或直接在浏览器中运行的语言,是否有适当的技术术语?我读过的每篇文章和我在这里搜索过的问题都没有明确说明是什么定义了一种语言的特征.
javascript syntax html5 interpreted-language compiled-language
该程序将回显"C".我怎么不允许这样做?
import std.stdio;
void main() {
class A {
private void B() {
writeln("C");
}
}
auto D = new A;
D.B();
}
Run Code Online (Sandbox Code Playgroud) 我运行了一个简单的程序,使用编译语言,使用两个简单的循环计算前几个自然数的阶乘,一个外部跟踪我们计算阶乘的数字和一个计算阶乘的内部数.将每个自然数从1乘以数字本身.该程序对于第一个自然数是完美的,然后大约从第13个值开始计算的因子显然是错误的.这是由于在现代计算机中实现的整数运算,我可以理解为什么会出现负值.我不明白的原因是,为什么,这是我在不同的计算机上测试过的,经过非常少量的因子计算它总是达到数字零.当然,如果第n个阶乘被评估为0,那么第(n + 1)个阶乘也将被评估为0,依此类推,但为什么数字0总是出现在非常少量的阶乘之后阶乘计算?
编辑:你可能想知道为什么我使用两个不同的周期而不是只有一个...我这样做是为了强迫计算机从头开始重新计算每个因子,只是为了测试这个因素确实是因子总是为0而且它是不是偶然的.
这是我的输出:

该计划是:
object Hello extends App {
val a: List[Int] = List(1, 3, 4, 5, 8, 10, 11, 22, 33)
for (i <- 0 to 11)
println(a(i))
}
Run Code Online (Sandbox Code Playgroud)
输出是:
1
3
4
5
8
10
11
22
33
java.lang.IndexOutOfBoundsException: 9 // continues as a long error message.
Run Code Online (Sandbox Code Playgroud)
它如何在编译时没有检测到索引将越界?编译语言不应该这样做吗?如果没有,您能否分享一下编译时检查中包含的内容和不包含的内容?
作为一个新手,我总是听说编译语言很棒,它们在编译时发现错误,因此更健壮。
scala interpreted-language compiled-language fixed-length-array
我已经测试了 golang 在 for 循环中的表现
只是在 python 和 golang 中循环了 50,000 次,我发现在 python 中需要 0.59 秒,而在 golang 中需要 9.12 秒
任何有经验的 Go 开发人员都可以告诉我为什么 Golang 在 for 循环中太慢,而它是一种编译语言?
import (
"fmt"
"time"
)
func main() {
start := time.Now()
for i := 0; i < 50000; i++ {
fmt.Println("Index", i)
}
finish := time.Now().Sub(start).Seconds()
fmt.Printf("Elapsed time was %.2f seconds.\n", finish)
}
Run Code Online (Sandbox Code Playgroud) python performance interpreted-language compiled-language go