-
-
Save jiahao/8b19775cee3a6d51706acf0a8c0ec376 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?> | |
<svg xmlns="http://www.w3.org/2000/svg" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:gadfly="http://www.gadflyjl.org/ns" | |
version="1.2" | |
width="304.8mm" height="152.4mm" viewBox="0 0 304.8 152.4" | |
stroke="none" | |
fill="#000000" | |
stroke-width="0.3" | |
font-size="3.88" | |
> | |
<g stroke="#000000" stroke-opacity="0.000" fill="#FFFFFF" id="img-12c53b30-1"> | |
<rect x="0" y="0" width="304.8" height="152.4"/> | |
</g> | |
<g class="plotroot yscalable" id="img-12c53b30-2"> | |
<g font-size="3.88" font-family="'PT Sans','Helvetica Neue','Helvetica',sans-serif" fill="#564A55" stroke="#000000" stroke-opacity="0.000" id="img-12c53b30-3"> | |
<text x="155.91" y="140.79" text-anchor="middle" dy="0.6em">Language</text> | |
</g> | |
<g class="guide xlabels" font-size="2.82" font-family="'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif" fill="#6C606B" id="img-12c53b30-4"> | |
<text x="13.2" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 13.2, 100.95)">Joomla</text> | |
<text x="15.56" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 15.56, 100.95)">VisualStudio</text> | |
<text x="17.92" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 17.92, 100.95)">Magento</text> | |
<text x="20.28" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 20.28, 100.95)">TeX</text> | |
<text x="22.63" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 22.63, 100.95)">Python</text> | |
<text x="24.99" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 24.99, 100.95)">UnrealEngine</text> | |
<text x="27.35" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 27.35, 100.95)">ROS</text> | |
<text x="29.71" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 29.71, 100.95)">Drupal</text> | |
<text x="32.07" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 32.07, 100.95)">Delphi</text> | |
<text x="34.43" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 34.43, 100.95)">Symfony</text> | |
<text x="36.79" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 36.79, 100.95)">Lua</text> | |
<text x="39.15" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 39.15, 100.95)">Swift</text> | |
<text x="41.51" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 41.51, 100.95)">Ruby</text> | |
<text x="43.86" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 43.86, 100.95)">Qt</text> | |
<text x="46.22" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 46.22, 100.95)">Eagle</text> | |
<text x="48.58" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 48.58, 100.95)">Rails</text> | |
<text x="50.94" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 50.94, 100.95)">C</text> | |
<text x="53.3" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 53.3, 100.95)">Unity</text> | |
<text x="55.66" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 55.66, 100.95)">Prestashop</text> | |
<text x="58.02" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 58.02, 100.95)">Zephir</text> | |
<text x="60.38" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 60.38, 100.95)">Perl</text> | |
<text x="62.74" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 62.74, 100.95)">Objective-C</text> | |
<text x="65.09" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 65.09, 100.95)">LemonStand</text> | |
<text x="67.45" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 67.45, 100.95)">Haskell</text> | |
<text x="69.81" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 69.81, 100.95)">Plone</text> | |
<text x="72.17" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 72.17, 100.95)">CakePHP</text> | |
<text x="74.53" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 74.53, 100.95)">Fortran</text> | |
<text x="76.89" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 76.89, 100.95)">C++</text> | |
<text x="79.25" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 79.25, 100.95)">WordPress</text> | |
<text x="81.61" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 81.61, 100.95)">Node</text> | |
<text x="83.96" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 83.96, 100.95)">Jboss</text> | |
<text x="86.32" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 86.32, 100.95)">Go</text> | |
<text x="88.68" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 88.68, 100.95)">Android</text> | |
<text x="91.04" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 91.04, 100.95)">Typo3</text> | |
<text x="93.4" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 93.4, 100.95)">R</text> | |
<text x="95.76" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 95.76, 100.95)">PlayFramework</text> | |
<text x="98.12" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 98.12, 100.95)">OCaml</text> | |
<text x="100.48" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 100.48, 100.95)">ZendFramework</text> | |
<text x="102.84" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 102.84, 100.95)">SugarCRM</text> | |
<text x="105.19" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 105.19, 100.95)">Scala</text> | |
<text x="107.55" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 107.55, 100.95)">Mercury</text> | |
<text x="109.91" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 109.91, 100.95)">Grails</text> | |
<text x="112.27" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 112.27, 100.95)">ExpressionEngine</text> | |
<text x="114.63" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 114.63, 100.95)">Dart</text> | |
<text x="116.99" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 116.99, 100.95)">Autotools</text> | |
<text x="119.35" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 119.35, 100.95)">Leiningen</text> | |
<text x="121.71" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 121.71, 100.95)">GWT</text> | |
<text x="124.07" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 124.07, 100.95)">Clojure</text> | |
<text x="126.42" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 126.42, 100.95)">ArchLinuxPackages</text> | |
<text x="128.78" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 128.78, 100.95)">Textpattern</text> | |
<text x="131.14" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 131.14, 100.95)">Opa</text> | |
<text x="133.5" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 133.5, 100.95)">KiCad</text> | |
<text x="135.86" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 135.86, 100.95)">Finale</text> | |
<text x="138.22" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 138.22, 100.95)">D</text> | |
<text x="140.58" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 140.58, 100.95)">TurboGears2</text> | |
<text x="142.94" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 142.94, 100.95)">SeamGen</text> | |
<text x="145.3" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 145.3, 100.95)">OpenCart</text> | |
<text x="147.65" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 147.65, 100.95)">MetaProgrammingSystem</text> | |
<text x="150.01" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 150.01, 100.95)">Laravel</text> | |
<text x="152.37" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 152.37, 100.95)">Erlang</text> | |
<text x="154.73" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 154.73, 100.95)">Actionscript</text> | |
<text x="157.09" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 157.09, 100.95)">Xojo</text> | |
<text x="159.45" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 159.45, 100.95)">RhodesRhomobile</text> | |
<text x="161.81" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 161.81, 100.95)">Maven</text> | |
<text x="164.17" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 164.17, 100.95)">LabVIEW</text> | |
<text x="166.52" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 166.52, 100.95)">Umbraco</text> | |
<text x="168.88" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 168.88, 100.95)">Smalltalk</text> | |
<text x="171.24" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 171.24, 100.95)">Sdcc</text> | |
<text x="173.6" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 173.6, 100.95)">Scrivener</text> | |
<text x="175.96" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 175.96, 100.95)">Processing</text> | |
<text x="178.32" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 178.32, 100.95)">Yii</text> | |
<text x="180.68" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 180.68, 100.95)">SymphonyCMS</text> | |
<text x="183.04" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 183.04, 100.95)">Scheme</text> | |
<text x="185.4" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 185.4, 100.95)">Lilypond</text> | |
<text x="187.75" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 187.75, 100.95)">Java</text> | |
<text x="190.11" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 190.11, 100.95)">GitBook</text> | |
<text x="192.47" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 192.47, 100.95)">CUDA</text> | |
<text x="194.83" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 194.83, 100.95)">CodeIgniter</text> | |
<text x="197.19" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 197.19, 100.95)">CMake</text> | |
<text x="199.55" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 199.55, 100.95)">ChefCookbook</text> | |
<text x="201.91" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 201.91, 100.95)">Yeoman</text> | |
<text x="204.27" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 204.27, 100.95)">Stella</text> | |
<text x="206.63" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 206.63, 100.95)">Qooxdoo</text> | |
<text x="208.98" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 208.98, 100.95)">Gradle</text> | |
<text x="211.34" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 211.34, 100.95)">FuelPHP</text> | |
<text x="213.7" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 213.7, 100.95)">Elixir</text> | |
<text x="216.06" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 216.06, 100.95)">DM</text> | |
<text x="218.42" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 218.42, 100.95)">CFWheels</text> | |
<text x="220.78" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 220.78, 100.95)">IGORPro</text> | |
<text x="223.14" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 223.14, 100.95)">ForceDotCom</text> | |
<text x="225.5" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 225.5, 100.95)">ExtJs</text> | |
<text x="227.85" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 227.85, 100.95)">Concrete5</text> | |
<text x="230.21" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 230.21, 100.95)">Waf</text> | |
<text x="232.57" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 232.57, 100.95)">OracleForms</text> | |
<text x="234.93" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 234.93, 100.95)">Nanoc</text> | |
<text x="237.29" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 237.29, 100.95)">Julia</text> | |
<text x="239.65" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 239.65, 100.95)">Jekyll</text> | |
<text x="242.01" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 242.01, 100.95)">Gcov</text> | |
<text x="244.37" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 244.37, 100.95)">Coq</text> | |
<text x="246.73" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 246.73, 100.95)">CommonLisp</text> | |
<text x="249.08" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 249.08, 100.95)">VVVV</text> | |
<text x="251.44" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 251.44, 100.95)">Terraform</text> | |
<text x="253.8" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 253.8, 100.95)">Sass</text> | |
<text x="256.16" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 256.16, 100.95)">Rust</text> | |
<text x="258.52" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 258.52, 100.95)">Phalcon</text> | |
<text x="260.88" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 260.88, 100.95)">Packer</text> | |
<text x="263.24" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 263.24, 100.95)">Lithium</text> | |
<text x="265.6" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 265.6, 100.95)">Kohana</text> | |
<text x="267.96" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 267.96, 100.95)">Idris</text> | |
<text x="270.31" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 270.31, 100.95)">Fancy</text> | |
<text x="272.67" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 272.67, 100.95)">Elm</text> | |
<text x="275.03" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 275.03, 100.95)">Elisp</text> | |
<text x="277.39" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 277.39, 100.95)">CraftCMS</text> | |
<text x="279.75" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 279.75, 100.95)">Composer</text> | |
<text x="282.11" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 282.11, 100.95)">AppceleratorTitanium</text> | |
<text x="284.47" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 284.47, 100.95)">Ada</text> | |
<text x="286.83" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 286.83, 100.95)">SketchUp</text> | |
<text x="289.19" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 289.19, 100.95)">SCons</text> | |
<text x="291.54" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 291.54, 100.95)">Nim</text> | |
<text x="293.9" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 293.9, 100.95)">EPiServer</text> | |
<text x="296.26" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 296.26, 100.95)">AppEngine</text> | |
<text x="298.62" y="100.95" text-anchor="end" dy="0.35em" transform="rotate(-90, 298.62, 100.95)">Agda</text> | |
</g> | |
<g clip-path="url(#img-12c53b30-5)"> | |
<g id="img-12c53b30-6"> | |
<g pointer-events="visible" opacity="1" fill="#000000" fill-opacity="0.000" stroke="#000000" stroke-opacity="0.000" class="guide background" id="img-12c53b30-7"> | |
<rect x="12.02" y="12.61" width="287.78" height="87.34"/> | |
</g> | |
<g class="guide ygridlines xfixed" stroke-dasharray="0.5,0.5" stroke-width="0.2" stroke="#FFFFFF" id="img-12c53b30-8"> | |
<path fill="none" d="M12.02,97.95 L 299.8 97.95"/> | |
<path fill="none" d="M12.02,82.69 L 299.8 82.69"/> | |
<path fill="none" d="M12.02,67.42 L 299.8 67.42"/> | |
<path fill="none" d="M12.02,52.16 L 299.8 52.16"/> | |
<path fill="none" d="M12.02,36.9 L 299.8 36.9"/> | |
<path fill="none" d="M12.02,21.63 L 299.8 21.63"/> | |
</g> | |
<g class="guide xgridlines yfixed" stroke-dasharray="0.5,0.5" stroke-width="0.2" stroke="#FFFFFF" id="img-12c53b30-9"> | |
<path fill="none" d="M14.38,12.61 L 14.38 99.95"/> | |
<path fill="none" d="M16.74,12.61 L 16.74 99.95"/> | |
<path fill="none" d="M19.1,12.61 L 19.1 99.95"/> | |
<path fill="none" d="M21.46,12.61 L 21.46 99.95"/> | |
<path fill="none" d="M23.81,12.61 L 23.81 99.95"/> | |
<path fill="none" d="M26.17,12.61 L 26.17 99.95"/> | |
<path fill="none" d="M28.53,12.61 L 28.53 99.95"/> | |
<path fill="none" d="M30.89,12.61 L 30.89 99.95"/> | |
<path fill="none" d="M33.25,12.61 L 33.25 99.95"/> | |
<path fill="none" d="M35.61,12.61 L 35.61 99.95"/> | |
<path fill="none" d="M37.97,12.61 L 37.97 99.95"/> | |
<path fill="none" d="M40.33,12.61 L 40.33 99.95"/> | |
<path fill="none" d="M42.69,12.61 L 42.69 99.95"/> | |
<path fill="none" d="M45.04,12.61 L 45.04 99.95"/> | |
<path fill="none" d="M47.4,12.61 L 47.4 99.95"/> | |
<path fill="none" d="M49.76,12.61 L 49.76 99.95"/> | |
<path fill="none" d="M52.12,12.61 L 52.12 99.95"/> | |
<path fill="none" d="M54.48,12.61 L 54.48 99.95"/> | |
<path fill="none" d="M56.84,12.61 L 56.84 99.95"/> | |
<path fill="none" d="M59.2,12.61 L 59.2 99.95"/> | |
<path fill="none" d="M61.56,12.61 L 61.56 99.95"/> | |
<path fill="none" d="M63.91,12.61 L 63.91 99.95"/> | |
<path fill="none" d="M66.27,12.61 L 66.27 99.95"/> | |
<path fill="none" d="M68.63,12.61 L 68.63 99.95"/> | |
<path fill="none" d="M70.99,12.61 L 70.99 99.95"/> | |
<path fill="none" d="M73.35,12.61 L 73.35 99.95"/> | |
<path fill="none" d="M75.71,12.61 L 75.71 99.95"/> | |
<path fill="none" d="M78.07,12.61 L 78.07 99.95"/> | |
<path fill="none" d="M80.43,12.61 L 80.43 99.95"/> | |
<path fill="none" d="M82.79,12.61 L 82.79 99.95"/> | |
<path fill="none" d="M85.14,12.61 L 85.14 99.95"/> | |
<path fill="none" d="M87.5,12.61 L 87.5 99.95"/> | |
<path fill="none" d="M89.86,12.61 L 89.86 99.95"/> | |
<path fill="none" d="M92.22,12.61 L 92.22 99.95"/> | |
<path fill="none" d="M94.58,12.61 L 94.58 99.95"/> | |
<path fill="none" d="M96.94,12.61 L 96.94 99.95"/> | |
<path fill="none" d="M99.3,12.61 L 99.3 99.95"/> | |
<path fill="none" d="M101.66,12.61 L 101.66 99.95"/> | |
<path fill="none" d="M104.02,12.61 L 104.02 99.95"/> | |
<path fill="none" d="M106.37,12.61 L 106.37 99.95"/> | |
<path fill="none" d="M108.73,12.61 L 108.73 99.95"/> | |
<path fill="none" d="M111.09,12.61 L 111.09 99.95"/> | |
<path fill="none" d="M113.45,12.61 L 113.45 99.95"/> | |
<path fill="none" d="M115.81,12.61 L 115.81 99.95"/> | |
<path fill="none" d="M118.17,12.61 L 118.17 99.95"/> | |
<path fill="none" d="M120.53,12.61 L 120.53 99.95"/> | |
<path fill="none" d="M122.89,12.61 L 122.89 99.95"/> | |
<path fill="none" d="M125.24,12.61 L 125.24 99.95"/> | |
<path fill="none" d="M127.6,12.61 L 127.6 99.95"/> | |
<path fill="none" d="M129.96,12.61 L 129.96 99.95"/> | |
<path fill="none" d="M132.32,12.61 L 132.32 99.95"/> | |
<path fill="none" d="M134.68,12.61 L 134.68 99.95"/> | |
<path fill="none" d="M137.04,12.61 L 137.04 99.95"/> | |
<path fill="none" d="M139.4,12.61 L 139.4 99.95"/> | |
<path fill="none" d="M141.76,12.61 L 141.76 99.95"/> | |
<path fill="none" d="M144.12,12.61 L 144.12 99.95"/> | |
<path fill="none" d="M146.47,12.61 L 146.47 99.95"/> | |
<path fill="none" d="M148.83,12.61 L 148.83 99.95"/> | |
<path fill="none" d="M151.19,12.61 L 151.19 99.95"/> | |
<path fill="none" d="M153.55,12.61 L 153.55 99.95"/> | |
<path fill="none" d="M155.91,12.61 L 155.91 99.95"/> | |
<path fill="none" d="M158.27,12.61 L 158.27 99.95"/> | |
<path fill="none" d="M160.63,12.61 L 160.63 99.95"/> | |
<path fill="none" d="M162.99,12.61 L 162.99 99.95"/> | |
<path fill="none" d="M165.35,12.61 L 165.35 99.95"/> | |
<path fill="none" d="M167.7,12.61 L 167.7 99.95"/> | |
<path fill="none" d="M170.06,12.61 L 170.06 99.95"/> | |
<path fill="none" d="M172.42,12.61 L 172.42 99.95"/> | |
<path fill="none" d="M174.78,12.61 L 174.78 99.95"/> | |
<path fill="none" d="M177.14,12.61 L 177.14 99.95"/> | |
<path fill="none" d="M179.5,12.61 L 179.5 99.95"/> | |
<path fill="none" d="M181.86,12.61 L 181.86 99.95"/> | |
<path fill="none" d="M184.22,12.61 L 184.22 99.95"/> | |
<path fill="none" d="M186.58,12.61 L 186.58 99.95"/> | |
<path fill="none" d="M188.93,12.61 L 188.93 99.95"/> | |
<path fill="none" d="M191.29,12.61 L 191.29 99.95"/> | |
<path fill="none" d="M193.65,12.61 L 193.65 99.95"/> | |
<path fill="none" d="M196.01,12.61 L 196.01 99.95"/> | |
<path fill="none" d="M198.37,12.61 L 198.37 99.95"/> | |
<path fill="none" d="M200.73,12.61 L 200.73 99.95"/> | |
<path fill="none" d="M203.09,12.61 L 203.09 99.95"/> | |
<path fill="none" d="M205.45,12.61 L 205.45 99.95"/> | |
<path fill="none" d="M207.8,12.61 L 207.8 99.95"/> | |
<path fill="none" d="M210.16,12.61 L 210.16 99.95"/> | |
<path fill="none" d="M212.52,12.61 L 212.52 99.95"/> | |
<path fill="none" d="M214.88,12.61 L 214.88 99.95"/> | |
<path fill="none" d="M217.24,12.61 L 217.24 99.95"/> | |
<path fill="none" d="M219.6,12.61 L 219.6 99.95"/> | |
<path fill="none" d="M221.96,12.61 L 221.96 99.95"/> | |
<path fill="none" d="M224.32,12.61 L 224.32 99.95"/> | |
<path fill="none" d="M226.68,12.61 L 226.68 99.95"/> | |
<path fill="none" d="M229.03,12.61 L 229.03 99.95"/> | |
<path fill="none" d="M231.39,12.61 L 231.39 99.95"/> | |
<path fill="none" d="M233.75,12.61 L 233.75 99.95"/> | |
<path fill="none" d="M236.11,12.61 L 236.11 99.95"/> | |
<path fill="none" d="M238.47,12.61 L 238.47 99.95"/> | |
<path fill="none" d="M240.83,12.61 L 240.83 99.95"/> | |
<path fill="none" d="M243.19,12.61 L 243.19 99.95"/> | |
<path fill="none" d="M245.55,12.61 L 245.55 99.95"/> | |
<path fill="none" d="M247.91,12.61 L 247.91 99.95"/> | |
<path fill="none" d="M250.26,12.61 L 250.26 99.95"/> | |
<path fill="none" d="M252.62,12.61 L 252.62 99.95"/> | |
<path fill="none" d="M254.98,12.61 L 254.98 99.95"/> | |
<path fill="none" d="M257.34,12.61 L 257.34 99.95"/> | |
<path fill="none" d="M259.7,12.61 L 259.7 99.95"/> | |
<path fill="none" d="M262.06,12.61 L 262.06 99.95"/> | |
<path fill="none" d="M264.42,12.61 L 264.42 99.95"/> | |
<path fill="none" d="M266.78,12.61 L 266.78 99.95"/> | |
<path fill="none" d="M269.13,12.61 L 269.13 99.95"/> | |
<path fill="none" d="M271.49,12.61 L 271.49 99.95"/> | |
<path fill="none" d="M273.85,12.61 L 273.85 99.95"/> | |
<path fill="none" d="M276.21,12.61 L 276.21 99.95"/> | |
<path fill="none" d="M278.57,12.61 L 278.57 99.95"/> | |
<path fill="none" d="M280.93,12.61 L 280.93 99.95"/> | |
<path fill="none" d="M283.29,12.61 L 283.29 99.95"/> | |
<path fill="none" d="M285.65,12.61 L 285.65 99.95"/> | |
<path fill="none" d="M288.01,12.61 L 288.01 99.95"/> | |
<path fill="none" d="M290.36,12.61 L 290.36 99.95"/> | |
<path fill="none" d="M292.72,12.61 L 292.72 99.95"/> | |
<path fill="none" d="M295.08,12.61 L 295.08 99.95"/> | |
<path fill="none" d="M297.44,12.61 L 297.44 99.95"/> | |
</g> | |
<g class="plotpanel" id="img-12c53b30-10"> | |
<g shape-rendering="crispEdges" stroke-width="0.3" id="img-12c53b30-11"> | |
<g stroke="#000000" stroke-opacity="0.000" fill="#00BFFF" class="geometry" id="img-12c53b30-12"> | |
<rect x="11.99" y="14.61" width="2.41" height="83.34"/> | |
<rect x="14.35" y="76.27" width="2.41" height="21.67"/> | |
<rect x="16.71" y="82.07" width="2.41" height="15.87"/> | |
<rect x="19.07" y="82.69" width="2.41" height="15.26"/> | |
<rect x="21.43" y="90.32" width="2.41" height="7.63"/> | |
<rect x="23.79" y="92.91" width="2.41" height="5.04"/> | |
<rect x="26.15" y="93.06" width="2.41" height="4.88"/> | |
<rect x="28.51" y="93.52" width="2.41" height="4.43"/> | |
<rect x="30.87" y="93.52" width="2.41" height="4.43"/> | |
<rect x="33.22" y="93.83" width="2.41" height="4.12"/> | |
<rect x="35.58" y="93.83" width="2.41" height="4.12"/> | |
<rect x="37.94" y="94.13" width="2.41" height="3.82"/> | |
<rect x="40.3" y="94.13" width="2.41" height="3.82"/> | |
<rect x="42.66" y="94.13" width="2.41" height="3.82"/> | |
<rect x="45.02" y="94.13" width="2.41" height="3.82"/> | |
<rect x="47.38" y="94.44" width="2.41" height="3.51"/> | |
<rect x="49.74" y="94.59" width="2.41" height="3.36"/> | |
<rect x="52.1" y="94.74" width="2.41" height="3.21"/> | |
<rect x="54.45" y="94.74" width="2.41" height="3.21"/> | |
<rect x="56.81" y="94.9" width="2.41" height="3.05"/> | |
<rect x="59.17" y="94.9" width="2.41" height="3.05"/> | |
<rect x="61.53" y="94.9" width="2.41" height="3.05"/> | |
<rect x="63.89" y="94.9" width="2.41" height="3.05"/> | |
<rect x="66.25" y="95.05" width="2.41" height="2.9"/> | |
<rect x="68.61" y="95.2" width="2.41" height="2.75"/> | |
<rect x="70.97" y="95.2" width="2.41" height="2.75"/> | |
<rect x="73.33" y="95.35" width="2.41" height="2.59"/> | |
<rect x="75.68" y="95.35" width="2.41" height="2.59"/> | |
<rect x="78.04" y="95.51" width="2.41" height="2.44"/> | |
<rect x="80.4" y="95.51" width="2.41" height="2.44"/> | |
<rect x="82.76" y="95.51" width="2.41" height="2.44"/> | |
<rect x="85.12" y="95.51" width="2.41" height="2.44"/> | |
<rect x="87.48" y="95.51" width="2.41" height="2.44"/> | |
<rect x="89.84" y="95.81" width="2.41" height="2.14"/> | |
<rect x="92.2" y="95.81" width="2.41" height="2.14"/> | |
<rect x="94.55" y="95.81" width="2.41" height="2.14"/> | |
<rect x="96.91" y="95.81" width="2.41" height="2.14"/> | |
<rect x="99.27" y="95.96" width="2.41" height="1.98"/> | |
<rect x="101.63" y="95.96" width="2.41" height="1.98"/> | |
<rect x="103.99" y="95.96" width="2.41" height="1.98"/> | |
<rect x="106.35" y="95.96" width="2.41" height="1.98"/> | |
<rect x="108.71" y="95.96" width="2.41" height="1.98"/> | |
<rect x="111.07" y="95.96" width="2.41" height="1.98"/> | |
<rect x="113.43" y="95.96" width="2.41" height="1.98"/> | |
<rect x="115.78" y="95.96" width="2.41" height="1.98"/> | |
<rect x="118.14" y="96.12" width="2.41" height="1.83"/> | |
<rect x="120.5" y="96.12" width="2.41" height="1.83"/> | |
<rect x="122.86" y="96.12" width="2.41" height="1.83"/> | |
<rect x="125.22" y="96.12" width="2.41" height="1.83"/> | |
<rect x="127.58" y="96.27" width="2.41" height="1.68"/> | |
<rect x="129.94" y="96.27" width="2.41" height="1.68"/> | |
<rect x="132.3" y="96.27" width="2.41" height="1.68"/> | |
<rect x="134.66" y="96.27" width="2.41" height="1.68"/> | |
<rect x="137.01" y="96.27" width="2.41" height="1.68"/> | |
<rect x="139.37" y="96.42" width="2.41" height="1.53"/> | |
<rect x="141.73" y="96.42" width="2.41" height="1.53"/> | |
<rect x="144.09" y="96.42" width="2.41" height="1.53"/> | |
<rect x="146.45" y="96.42" width="2.41" height="1.53"/> | |
<rect x="148.81" y="96.42" width="2.41" height="1.53"/> | |
<rect x="151.17" y="96.42" width="2.41" height="1.53"/> | |
<rect x="153.53" y="96.42" width="2.41" height="1.53"/> | |
<rect x="155.88" y="96.57" width="2.41" height="1.37"/> | |
<rect x="158.24" y="96.57" width="2.41" height="1.37"/> | |
<rect x="160.6" y="96.57" width="2.41" height="1.37"/> | |
<rect x="162.96" y="96.57" width="2.41" height="1.37"/> | |
<rect x="165.32" y="96.73" width="2.41" height="1.22"/> | |
<rect x="167.68" y="96.88" width="2.41" height="1.07"/> | |
<rect x="170.04" y="96.88" width="2.41" height="1.07"/> | |
<rect x="172.4" y="96.88" width="2.41" height="1.07"/> | |
<rect x="174.76" y="96.88" width="2.41" height="1.07"/> | |
<rect x="177.11" y="97.03" width="2.41" height="0.92"/> | |
<rect x="179.47" y="97.03" width="2.41" height="0.92"/> | |
<rect x="181.83" y="97.03" width="2.41" height="0.92"/> | |
<rect x="184.19" y="97.03" width="2.41" height="0.92"/> | |
<rect x="186.55" y="97.03" width="2.41" height="0.92"/> | |
<rect x="188.91" y="97.03" width="2.41" height="0.92"/> | |
<rect x="191.27" y="97.03" width="2.41" height="0.92"/> | |
<rect x="193.63" y="97.03" width="2.41" height="0.92"/> | |
<rect x="195.99" y="97.03" width="2.41" height="0.92"/> | |
<rect x="198.34" y="97.03" width="2.41" height="0.92"/> | |
<rect x="200.7" y="97.19" width="2.41" height="0.76"/> | |
<rect x="203.06" y="97.19" width="2.41" height="0.76"/> | |
<rect x="205.42" y="97.19" width="2.41" height="0.76"/> | |
<rect x="207.78" y="97.19" width="2.41" height="0.76"/> | |
<rect x="210.14" y="97.19" width="2.41" height="0.76"/> | |
<rect x="212.5" y="97.19" width="2.41" height="0.76"/> | |
<rect x="214.86" y="97.19" width="2.41" height="0.76"/> | |
<rect x="217.22" y="97.19" width="2.41" height="0.76"/> | |
<rect x="219.57" y="97.34" width="2.41" height="0.61"/> | |
<rect x="221.93" y="97.34" width="2.41" height="0.61"/> | |
<rect x="224.29" y="97.34" width="2.41" height="0.61"/> | |
<rect x="226.65" y="97.34" width="2.41" height="0.61"/> | |
<rect x="229.01" y="97.49" width="2.41" height="0.46"/> | |
<rect x="231.37" y="97.49" width="2.41" height="0.46"/> | |
<rect x="233.73" y="97.49" width="2.41" height="0.46"/> | |
<rect x="236.09" y="97.49" width="2.41" height="0.46"/> | |
<rect x="238.44" y="97.49" width="2.41" height="0.46"/> | |
<rect x="240.8" y="97.49" width="2.41" height="0.46"/> | |
<rect x="243.16" y="97.49" width="2.41" height="0.46"/> | |
<rect x="245.52" y="97.49" width="2.41" height="0.46"/> | |
<rect x="247.88" y="97.64" width="2.41" height="0.31"/> | |
<rect x="250.24" y="97.64" width="2.41" height="0.31"/> | |
<rect x="252.6" y="97.64" width="2.41" height="0.31"/> | |
<rect x="254.96" y="97.64" width="2.41" height="0.31"/> | |
<rect x="257.32" y="97.64" width="2.41" height="0.31"/> | |
<rect x="259.67" y="97.64" width="2.41" height="0.31"/> | |
<rect x="262.03" y="97.64" width="2.41" height="0.31"/> | |
<rect x="264.39" y="97.64" width="2.41" height="0.31"/> | |
<rect x="266.75" y="97.64" width="2.41" height="0.31"/> | |
<rect x="269.11" y="97.64" width="2.41" height="0.31"/> | |
<rect x="271.47" y="97.64" width="2.41" height="0.31"/> | |
<rect x="273.83" y="97.64" width="2.41" height="0.31"/> | |
<rect x="276.19" y="97.64" width="2.41" height="0.31"/> | |
<rect x="278.55" y="97.64" width="2.41" height="0.31"/> | |
<rect x="280.9" y="97.64" width="2.41" height="0.31"/> | |
<rect x="283.26" y="97.64" width="2.41" height="0.31"/> | |
<rect x="285.62" y="97.8" width="2.41" height="0.15"/> | |
<rect x="287.98" y="97.8" width="2.41" height="0.15"/> | |
<rect x="290.34" y="97.8" width="2.41" height="0.15"/> | |
<rect x="292.7" y="97.8" width="2.41" height="0.15"/> | |
<rect x="295.06" y="97.8" width="2.41" height="0.15"/> | |
<rect x="297.42" y="97.8" width="2.41" height="0.15"/> | |
</g> | |
</g> | |
</g> | |
</g> | |
</g> | |
<g class="guide ylabels" font-size="2.82" font-family="'PT Sans Caption','Helvetica Neue','Helvetica',sans-serif" fill="#6C606B" id="img-12c53b30-13"> | |
<text x="11.02" y="97.95" text-anchor="end" dy="0.35em">0</text> | |
<text x="11.02" y="82.69" text-anchor="end" dy="0.35em">100</text> | |
<text x="11.02" y="67.42" text-anchor="end" dy="0.35em">200</text> | |
<text x="11.02" y="52.16" text-anchor="end" dy="0.35em">300</text> | |
<text x="11.02" y="36.9" text-anchor="end" dy="0.35em">400</text> | |
<text x="11.02" y="21.63" text-anchor="end" dy="0.35em">500</text> | |
</g> | |
<g font-size="3.88" font-family="'PT Sans','Helvetica Neue','Helvetica',sans-serif" fill="#564A55" stroke="#000000" stroke-opacity="0.000" id="img-12c53b30-14"> | |
<text x="155.91" y="10.61" text-anchor="middle">Number of .gitignore rules</text> | |
</g> | |
</g> | |
<defs> | |
<clipPath id="img-12c53b30-5"> | |
<path d="M12.02,12.61 L 299.8 12.61 299.8 99.95 12.02 99.95" /> | |
</clipPath> | |
</defs> | |
</svg> |
546 | Joomla | |
---|---|---|
142 | VisualStudio | |
104 | Magento | |
100 | TeX | |
50 | Python | |
33 | UnrealEngine | |
32 | ROS | |
29 | Drupal | |
29 | Delphi | |
27 | Symfony | |
27 | Lua | |
25 | Swift | |
25 | Ruby | |
25 | Qt | |
25 | Eagle | |
23 | Rails | |
22 | C | |
21 | Unity | |
21 | Prestashop | |
20 | Zephir | |
20 | Perl | |
20 | Objective-C | |
20 | LemonStand | |
19 | Haskell | |
18 | Plone | |
18 | CakePHP | |
17 | Fortran | |
17 | C++ | |
16 | WordPress | |
16 | Node | |
16 | Jboss | |
16 | Go | |
16 | Android | |
14 | Typo3 | |
14 | R | |
14 | PlayFramework | |
14 | OCaml | |
13 | ZendFramework | |
13 | SugarCRM | |
13 | Scala | |
13 | Mercury | |
13 | Grails | |
13 | ExpressionEngine | |
13 | Dart | |
13 | Autotools | |
12 | Leiningen | |
12 | GWT | |
12 | Clojure | |
12 | ArchLinuxPackages | |
11 | Textpattern | |
11 | Opa | |
11 | KiCad | |
11 | Finale | |
11 | D | |
10 | TurboGears2 | |
10 | SeamGen | |
10 | OpenCart | |
10 | MetaProgrammingSystem | |
10 | Laravel | |
10 | Erlang | |
10 | Actionscript | |
9 | Xojo | |
9 | RhodesRhomobile | |
9 | Maven | |
9 | LabVIEW | |
8 | Umbraco | |
7 | Smalltalk | |
7 | Sdcc | |
7 | Scrivener | |
7 | Processing | |
6 | Yii | |
6 | SymphonyCMS | |
6 | Scheme | |
6 | Lilypond | |
6 | Java | |
6 | GitBook | |
6 | CUDA | |
6 | CodeIgniter | |
6 | CMake | |
6 | ChefCookbook | |
5 | Yeoman | |
5 | Stella | |
5 | Qooxdoo | |
5 | Gradle | |
5 | FuelPHP | |
5 | Elixir | |
5 | DM | |
5 | CFWheels | |
4 | IGORPro | |
4 | ForceDotCom | |
4 | ExtJs | |
4 | Concrete5 | |
3 | Waf | |
3 | OracleForms | |
3 | Nanoc | |
3 | Jekyll | |
3 | Gcov | |
3 | Coq | |
3 | CommonLisp | |
2 | VVVV | |
2 | Terraform | |
2 | Sass | |
2 | Rust | |
2 | Phalcon | |
2 | Packer | |
2 | Lithium | |
2 | Kohana | |
2 | Idris | |
2 | Fancy | |
2 | Elm | |
2 | Elisp | |
2 | CraftCMS | |
2 | Composer | |
2 | AppceleratorTitanium | |
2 | Ada | |
1 | SketchUp | |
1 | SCons | |
1 | Nim | |
1 | EPiServer | |
1 | AppEngine | |
1 | Agda |
#Plots a bar chart of the number of rules in GitHub's .gitignore templates by language | |
# | |
#Produces a plot in a file specified by plotfile | |
using Gadfly | |
plotfile = "nrules.svg" | |
fileformat = SVG #You can emit other formats, like PNG | |
io = IOBuffer(readall(`sh rulecounter.sh`)) | |
t = readdlm(io) | |
draw(fileformat(plotfile, 12inch, 6inch), | |
plot(x=t[:,2], y=t[:,1], Coord.Cartesian(ymin=0),Geom.bar, | |
Guide.xlabel("Language"), Guide.title("Number of .gitignore rules"), | |
Guide.ylabel(""), Theme(background_color=colorant"white", grid_color=colorant"white")) | |
) |
#!/bin/sh | |
#Path to the local copy of https://github.com/github/gitignore | |
REPO=../gitignore | |
for f in $REPO/*.gitignore; do | |
nrules=`grep -v ^\# $f | sed '/^$/d;' | wc -l` | |
basef=`basename $f | sed 's/.gitignore$//'` | |
echo $nrules\\\t$basef | |
done | sort -nr |
Hmm, Python projects seems to be simple although it has 50 rules!!
I don't think this is a measurement of the inherent complexity of each language as you put it (OK the top ones are unnecessarily complex) but more the complexity of what people decided to make with these languages. Python for instance is used for so many things that indeed the most generic .gitignore
is very large. But PHP would be even worse if you put all Symfony, Joomla, Wordpress, CakePHP, etc. together into one generic file for use in any project.
Your idea is very clever though, don't get me wrong : It would be interesting to run these statistics against real code repositories and looking at their .gitignore
file length to see how it really comes out in reality ! (Although this might also be subject to added complexity by each project's specific configuration and add-ons)
Since when is Joomla a programming language? This has nothing to do with programming language complexity and is a pretty poor metric when it comes to tooling complexity.
Visual Studio is big because it includes ignores for many of its most common plugins, not to mention it supports a ton of the other languages on this list.
Well, for Go, it depends on which platform you use, if you not use Windows then one less rule in gitignore :)