Why C++ appears twice in the Overall rank?<br><div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/20 Gregory Guthrie <span dir="ltr">&lt;<a href="mailto:guthrie@mum.edu" target="_blank">guthrie@mum.edu</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There is some interesting data in the article at:<br>
<br>
&nbsp; &nbsp;Code Length Measured in 14 Languages<br>
&nbsp; &nbsp; <a href="http://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/" target="_blank">http://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/</a><br>
<br>
basically comparing program lengths in various languages, and some ensuing discussion of how this relates to language expressiveness, etc.<br>
(He does all of his analysis in Mathematica, which is the goal of the article.)<br>
<br>
It is interesting to see how well Haskell showed in the data; and it would also be interesting to see how well it could replicate the analysis example which was a nice example of web data scraping!<br>
<br>
The data is the length of a series of programs written in a number of languages (data from: <a href="http://rosettacode.org/wiki/Rosetta_Code" target="_blank">http://rosettacode.org/wiki/Rosetta_Code</a>).<br>
(The columns don&#39;t map well to text only, Haskell column marked with 《《《《 (Why doesn&#39;t this list support HTML?)).<br>
&nbsp; See nicer version at: <a href="http://pastehtml.com/view/ciy7woohv.rtxt" target="_blank">http://pastehtml.com/view/ciy7woohv.rtxt</a><br>
<br>
The average for Haskell of 1.89 means that on the average the same program in Haskell takes ~2x in the other languages.<br>
Given the correlation of size to clarity, complexity, effort, and errors, this is a good thing! :-)<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp; Code Size relative to Mathematica<br>
&nbsp; &nbsp; &nbsp; &nbsp; Larger numbers indicate that the language on top needs more code.<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp; C &nbsp; &nbsp; &nbsp; C++ &nbsp; &nbsp; Fortran Java &nbsp; &nbsp;CLisp &nbsp; Python &nbsp;C# &nbsp; &nbsp; &nbsp;JavaScript &nbsp; &nbsp; &nbsp;R &nbsp; &nbsp; &nbsp; MATLAB &nbsp;Clojure Pascal &nbsp;Haskell Ruby &nbsp; &nbsp;Average<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;??????????? &nbsp; &nbsp; &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;《《《《 &nbsp; &nbsp;????<br>
&nbsp; &nbsp; &nbsp; &nbsp; Mathematica &nbsp; &nbsp; 17.0 &nbsp; &nbsp;9.1 &nbsp; &nbsp; 8.1 &nbsp; &nbsp; 6.4 &nbsp; &nbsp; 6.3 &nbsp; &nbsp; 7.2 &nbsp; &nbsp; 6.4 &nbsp; &nbsp; 5.0 &nbsp; &nbsp; 3.2 &nbsp; &nbsp; 3.2 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; 5.8 &nbsp; &nbsp; 3.5 &nbsp; &nbsp; 5.2 &nbsp; &nbsp; 6.29<br>
&nbsp; &nbsp; &nbsp; &nbsp; Ruby &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.7 &nbsp; &nbsp; 1.8 &nbsp; &nbsp; 1.9 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 1.0 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.27<br>
&nbsp; &nbsp; &nbsp; &nbsp; Haskell 3.6 &nbsp; &nbsp; 2.7 &nbsp; &nbsp; 2.5 &nbsp; &nbsp; 2.0 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; 1.7 &nbsp; &nbsp; 2.2 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 2.1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 1.89<br>
&nbsp; &nbsp; &nbsp; &nbsp; Pascal &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.2 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 1.2 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 1.0 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.89<br>
&nbsp; &nbsp; &nbsp; &nbsp; Clojure 8.8 &nbsp; &nbsp; 5.3 &nbsp; &nbsp; 5.2 &nbsp; &nbsp; 3.6 &nbsp; &nbsp; 3.7 &nbsp; &nbsp; 3.3 &nbsp; &nbsp; 3.8 &nbsp; &nbsp; 2.5 &nbsp; &nbsp; 1.9 &nbsp; &nbsp; 2.9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 5.0 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 2.6 &nbsp; &nbsp; 3.85<br>
&nbsp; &nbsp; &nbsp; &nbsp; MATLAB &nbsp;3.6 &nbsp; &nbsp; 2.4 &nbsp; &nbsp; 1.8 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.7 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.42<br>
&nbsp; &nbsp; &nbsp; &nbsp; R &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 4.7 &nbsp; &nbsp; 3.3 &nbsp; &nbsp; 2.4 &nbsp; &nbsp; 1.9 &nbsp; &nbsp; 1.8 &nbsp; &nbsp; 1.7 &nbsp; &nbsp; 2.1 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 2.2 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 1.98<br>
&nbsp; &nbsp; &nbsp; &nbsp; JavaScript &nbsp; &nbsp; &nbsp;2.8 &nbsp; &nbsp; 2.1 &nbsp; &nbsp; 1.9 &nbsp; &nbsp; 1.2 &nbsp; &nbsp; 1.2 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 1.0 &nbsp; &nbsp; 1.31<br>
&nbsp; &nbsp; &nbsp; &nbsp; C# &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.0 &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 1.0 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.87<br>
&nbsp; &nbsp; &nbsp; &nbsp; Python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.2 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.2 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 1.07<br>
&nbsp; &nbsp; &nbsp; &nbsp; Common Lisp &nbsp; &nbsp; 2.8 &nbsp; &nbsp; 1.8 &nbsp; &nbsp; 1.6 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 1.3 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 1.16<br>
&nbsp; &nbsp; &nbsp; &nbsp; Java &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.1 &nbsp; &nbsp; 1.4 &nbsp; &nbsp; 1.5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 1.1 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.9 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 1.2 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.98<br>
&nbsp; &nbsp; &nbsp; &nbsp; Fortran 1.4 &nbsp; &nbsp; 1.0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.2 &nbsp; &nbsp; 0.8 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.66<br>
&nbsp; &nbsp; &nbsp; &nbsp; C++ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.0 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.2 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.6 &nbsp; &nbsp; 0.61<br>
&nbsp; &nbsp; &nbsp; &nbsp; C &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.7 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.2 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 0.1 &nbsp; &nbsp; 0.5 &nbsp; &nbsp; 0.3 &nbsp; &nbsp; 0.4 &nbsp; &nbsp; 0.41<br>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ???????????? &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;???? &nbsp; &nbsp;《《《《 &nbsp; &nbsp;????<br>
&nbsp; &nbsp; &nbsp; &nbsp; Overall: &nbsp; &nbsp; &nbsp; &nbsp;4.1 &nbsp; &nbsp; 2.58 &nbsp; &nbsp;2.3 &nbsp; &nbsp; 1.68 &nbsp; &nbsp;1.56 &nbsp; &nbsp;1.61 &nbsp; &nbsp;1.85 &nbsp; &nbsp;1.27 &nbsp; &nbsp;0.85 &nbsp; &nbsp;1.14 &nbsp; &nbsp;0.41 &nbsp; &nbsp;1.86 &nbsp; &nbsp;0.83 &nbsp; &nbsp;1.29<br>
<br>
Overall Ranking:<br>
&nbsp; &nbsp;Clojure &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.41<br>
&nbsp; &nbsp;Haskell &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.83<br>
&nbsp; &nbsp;R &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;0.85<br>
&nbsp; &nbsp;MATLAB &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.14<br>
&nbsp; &nbsp;JavaScript &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.27<br>
&nbsp; &nbsp;Ruby &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.36<br>
&nbsp; &nbsp;Common Lisp &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.56<br>
&nbsp; &nbsp;Python &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.61<br>
&nbsp; &nbsp;C++ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1.68<br>
&nbsp; &nbsp;C# &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.85<br>
&nbsp; &nbsp;Pascal &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 1.86<br>
&nbsp; &nbsp;Fortran &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.33<br>
&nbsp; &nbsp;C++ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;2.58<br>
&nbsp; &nbsp;C &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;4.09<br>
-------------------------------------------<br>
<br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><br><div title="signature"><p>Feng, Boqun<br>School of SoftwareShanghai Jiao Tong University</p></div><br>
</div>