我就要开始一个劳动力调查基于linux发行版的只是一种业余爱好项目。我计划做一些非常非标准任务,并且它的大部分将涉及改变几乎所有在脚本的发行版的.(主要是初始脚本,但是我也会写一套简单的软件包经理脚本。) 因为我会要这个遥远的规范,并且由于我从来没有风扇的动态型的语言(perl,蟒蛇,庆典,其余的都是好的,但只是不是我的专长),我在想,如果任何人知道的一个解释的语言,实际上已宣布的变量。

有帮助吗?

解决方案

查找到“排版”命令,在自己喜欢的外壳。 bash和ksh93的都可以强制执行整数和字符串,使用引用(可变变量)等。随着ksh93的,你也可以做浮点运算和带有属性使用对象。静态类型并没有真正买任何东西在init脚本和类似有用。你主要将是读取文件和运行系统命令 - 这就是shell的真正擅长的。花一些时间与O'Reilly的“学习Korn Shell程序”一书决定,所有这些其他的Unix系统正在愣神设计前...;)

其他提示

典型地,静态类型语言编译语言。我想原因是,类型静分析是相当昂贵的,你必须有一个深入了解,在所有的代码,你正在处理。当你做了,这感觉就像一个垃圾不写所有的信息到一个文件,这样你就不必下次再做一次。所以你很快结束了一个编译语言。

在另一方面,把一个编译语言在“未编译的”一个是相当容易的。你只是不存储编译的结果任何地方,但直接执行它们。一个编译器,我知道提供这种包装是GHC,标准哈斯克尔编译器。您可以添加到#!/usr/bin/runhaskell源文件,然后直接执行。既然你打算太远了常态,哈斯克尔似乎是一个完美的结合)。但是,期待您的脚本一些相当大的启动时间,因为所有的“编译时”分析和优化是不是免费的。

Haskell是不是shell脚本制作,这是一个功能性的语言,所以如果你从来没见过它,它可能需要一些时间来适应。但它具有非常小的语法开销和函数式语言的力量是抽象的,所以我不明白为什么你不能创建一个库,使得shell脚本的乐趣。甚至有一些实验哈斯克尔壳,但它似乎是更加证明的概念比真正的溶液。

一般来说,我会说所有的分析类型的开销是显著的,但我会建议你选择你最喜欢的静态类型编译语言,寻找像runhaskell执行写在上面的脚本的包装。

快速的谷歌。F3、纳脚,林登脚本语言(脚本用于第二次生命的),不同的评论的第一个答案F#可以作为一个脚本语言 http://blogs.msdn.com/chrsmith/archive/2008/09/12/scripting-in-f.aspx

费利克斯,Tuga,CFGScript,滑石,Angelscript和猜测有多快速搜索。

道格拉斯

F#提供“类型安全的组合,简洁,性能,expresivity和脚本”。

Groovy的。默认情况下,它是动态的,鸭类型。而且还支持静态类型。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top