programming-languages - 这种语言有其利基市场吗? future ?

标签 programming-languages language-design language-features

我正在研究一种针对Web开发,嵌入到应用程序,分布式应用程序,高可靠性软件中的新语言(但这是遥远的 future )。

此外,它的目标是从长期来看减少开发费用-编写更多安全代码的时间更长,而以后减少支持。最后,它执行了实际团队必须执行的许多工作,例如一种跨平台的IDE,一种代码样式,一种Web框架。

简而言之,关键的语法/语言功能是:

  • 开源的非限制性许可。肯定是跨平台的。
  • 味道类似于C++,但具有严格和静态类型检查的更简单的Pythonic语法。易于学习,没有多重继承以及其他任何人都不知道的东西:-)
  • LLVM字节码/编译后端提供了接近C的速度。
  • Is具有垃圾回收和显式对象破坏功能。
  • 真正的OS线程,对多核计算机的 native 支持。多线程是语言的一部分,而不是库。
  • 类型在任何平台上都具有相同的宽度。 int(32),long(64)e.t.c
  • 内置了发布和前提条件,断言和微小的单元测试。您编写一种方法-您可以将所有这些内容都写在一个地方,因此您可以将所有相关的东西都写在一个地方。如果您担心您的类源代码会因此而肿-它的IDE可以隐藏您现在不需要的东西。
  • 类似Java的异常处理(即,您必须处理所有异常)

  • 我想我现在将离开网络和群集功能...

    你认为呢?我是否错过了任何现有的类似语言?

    最佳答案

    分别回答您的一些观点(我忽略了我认为不重要或不重要的部分):

    targeted for web development



    大多数人使用php。不是因为这是可用的最佳语言,这是肯定的。

    embeding into applications



    Lua

    distributed applications, high-reliability software (but this is for distant future).



    您是否仔细研究了Erlang,它的设计及其引用实现?

    it enforces many things that real teams have to enforce - like one crossplatform IDE, one codestyle, one web framework.



    如果您的语言成功,人们将制作其他IDE,其他代码样式和其他Web框架。

    Multithreading is part of language, not a library.



    真正好的多线程语言禁止在线程内部产生副作用。是的,实际上,这仅意味着Erlang。

    Types have the same width on any platform. int(32), long(64) e.t.c



    叹气...对于像C:infinite这样的机器级语言,整数只有一个合理的宽度。

    设计自己的语言无疑会教给您一些知识。但是设计一种好的语言就像设计一种好的密码系统:很多业余爱好者都在尝试,但是要熟练地做到这一点就需要专家。

    我建议您从Norman Ramsey's answers here开始阅读一些有关编程语言设计的this thread

    考虑到您对分布式应用程序的兴趣,必须了解 Erlang 。对于顺序编程,最小值是一种命令式语言和一种功能语言(理想情况下,既是Lisp/Scheme又是Haskell,但是F#是一个好的开始)。我还建议至少了解一种不带对象的高级语言,以使您了解不带对象通常可以使程序员的生活更轻松(因为对象很复杂)。

    至于是什么能促使其他人学习您的语言……好的工具/库/框架不会受到伤害(FORTRAN,php),而树立榜样的大公司也不会受到伤害(Java,C#)。好的设计似乎并不是一个主要因素(一个哈哈哈的笑话,使一种语言成功的原因是使用{大括号}来分隔块:C,C++,Java,C#,php)。 ..

    关于programming-languages - 这种语言有其利基市场吗? future ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3659432/

    相关文章:

    c++ - C++ 编译器中的 POD 和 VPtr 设计

    scripting - 游戏脚本需要哪些语言功能?

    scala - 选择当前语法 `import foo.bar.{Baz => _}` 以从导入中排除某些内容的原因是什么?

    java - 值类型的 asInstanceOf[X] 和 toX 之间有什么区别吗?

    c - 在 C 中,为什么这个语句 - 'i = 5i' 编译并将 'i' 设置为零?

    programming-languages - 任何人都可以向我解释 Autolisp/visual lisp 背后的设计决策吗?

    c++ - 3D 世界中 C/C++ 的好伴侣?

    compiler-construction - 为什么 JIT 代码比编​​译或解释的代码消耗更多的内存?

    programming-languages - 内存占用是多少?

    java - Java 中的方法中是否使用了自由 float block ?