<p>I have to disagree, with qualifications. Most of my programming is in c in embedded systems. Small ones. API is totally irrelevant. And when I leave that domain, it is to solve problems, the kind of problems there aren&#39;t APIs for. My needs are basically library-based, but no general purpose language is going to have libraries to the depth required. </p>

<p>So for me the question is just &quot;How fast can I write a correct solution?&quot; And for that the unbelievable expressiveness of Racket is perfect. A lot of that is heritage, but Racket&#39;s macro system and module system have helped me a lot. I&#39;m on the edge of mini-langs and there is no question in my mind that Racket will continue to shine as I push through.</p>

<p>I&#39;ve found Racket to perfectly encapsulate the notion that it should be simple to do simple things without compromising that it should be hard to do hard things. Planet, sfris, and scribble have made my life enormously great as someone who has his own problems to solve in the software domain in order to get to problems in other domains.</p>

<p>If I was forced into a position, i&#39;d say that APIs are a feature, and if that is what concerns you I would agree the choice of languages is relatively straightforward. Because I like Racket, it&#39;d be nice to see Racket chosen for *any* reason. But if I were asked what should guide Racket, I&#39;d say whatever has driven it so far, because it is fantastic.</p>

<div class="gmail_quote">On May 9, 2012 3:43 PM, &quot;Grant Rettke&quot; &lt;<a href="mailto:grettke@acm.org" target="_blank">grettke@acm.org</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


Hi,<br>
<br>
Hope this is on topic, if it is not a substantive contribution I apologize.<br>
<br>
I just want to share a conversation from work. Bunch of experienced<br>
developers who are all very thoughtful reached the conclusion that the<br>
most important thing in a language choice is the APIs that come with<br>
it. Basically talking through it, that is the thing that speeds up<br>
work, and people can basically &quot;think in any language they like&quot; and<br>
then &quot;mentally compile it down&quot; to whatever is the implementation<br>
language. I generally agree in a corporate environment because you do<br>
want save your customers time and therefore money and I have never<br>
tried a non-mainstream language there such that I had real evidence<br>
there is a more productive way to do things.<br>
<br>
This was the same day that I finally read about syntax/parse and was<br>
thinking about how much nicer it would be to use that than the<br>
plumbing work I had to do to get nice error reporting, so perhaps I<br>
was more struck with their observation. It was just funny to hear<br>
everybody keep saying &quot;the language doesn&#39;t matter&quot; because it is so<br>
different than how I think, and how I think other lispers think, and<br>
even PLT people in general.<br>
<br>
I thought this was a funny coincidence because I wanted to talk about<br>
how great syntax/parse, and well I did talk to my one buddy about it<br>
:).<br>
<br>
Best wishes,<br>
<br>
Grant<br>
<br>
--<br>
<a href="http://www.wisdomandwonder.com/" target="_blank">http://www.wisdomandwonder.com/</a><br>
ACM, AMA, COG, IEEE<br>
____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div>