3 ms·
I think it's partly to do with the extreme flexibility of the language. When you have a large team programming in Java, you pretty much know that they're all g
by adwf 13y ago
I think it's partly to do with the extreme flexibility of the language. When you have a large team programming in Java, you pretty much know that they're all going to be programming in roughly the same style. eg. They'll obviously be object oriented, they'll use the same major libraries, they'll be focusing on the design patterns, etc...
Whereas in the Lisp world, you have so much flexibility that you can end up with all sorts: some people doing pure functional code, some OO, some using tail recursion wherever possible vs. some preferring more explicit representations, some going heavy on the macros, some using LOOP, some preferring recursive mappings of anonymous functions, etc...
Ultimately, this can be fixed by using a decent style guide. Google has a good example since they acquired ITA:
http://google-styleguide.googlecode.com/svn/trunk/lispguide.xml http://google-styleguide.googlecode.com/svn/trunk/lispguide....
In other languages it isn't so much of a problem - eg. I'm thinking of Python as an example where you are strongly encouraged that there is "only one way to do it".
However, if you recognise from the beginning that you need to enforce a decent style guide, then I see no reason why large Lisp teams couldn't work.
- fractallyte 13y agoI think this demonstrates just how much the growth of real software engineering has been stunted by half-solutions (like Java, and other mainstream languages). It's exciting! In the case of Lisp, it's not just about enforcing styles, but (as a team) coming up with the appropriate DSL for the task at hand. The classic 'bottom-up' paradigm (http://www.paulgraham.com/progbot.html http://www.paulgraham.com/progbot.html), but done collaboratively. The analog has been done to death in object oriented languages, with concepts such as design patterns and frameworks. I'd love to see similar developments in a meta-language like Lisp, and with all the (potential) power that entails...