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.