At the last company I was with I used sloccount [1] to analyze the codebase. I concatenated all the clj files to a .lisp file so sloccount could analyze it. I was curious about the cost estimate that sloccount performs to see how the team measured up (size varied from 2 to 7 over 5 years). When I did the analysis (over a year ago) we had about 130k lines of Clojure that represented about two dozen libraries and bout six services. Including the javascript, java, C, Ruby and other languages in our repositories, sloccount estimated over 5x the person years we actually spent. This team was also responsible for the whole stack - production operations, releases, etc. If someone is doing research, I'd be happy to reach out to a colleague to see if they would run the analysis again.
Kyle [1] http://www.dwheeler.com/sloccount/ On Sun, Nov 15, 2015 at 4:06 PM, dennis zhuang <killme2...@gmail.com> wrote: > I use cloc(http://cloc.sourceforge.net/) to counting the LOC of our > projects, it's total about 41025 lines of Clojure code. > > > > > > > 2015-11-16 7:22 GMT+08:00 Colin Yates <colin.ya...@gmail.com>: > >> Exactly this. I couldn’t find a reliable way of counting LOC but my >> (Clojure/ClojureSciprt) src tree (excluding test) in the project I have to >> hand is 1.5MB. >> >> >> On 15 Nov 2015, at 21:27, Timothy Baldridge <tbaldri...@gmail.com> wrote: >> >> It's funny, because most of the larger OOP projects I worked on were >> large because of class bloat, not because of business concerns. For >> example, the C# app I used to work on was a more or less simple CRUD app. >> We had a ORM that served up objects to a Silverlight UI. So if we wanted to >> display information about a person on the UI we normally had to modify >> around 5 classes in 5 files. We had the following layers >> >> ORM - 1.4MB of generated C# for interfacing with the 200 or so SQL tables >> we had >> DTO - Data Transfer Object, where used "normal" C# objects to abstract >> the ORM. This is where we had the "Person" object >> API - A web service that served up DTOs over HTTP >> Data Model - Processed views of DTOs formatted in a way that was easily >> viewable by the UI >> View Model - UI classes that would take data from a Data Model and emit >> UI controls. >> >> All of that ceremony....that is replaced by one thing in Clojure...data. >> Hashmaps and vectors replace all the junk you see above. >> >> So that's where I often assert "Yes, you may have 1 million lines of Java >> code....but that would only be ~10,000 lines of Clojure." With proper >> application of data driven systems (data that configures pipelines and >> writes code) you can easily get a 100:1 ratio of Java to Clojure code. >> >> Timothy >> >> >> On Sun, Nov 15, 2015 at 12:48 PM, Marc O'Morain <m...@circleci.com> >> wrote: >> >>> We have a large app at CircleCI - as of September: >>> >>> "The repo for our main app contains 93,983 lines of Clojure code. The >>> src directory of our main app contains 369 namespaces." >>> >>> http://blog.circleci.com/why-were-no-longer-using-core-typed/ >>> >>> >>> >>> On Sun, Nov 15, 2015 at 7:22 PM, dilettante.co...@live.com < >>> dilettante.co...@live.com> wrote: >>> >>>> I've been having a (friendly) argument with a friend who is an >>>> old-school OOP programmer. He insists that you need objects to make >>>> large-scale codebases legible and maintainable over the long run. Quite >>>> apart from this argument's virtues or lack thereof, this made me curious -- >>>> what are the largest programs written in Clojure in terms of LOC? I know >>>> I've seen mentions of 50k-100k LOC projects (World Singles, if I'm >>>> remembering correctly), but are there any that are larger? >>>> >>>> Vikram >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clojure@googlegroups.com >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> clojure+unsubscr...@googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/group/clojure?hl=en >>>> --- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to clojure+unsubscr...@googlegroups.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clojure@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> >> -- >> “One of the main causes of the fall of the Roman Empire was that–lacking >> zero–they had no way to indicate successful termination of their C >> programs.” >> (Robert Firth) >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > 庄晓丹 > Email: killme2...@gmail.com xzhu...@avos.com > Site: http://fnil.net > Twitter: @killme2008 > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Twitter: @kyleburton Github: https://github.com/kyleburton Blog: http://asymmetrical-view.com/ Fun: http://snapclean.me/ -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.