Artifact [47908b72d7]
Not logged in

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