<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: dynamic-languages</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/dynamic-languages.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-06-08T09:36:47+00:00</updated><author><name>Simon Willison</name></author><entry><title>Quoting Joe Gregorio</title><link href="https://simonwillison.net/2008/Jun/8/joe/#atom-tag" rel="alternate"/><published>2008-06-08T09:36:47+00:00</published><updated>2008-06-08T09:36:47+00:00</updated><id>https://simonwillison.net/2008/Jun/8/joe/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://bitworking.org/news/321/The-Professionalization-of-Scripting-Languages"&gt;&lt;p&gt;There was a time when you could whip out a parser in lex and yacc, stitch together a naive VM and throw it over the wall and you'd have a new scripting language. Those days are coming to a close and in a few years (if not months) you won't be able get traction with anything unless it does direct threading, is register based, has generational GC, does peephole optimizations, does trace-folding, does type-inferenced inline caching, etc.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://bitworking.org/news/321/The-Professionalization-of-Scripting-Languages"&gt;Joe Gregorio&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dynamic-languages"&gt;dynamic-languages&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/joe-gregorio"&gt;joe-gregorio&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scriptinglanguages"&gt;scriptinglanguages&lt;/a&gt;&lt;/p&gt;



</summary><category term="dynamic-languages"/><category term="joe-gregorio"/><category term="scriptinglanguages"/></entry><entry><title>Size Is The Enemy</title><link href="https://simonwillison.net/2007/Dec/24/coding/#atom-tag" rel="alternate"/><published>2007-12-24T10:50:53+00:00</published><updated>2007-12-24T10:50:53+00:00</updated><id>https://simonwillison.net/2007/Dec/24/coding/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001025.html"&gt;Size Is The Enemy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Jeff Atwood: “I’ve started a cottage industry mining Steve [Yegge]’s insanely great but I-hope-you-have-an-hour-to-kill writing and condensing it into its shorter form points.” Lots of verbose static typing apologists in the comments.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dynamic-languages"&gt;dynamic-languages&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/jeff-atwood"&gt;jeff-atwood&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/static-typing"&gt;static-typing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/steve-yegge"&gt;steve-yegge&lt;/a&gt;&lt;/p&gt;



</summary><category term="dynamic-languages"/><category term="java"/><category term="jeff-atwood"/><category term="python"/><category term="static-typing"/><category term="steve-yegge"/></entry><entry><title>What I'm excited about, post-conference edition</title><link href="https://simonwillison.net/2006/Sep/22/excited/#atom-tag" rel="alternate"/><published>2006-09-22T00:25:11+00:00</published><updated>2006-09-22T00:25:11+00:00</updated><id>https://simonwillison.net/2006/Sep/22/excited/#atom-tag</id><summary type="html">
    &lt;p id="p-0"&gt;Wow, I've had a really busy month. I've attended (and spoken at) &lt;a href="http://barcamp.org/BarCampLondon"&gt;BarCamp London&lt;/a&gt;, &lt;a href="http://www.mediaintransition.com/indexe.html"&gt;Media in Transition&lt;/a&gt;, &lt;a href="http://2006.dconstruct.org/"&gt;d.Construct&lt;/a&gt;, &lt;a href="http://europe.railsconf.org/"&gt;RailsConf Europe&lt;/a&gt;, Euro Foo and &lt;a href="http://conferences.oreillynet.com/euos2006/"&gt;EuroOSCON&lt;/a&gt;. All were excellent, and each one nicely complemented the others. I'm exhausted. I think my brain is full.&lt;/p&gt;

&lt;p id="p-1"&gt;My favourite question to ask new people I meet at conferences is "what are you excited about?". It's better than "what do you do?" (their job might not be as exciting as what they do in their spare time) and often gets a really interesting reply. People often ask me the same back, so here are three things that have been catching my attention recently.&lt;/p&gt;

&lt;ul&gt;
 &lt;li&gt;&lt;p id="p-2"&gt;&lt;strong&gt;&lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;&lt;/strong&gt;. It's criminal that so few people are playing with this. I gave talks about it at both BarCamp and Euro Foo - it's decentralised single sign-on that works, and it's trivial to implement thanks to really solid libraries for most programming languages. There's also a &lt;a href="http://iwantmyopenid.org/bounty"&gt;$5,000 bounty&lt;/a&gt; to help spur adoption. I'll be writing a lot more about this in the future.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;&lt;p id="p-3"&gt;&lt;strong&gt;Virtualization&lt;/strong&gt;. This was a common thread at several conferences, and the recent popularity of Parallels for browser testing barely scratches the surface. Virtual servers have a bunch of advantages over physical servers: you can clone them instantly, you can migrate them between machines (while they are still running if you're using Xen) and Amazon's &lt;a href="http://aws.amazon.com/ec2"&gt;EC2&lt;/a&gt; offers &lt;a href="http://en.wikipedia.org/wiki/Utility_computing"&gt;utility computing&lt;/a&gt; on an enormous scale.&lt;/p&gt;&lt;/li&gt;
 &lt;li&gt;&lt;p id="p-4"&gt;&lt;strong&gt;Dynamic languages on virtual machines&lt;/strong&gt;. &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython"&gt;IronPython 1.0&lt;/a&gt; is out, Sun &lt;a href="http://www.tbray.org/ongoing/When/200x/2006/09/07/JRuby-guys"&gt;have hired the JRuby guys&lt;/a&gt;. It looks like dynamic languages are finally being taken seriously as useful and powerful alternatives to C# and Java. Programmers on those VMs get more productive languages, while users of those languages gain access to enormous existing class libraries, not to mention the promise of significant performance boosts.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p id="p-5"&gt;Finally, since I've blogged the &lt;a href="/2003/Jul/30/python23/" title="Python 2.3"&gt;last&lt;/a&gt; &lt;a href="/2004/Sep/21/python24/" title="Python 2.4 highlights"&gt;two&lt;/a&gt; releases of Python I can't resist saying a few things about &lt;a href="http://www.python.org/download/releases/2.5/"&gt;the new Python 2.5&lt;/a&gt;. It's &lt;a href="http://docs.python.org/dev/whatsnew/whatsnew25.html" title="What&amp;apos;s New in Python 2.5"&gt;all good&lt;/a&gt;, but the stuff that really stands out is the addition of &lt;a href="http://docs.python.org/dev/lib/module-sqlite3.html"&gt;sqlite3&lt;/a&gt;, &lt;a href="http://docs.python.org/dev/lib/module-xml.etree.elementtree.html"&gt;ElementTree&lt;/a&gt; and &lt;a href="http://docs.python.org/dev/lib/module-ctypes.html"&gt;ctypes&lt;/a&gt; to the standard library. Batteries included!&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/barcamp"&gt;barcamp&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ctypes"&gt;ctypes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dconstruct"&gt;dconstruct&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dynamic-languages"&gt;dynamic-languages&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/eurofoo"&gt;eurofoo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/eurooscon"&gt;eurooscon&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ironpython"&gt;ironpython&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mediaintransition"&gt;mediaintransition&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/openid"&gt;openid&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/railsconfeurope"&gt;railsconfeurope&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/speaking"&gt;speaking&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/sqlite"&gt;sqlite&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/virtuailization"&gt;virtuailization&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="barcamp"/><category term="ctypes"/><category term="dconstruct"/><category term="dynamic-languages"/><category term="eurofoo"/><category term="eurooscon"/><category term="ironpython"/><category term="mediaintransition"/><category term="openid"/><category term="python"/><category term="railsconfeurope"/><category term="speaking"/><category term="sqlite"/><category term="virtuailization"/></entry><entry><title>Strong Typing vs Strong Testing</title><link href="https://simonwillison.net/2003/May/4/strongTesting/#atom-tag" rel="alternate"/><published>2003-05-04T20:32:56+00:00</published><updated>2003-05-04T20:32:56+00:00</updated><id>https://simonwillison.net/2003/May/4/strongTesting/#atom-tag</id><summary type="html">
    &lt;p&gt;In &lt;a href="http://mindview.net/WebLog/log-0025"&gt;Strong Typing vs. Strong Testing&lt;/a&gt;, Bruce Eckel reconsiders the old idea that languages without strong typing can't be relied on to create large programs:&lt;/p&gt;

&lt;blockquote cite="http://mindview.net/WebLog/log-0025"&gt;&lt;p&gt;This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;His conclusion is that type checking by the compiler does not garauntee the correctness of a program in the first place; it's just another test. Comprehensive unit testing can more than compensate for the lack of type checking in languages such as Python, especially since the huge productivity bonus provided by Python allows more tests to be written starting at an earlier stage in development.&lt;/p&gt;

&lt;p&gt;Incidentally, Bruce recently &lt;a href="http://mindview.net/WebLog/log-0022" title="RSS Feed up"&gt;added an RSS feed&lt;/a&gt;.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dynamic-languages"&gt;dynamic-languages&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/static-typing"&gt;static-typing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/bruce-eckel"&gt;bruce-eckel&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="dynamic-languages"/><category term="python"/><category term="static-typing"/><category term="bruce-eckel"/></entry></feed>