[{"data":1,"prerenderedAt":289},["ShallowReactive",2],{"project-14672643":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":5,"maker":10,"posted_at":11,"year":12,"points":13,"comments":14,"rank_in_year":15,"shown_in_year":16,"top":17,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":26,"sentiment":27,"stance_mix":28,"scored_comments":17,"aspects":33,"strip":40,"post_text":42,"what":43,"said":52,"maker_in_thread":162,"shape":164,"grid":168,"attempts":251,"same_week":252,"maker_shows":35,"maker_hidden":281,"reader_version":282,"card":283},"14672643","lelandbatey.com","Visualizing 'Silhouettes' of Programming Languages","title","Show HN: Visualizing 'Silhouettes' of Programming Languages","http:\u002F\u002Flelandbatey.com\u002Fprojects\u002Fcode_silhouette\u002F","lelandbatey",1498846629,2017,97,35,471,2242,22,"notable","dev_tools","code visualization","web_app",[20,23,24,25],"programming languages","code style","silhouette","mixed",-0.179,{"positive":29,"neutral":30,"mixed":31,"critical":32},3,10,2,7,{"idea":34,"design":36,"execution":39},{"positive":29,"critical":35},4,{"positive":37,"critical":38},0,1,{"positive":37,"critical":31},[37,41,29,41,38,29,29,41,37,38,37,37,37,29,38,37,38,29,37,29,37,29,38,29,29,29,37,29,29,38,38,37,37,37,37],5,null,{"problem":44,"audience":42,"pricing":42,"motivation":42,"time_to_build":42,"stack":50,"openness":51,"stage":51,"team_size":51},{"value":45,"source":46,"evidence":47},"Shows the visual shape of code files to compare programming languages","inferred",[48],{"id":49},"post",[],"unknown",{"praise":53,"objections":74,"requests":111,"questions":142,"alternatives":150},[54],{"value":55,"source":56,"evidence":57},"Interesting and fun visualization idea","commenter",[58,62,66,70],{"id":59,"by":60,"text":61},"14673003","timpark","Neat. I saw something like this recently in game form: Codeshapes http:\u002F\u002Fteropa.info\u002Fcodeshapes\u002F",{"id":63,"by":64,"text":65},"14673210","waisbrot","This is better than the story link, I think. I found it impossible at first, but after a few rounds there were some clear clues like the block of imports at the top of a Java…",{"id":67,"by":68,"text":69},"14675143","kevlar1818","What immediately strikes me is Python's consistently high density compared to the other languages. This is something I've noticed before with well-written Python code; one can…",{"id":71,"by":72,"text":73},"14676265","d--b","What's most striking is that there is not a lot of differences between the languages. C and Python are somewhat denser and php tends to be more spread out. But that's about it. I…",[75,89,101],{"value":76,"source":56,"evidence":77},"Shapes reflect programmer coding style rather than the language itself",[78,82,85],{"id":79,"by":80,"text":81},"14674470","otto_ortega","Interesting project, but these silhouettes reflect the programmer's coding style not anything specific to the languages themselves.",{"id":83,"by":80,"text":84},"14674473","These silhouettes reflect the programmer's coding style not anything specific to the languages themselves...",{"id":86,"by":87,"text":88},"14673512","Stratoscope","This is fun and interesting, but I don't think it says much about the various languages. Each of these languages can be formatted in a variety of styles. As one example, Rust,…",{"value":90,"source":56,"evidence":91},"Sample is too small: one file per language, chosen by length",[92,96,100],{"id":93,"by":94,"text":95},"14673086","shawncplus","It's not as if they generated some \"average\" code to make an apples to apples comparison, they arbitrarily grabbed files with very different purposes based on length. So really…",{"id":97,"by":98,"text":99},"14676908","azeirah","It's a _very_ selective dataset, this doesn't show much. The idea's cool though",{"id":67,"by":68,"text":69},{"value":102,"source":56,"evidence":103},"jQuery and other chosen files are not representative of current style",[104,108],{"id":105,"by":106,"text":107},"14673124","ricardobeat","jQuery is hardly a good benchmark for current js style. You'll find completely different shapes in other libraries.",{"id":109,"by":87,"text":110},"14673575","One of the examples is the jQuery source code, but the long file shown isn't the actual source. The real source code is broken up into a number of much smaller files, and the…",[112,127,135],{"value":113,"source":56,"evidence":114},"Add functional languages such as Haskell, OCaml, Scheme",[115,119,123],{"id":116,"by":117,"text":118},"14674141","klez","I would be curious to see some functional languages examples, like scheme, Haskell and OCaml, for example.",{"id":120,"by":121,"text":122},"14676211","philsnow","@lelandbatey: to see a difference that really pops, I suggest adding a common lisp or scheme silhouette, and a prolog one. Hell, if you can find a copy of gorilla.bas, do that too.",{"id":124,"by":125,"text":126},"14674925","im_down_w_otp","Yeah, was thinking the same for Erlang since it incentivizes terse sections of hoisted functions.",{"value":128,"source":56,"evidence":129},"Aggregate many projects per language to average out style",[130,134],{"id":131,"by":132,"text":133},"14675023","justinian","The interesting thing here would be seeing some form of aggregation of various projects to see what effects the language does have on style. Would love to see something that…",{"id":93,"by":94,"text":95},{"value":136,"source":56,"evidence":137},"Add a fractal dimension measure",[138],{"id":139,"by":140,"text":141},"14673057","forinti","The fractal dimension of each one would be nice.",[143],{"value":144,"source":56,"evidence":145},"How is fractal dimension computed for each silhouette?",[146],{"id":147,"by":148,"text":149},"14673252","andrepd","Fractal dimension? How so?",[151,155],{"value":152,"source":56,"evidence":153},"Codeshapes game by teropa",[154],{"id":59,"by":60,"text":61},{"value":156,"source":56,"evidence":157},"text-minimap command line silhouette generator",[158],{"id":159,"by":160,"text":161},"14675361","dpc_pw","Shameless plug: a \"Silhouette\" (minimap) generator for command line: https:\u002F\u002Fgithub.com\u002Fdpc\u002Ftext-minimap",{"comments":37,"answered":37,"key":163},[],{"commenters":165,"max_depth":41,"maker_replies":37,"first_comment_mins":166,"lifespan_hours":167},28,52,63,[169,171,173,177,180,182,183,184,187,189,190,193,196,200,204,209,211,213,217,220,222,225,226,228,230,231,232,234,236,240,241,243,245,247,249],[59,37,37,170,60,37],"other\u002Fneutral\u002Fnone",[63,37,41,172,64,37],"project\u002Fpositive\u002Fidea",[174,37,29,175,176,37],"14673685","project\u002Fneutral\u002Fidea","runeks",[178,37,41,172,179,37],"14674154","rosstex",[79,38,38,181,80,37],"project\u002Fcritical\u002Fidea",[131,38,29,175,132,37],[67,31,29,175,68,37],[185,29,41,172,186,37],"14673055","sillysaurus3",[83,29,37,188,80,37],"commenter\u002Fcritical\u002Fidea",[86,35,38,181,87,37],[191,35,37,170,192,37],"14673615","z3t4",[194,35,37,170,195,37],"14679059","OJFord",[197,35,37,198,199,37],"14673779","commenter\u002Fneutral\u002Fnone","steveklabnik",[201,41,29,202,203,37],"14673156","project\u002Fmixed\u002Fdesign","jMyles",[205,206,38,207,208,37],"14673345",6,"project\u002Fcritical\u002Fdesign","e0m",[210,206,37,198,192,37],"14673486",[109,206,38,212,87,37],"project\u002Fcritical\u002Fexecution",[214,206,29,215,216,37],"14673959","project\u002Fneutral\u002Fexecution","panic",[218,32,37,170,219,37],"14675856","frou_dh",[139,221,29,175,140,37],8,[223,221,37,170,224,37],"14673163","codefined",[147,221,29,175,148,37],[71,227,38,181,72,37],9,[97,227,29,229,98,37],"project\u002Fmixed\u002Fexecution",[116,30,29,175,117,37],[124,30,29,175,125,37],[159,233,37,170,160,37],11,[120,235,29,175,121,37],12,[237,238,29,175,239,37],"14673021",13,"abakus",[93,238,38,181,94,37],[105,242,38,212,106,37],14,[244,242,37,170,186,37],"14673134",[246,242,37,170,192,37],"14673684",[248,242,37,170,195,37],"14679066",[250,242,37,170,192,37],"14686949",[],[253,258,263,267,271,276],{"id":254,"name":255,"points":256,"category":257},"14703098","A virtual machine made with Google Sheets formulas (no script)",620,"languages",{"id":259,"name":260,"points":261,"category":262},"14691407","Under the hood ReactJS",266,"learning_science",{"id":264,"name":265,"points":266,"category":19},"14662860","VisiData",221,{"id":268,"name":269,"points":270,"category":19},"14688031","Vecta.io",154,{"id":272,"name":273,"points":274,"category":275},"14690517","Artpip",142,"creative",{"id":277,"name":278,"points":279,"category":280},"14694210","login-with",127,"infrastructure",false,"v2",{"id":284,"name":5,"line":6,"ai":281,"cat":19,"year":12,"points":13,"comments":14,"rec":26,"s":285,"top":17,"kw":286,"maker":10,"domain":5,"tier":18,"attempts":37,"strip":287,"url":9,"mix":288,"praise":55,"objection":76,"sub":20},14672643,-0.18,[20,23,24,25],"05351335010003101303031333033110000",[29,30,31,32],1793990960930]