Artifact
47908b72d760c3725d9537a868adb1ba991587f9:
Wiki page
[languageSelection] by
abondis
2011-06-23 13:22:32.
D 2011-06-23T13:22:32.416
L languageSelection
P 6e293bbad11e5c5e321f15f804cbf19b805fee6f
U abondis
W 2063
<i>What language could be used to complement sh ?</i>
<li> sh is easy to use to copy/paste from a an howto and make a script </li>
<li> sh is not the easiest when it comes to complex actions and data management. </li>
<br/>
The choice has to take the following into account:
<li> must be easy to have on all unix/bsd/linux ( including mipsel, arm, MacOs ...)</li>
<li> must stay small to install on the remote machine ( ie: the jvm is too big ) </li>
<li> must find a way to keep the easyness to script actions and test them </li>
<li> must not have to much difficulty between interpreter versions </li>
<li> must not have a lot of dependencies ( if possible standalone ) </li>
<h2> C </h2>
<li>Would have to make it easy to cross compile</li>
<li>Could implement all the requirements (ssl/ssh/rsync/regex) in one binary</li>
<li>Creating types will not be as easy as creating a shell script, what could be the alternative/mix ?</li>
<h2> Lisp - sbcl </h2>
<li>strange language but could be used for this kind of usage</li>
<li>installed the binaries from their site: it works</li>
<li>they give binary versions for a lot of arch/os</li>
<h2> Javascript </h2>
<li> Using v8 would make it easy to use anywhere </li>
<li> I did not find how to interact with the system </li>
<li> If using rhino: too big, needs java </li>
<h2> Perl </h2>
<li> By default on a lot of plateforms </li>
<li> ugly </li>
<li> used a lot for othe projects </li>
<h2> Python </h2>
<li>too big</li>
<li>pb with version change</li>
<li>some libs are depending on C (arch pb)</li>
<li></li>
<li></li>
<h2> Ruby </h2>
<li>Used by puppet and chef ...</li>
<li>Not sure how portable/light it is</li>
<li></li>
<h2> Java </h2>
<li>Tooooooooo big !</li>
<h2> Lua </h2>
<li>tried to download the standalone binary and use: pb with missing lib ... not as standalone as needed</li>
<h2> Erlang </h2>
<li>kind of big for an embeddable version: 50MB</li>
Z 3fbfeee5c94832deebcf9103f35d286c