|
|
1
2
在一个解决方案空间中,我几乎总是提倡多于1种语言(实际上,由于sql是许多项目的一部分,所以多于2种)。即使客户喜欢一种具有显式类型和大量天赋的语言,我还是提倡使用脚本语言进行管理、测试、数据清理等。 许多语言的优点归结为“适合工作的工具”。 但也有一些合理的缺点:
我还认为应该说,如果你要使用多种语言,在我看来,你应该使用具有显著不同方法的语言。我认为,在解决问题方面,比如说,在一个项目中同时使用c和vb,并没有什么好处。我认为除了你的主流语言之外,你还需要一种脚本语言(对于小任务和一次性任务来说效率很高)和一种认知风格截然不同的语言(haskell、prolog、lisp等)。 |
|
|
2
1
我很幸运在小项目中工作,能够为我的任务推荐一种合适的语言。例如,c作为一种低级语言,在一个新的嵌入式平台上,将lua扩展到高级/原型设计中已经取得了很好的效果。对于任何更大的项目,我总是喜欢使用两种语言,一种特定于特定领域的语言适合于特定的项目。它为快速尝试新功能增加了很多表现力。 然而,这可能对敏捷开发方法最有帮助,而对于一个更传统的项目来说,首先要克服的障碍是选择使用哪种语言,这时脚本语言往往会立即看起来像是“新来者”,在他们的形象中没有那么大的市场推广力或“严肃性”。 |
|
|
3
1
polyglot解决方案的最大问题是,涉及的语言越多,就越难找到具有适当技能集的程序员。尤其是如果任何一种语言甚至有点深奥,或者来自完全不同的设计流派(例如,函数式与过程式与面向对象)。是的,任何优秀的程序员都应该能够学习他们所需要的东西,但是管理者通常希望有人能“一帆风顺”,不管它多么不切实际。 其他原因包括代码重用,不同语言之间接口的复杂性增加,以及不可避免的争夺某一特定代码位所属语言的地盘。 尽管如此,要意识到许多系统在设计上是多语言的——任何使用数据库的系统都会有SQL和其他语言。而且还经常涉及到脚本编写,无论是针对实际代码还是针对构建系统。 我几乎所有的专业编程经验都属于上述范畴。通常有一种核心语言(C或C++)、不同程度的SQL、shell脚本,以及可能的一些Perl或Python代码。 |
|
4
1
我老板的态度一直是用有用的东西。
这意味着当我们发现一些有用的
当我们决定在我们的项目中添加区间数学时,我必须学习ada和如何使用两者
当需要一个高速字符串库时,我必须重新学习汇编程序并习惯于
当我们想要一个
当我们想用比尔·波瑟医生的
我们还在做原型
也许有一天我会在福斯,艾菲尔,或者D,或者,上帝保佑我,哈斯克尔(我没有任何反对这种语言的东西,只是 非常 不同的范例。) |
|
|
5
0
我遇到的一个问题是visual studio不允许在一个项目中混合多种语言,这迫使您将每种语言的内容抽象成单独的dll,这并不一定是理想的。 然而,我怀疑主要原因是人们认为在许多不同语言之间来回切换会导致程序员效率低下。这是有道理的,我经常在javascript、c、vbscript和vb.net之间切换,当我从一种语言切换到另一种语言时,当我稍微混合我的语法时,会浪费一些时间。 尽管如此,仍然有更多的“polyglot”解决方案的空间,特别是那些超越了使用javascript和任何后端编程语言的解决方案。 |
|
6
0
所有的Web都是多语言的,现在Java和PHP/Ruby在前面,JavaScript在前面… 想到的其他例子是一个灵活的复杂系统,用低级语言(C或C++)用嵌入式高级语言(Python,Lua,Stand)编写,提供定制和脚本接口。Microsoft Office和VBA、Blender和Python。 可以在脚本语言(如Python)中执行的项目,其性能关键或依赖于OS的部件在C.完成。 jvm和clr都得到了许多新的有趣的兼容脚本语言。java、Groovy、C语言等。 |
|
|
Sudhanva c · 如何提高编码技能?[已关闭] 7 年前 |
|
|
hoffm · 为什么Ruby找不到调用方类中定义的常量? 8 年前 |
|
|
Thamme Gowda · “lambda”关键字的较短替代项? 8 年前 |
|
|
AlphaModder · 有没有带有“不寻常”访问修饰符的编程语言? 10 年前 |
|
|
lucasasecas · 有可能静态地使用动态语言吗? 11 年前 |
|
|
Eugenio Laghi · 仅由括号、加号和感叹号组成的语言 11 年前 |
|
dallin · 数组中的逗号运算符是否有名称? 11 年前 |