<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 05/22/2013 02:49 PM,
<a class="moz-txt-link-abbreviated" href="mailto:franck.dehay@orange.com">franck.dehay@orange.com</a> wrote:<br>
</div>
<blockquote
cite="mid:1961_1369230569_519CCCE9_1961_2258_1_10EBB1E3DA88224D91F0AE3C2909D3D630BC2416DE@PUEXCB1F.nanterre.francetelecom.fr"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="Generator" content="Microsoft Word 14 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Texte de bulles Car";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";
mso-fareast-language:EN-US;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.TextedebullesCar
{mso-style-name:"Texte de bulles Car";
mso-style-priority:99;
mso-style-link:"Texte de bulles";
font-family:"Tahoma","sans-serif";}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
<div class="WordSection1"><span lang="EN-US">Browsing through the
charm store, I see lots of diversity, which is normal as juju
requires only executable files as hooks.<o:p></o:p></span>
<p class="MsoNormal"><span lang="EN-US">Some implement all in
one python program with symlinks (quite cute I would say),
most do the install with bash…<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">If you guys had some
proposal for best suited method it would be nice.<o:p></o:p></span></p>
</div>
</blockquote>
<br>
General guidance is that if you are serious about the charm, treat
it like code, use version control and if possible test suites, and
pick a high-level language you are comfortable in.<br>
<br>
Most charms start out as a quick-and-dirty proof of concept in Bash,
then the serious ones switch to something more suited to flow
control, architecture and testing.<br>
<br>
<blockquote
cite="mid:1961_1369230569_519CCCE9_1961_2258_1_10EBB1E3DA88224D91F0AE3C2909D3D630BC2416DE@PUEXCB1F.nanterre.francetelecom.fr"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p>I remember
having read in the archives that python would be the
recommended language.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Is it still the vision?</span></p>
</div>
</blockquote>
<br>
I would expect to see the Rails charm in Ruby, and the Node charm in
Node.js :) We'll generally try to implement utilities as things
which can be used from any language, but yes, many / most of the
industrial-grade charms will use Python, given its status as a
popular glue language.<br>
<br>
Mark<br>
</body>
</html>