# “Hello World” by any other name – Part #2

Published: 2012-02-04
Tags: A new language, Development, Projects, Series

<blockquote>Part #2 of the thinking-out-loud-learn-a-new-language series (<a href="http://david.ragingnexus.com/blog/2012/02/03/hello-world-by-any-other-name-part-1/">Part #1 here</a>)</p></blockquote>
<p>&nbsp;</p>
<p>Ok, so learning a  new language is cool and exciting, but we're doing it on the run here, full time job (and then some), 2 kids, 1,5 hour (split between 3 stretches) commute time two .. the works :) , so time is one problem and focus is another, so sort of getting it right from the start is important here. This means I should get some proper metrics and goals for this to work, that my choice needs to be as practical as possible and that whatever it is, it must add a new dimension to what I already know (syntactic sugar aside) and not simply be an alternative to, in this case, PHP.</p>
<p>So, a short list of things that should influence the choice:</p>
<ol>
<li>I use Linux - of the Ubuntu flavor - so proprietary or OS limited stuff is, baring alternatives, out of the question (should I consider <a href="http://en.wikipedia.org/wiki/Objective-C">Objective-C</a> ? <a href="http://en.wikipedia.org/wiki/.NET_Framework">.Net</a> based languages despite having <a href="http://en.wikipedia.org/wiki/Mono_(software)">Mono</a>?)</li>
<li>Needs to have a wider or different scope than that of PHP - i.e. mostly web of the HTTP flavor - doesn't necessarily have to do EVERYTHING out of the box, but flexibility is smiled upon</li>
<li>Obviously needs to have good official documentation and I would appreciate some liveliness on future developments - stalled "We're fine this way" languages lose points</li>
<li>It's surrounding tools and infrastructure aspects again, should be available and relatively easy to setup - if the best language in the world requires a <a href="http://en.wikipedia.org/wiki/High-performance_computing">HPC</a> infrastructure to get a "Hello world" running, it is most definitely out of the question :)</li>
<li>Must provide drivers and ways to connect to loose infrastructure applications (db's, web servers, graphic drivers, etc)</li>
<li>while syntax and paradigms are not the complete goal here, it shouldn't be a completely brainfck'ed up language (yes yes a pun there :) )</li>
<li>Having Enterprise written up, left, right and generally all over it is *NOT* a good sign , too :)</li>
</ol>
<p>So, yeah, pretty wide criteria here, I might need to narrow the scope a bit, but it will serve me as a sort of checklist that I need to run against. While I will probably return to make the list better, I think I can start shopping around now :)</p>
<p>Any words on this? Comments? Have you done a similar process and wish to share your thoughts?</p>
