标签: compiled-language

寻找支持解释和本机编译模式的新语言

我目前使用Perl,Python,C#,C,C++,Java和其他一些语言进行编程,我正在寻找一种新的语言,可以在进行个人项目时用作主要语言.

我目前的标准是:

  • 可以作为解释语言运行(即运行而无需等待编译);
  • 可以编译为本机代码;
  • 是强类型的(即使是可选的);
  • 支持你要调用它的宏/模板/代码变形/ wtf;
  • 拥有相当数量的图书馆,或者可以轻松访问它们;

想法?建议?

programming-languages scripting-language interpreted-language compiled-language

4
推荐指数
1
解决办法
306
查看次数

如何定义未编译的语言

我问这个问题是因为我在"脚本语言"和"编程语言"这两个术语中看到了很多"个人偏好".

我的问题是:

对于无法编译或直接在浏览器中运行的语言,是否有适当的技术术语?我读过的每篇文章和我在这里搜索过的问题都没有明确说明是什么定义了一种语言的特征.

javascript syntax html5 interpreted-language compiled-language

4
推荐指数
1
解决办法
97
查看次数

如何在D中声明私有类成员?

该程序将回显"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)

d compiled-language private-members

3
推荐指数
1
解决办法
83
查看次数

因子循环变为0

我运行了一个简单的程序,使用编译语言,使用两个简单的循环计算前几个自然数的阶乘,一个外部跟踪我们计算阶乘的数字和一个计算阶乘的内部数.将每个自然数从1乘以数字本身.该程序对于第一个自然数是完美的,然后大约从第13个值开始计算的因子显然是错误的.这是由于在现代计算机中实现的整数运算,我可以理解为什么会出现负值.我不明白的原因是,为什么,这是我在不同的计算机上测试过的,经过非常少量的因子计算它总是达到数字零.当然,如果第n个阶乘被评估为0,那么第(n + 1)个阶乘也将被评估为0,依此类推,但为什么数字0总是出现在非常少量的阶乘之后阶乘计算?

编辑:你可能想知道为什么我使用两个不同的周期而不是只有一个...我这样做是为了强迫计算机从头开始重新计算每个因子,只是为了测试这个因素确实是因子总是为0而且它是不是偶然的.

这是我的输出:

输出我的程序

algorithm compiled-language factorial

3
推荐指数
1
解决办法
133
查看次数

V8中的JavaScript编译

V8主页(Google的JavaScript引擎)中,我们读到了这个:

V8编译并执行JavaScript源代码

  • 这是否意味着JavaScript不是V8中的解释语言?

  • V8是否使用JavaScript的即时编译方法?


编辑:还有另一个问题已经解决了我的第一个问题,但不是第二个问题.

javascript jit v8 interpreted-language compiled-language

0
推荐指数
1
解决办法
465
查看次数

如果 Scala 是一种编译语言,那么它为什么不事先检测到该程序中的越界异常?

该计划是:

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

-1
推荐指数
1
解决办法
110
查看次数

为什么 Golang for 循环比 Python for 循环慢?

我已经测试了 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

-3
推荐指数
1
解决办法
455
查看次数