tag:blogger.com,1999:blog-13967713.comments2016-05-11T20:05:39.322+02:00Carlo PescioCarlo Pesciohttp://www.blogger.com/profile/12652284939993729858noreply@blogger.comBlogger422125tag:blogger.com,1999:blog-13967713.post-85193015543363435072016-05-11T10:30:00.257+02:002016-05-11T10:30:00.257+02:00yes, as it says in the end this post came after ot...yes, as it says in the end this post came after other 17, where I've copiously quoted many ideas from Alexander (from the early Notes on the Synthesis of Form to the more recent Nature of Order). I also quoted Coplien when relevant. I just stopped referring to Alexander whenever I mentioned a center at some point, as these post really had a small / stable niche of readers, and they sort of knew the background already.<br /><br />This work evolved into what I call "the physics of software"; you can find an historical perspective (with Alexander and Coplien referenced in context, plus others of course) here: http://www.physicsofsoftware.com/the-story-so-far.htmlCarlo Pesciohttps://www.blogger.com/profile/12652284939993729858noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-45397985328865104292016-05-11T01:32:01.987+02:002016-05-11T01:32:01.987+02:00Your mention of "centers" and form and f...Your mention of "centers" and form and function remind me of Christopher Alexander, or perhaps Jim Coplien's interpretation of C.A.'s with. Is this a coincidence?<br /><br />If so, then you should watch the following two videos and tell me if you find relevance :)<br /><br />https://youtu.be/98LdFA-_zfA<br /><br />https://youtu.be/Fhmm2Ld9VqQAnonymoushttps://www.blogger.com/profile/16814993300138564550noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-42465691567473458942016-05-11T01:31:31.120+02:002016-05-11T01:31:31.120+02:00Your mention of "centers" and form and f...Your mention of "centers" and form and function remind me of Christopher Alexander, or perhaps Jim Coplien's interpretation of C.A.'s with. Is this a coincidence?<br /><br />If so, then you should watch the following two videos and tell me if you find relevance :)<br /><br />https://youtu.be/98LdFA-_zfA<br /><br />https://youtu.be/Fhmm2Ld9VqQAnonymoushttps://www.blogger.com/profile/16814993300138564550noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-64892039149233486632016-03-11T18:35:43.069+01:002016-03-11T18:35:43.069+01:00This comment has been removed by a blog administrator.Hanhttp://www.apkmonk.com/app/com.luisrodriguezneches.stackbrowser/noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-13919466576085469832016-01-10T08:48:25.452+01:002016-01-10T08:48:25.452+01:00This comment has been removed by a blog administrator.Joshua E. Bournehttps://www.blogger.com/profile/11910338064178519009noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-174327204689291322015-12-15T11:05:19.398+01:002015-12-15T11:05:19.398+01:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/02180058833856293815noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-87053154388338701122015-09-18T14:26:40.735+02:002015-09-18T14:26:40.735+02:00Thanks Philip, appreciated. As you probably know t...Thanks Philip, appreciated. As you probably know there is also an episode 3, but it's another long read : )Carlo Pesciohttps://www.blogger.com/profile/12652284939993729858noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-22066729835454451712015-09-16T06:12:22.675+02:002015-09-16T06:12:22.675+02:00I know this post is a few years old, but this conc...I know this post is a few years old, but this concrete example has helped me tremendously. I've always wanted to see a specific example of a monolithic controller/procedural-driven design versus an OO one. When I read part 1, it made sense, and when I read Zibibbo's code, it made sense even more. I admit I couldn't see all the components/field breaks and if I had to write a solution I may have a monolithic object.<br />I appreciate Zibibbo for posting such a long response and this article for dissecting it and adding to the OO benefits.Philip Hollyhttps://www.blogger.com/profile/01628799251813371681noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-57046143612357016122015-08-24T08:11:57.751+02:002015-08-24T08:11:57.751+02:00This comment has been removed by a blog administrator.Melisahttps://www.blogger.com/profile/05919953377900066580noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-34399757567728377302015-05-05T22:17:04.054+02:002015-05-05T22:17:04.054+02:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/09696502073884381855noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-67405324552227646282015-03-31T03:07:13.675+02:002015-03-31T03:07:13.675+02:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/02654077877293303880noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-80527987410363745752015-03-22T08:55:15.895+01:002015-03-22T08:55:15.895+01:00Post veramente interessante. Sarei curioso di cono...Post veramente interessante. Sarei curioso di conoscere la tua Sua opinione la questione di quanto costerebbe in piu' (o in meno) usare un approccio controller-less e se sia concretamente fattibile. <br /><br />Infatti, parlo per un framework che uso(spring MVC), mi sembra che il concetto di controller sia cosi' intimamente definito nell'architettura da rendere oneroso svuotarlo di senso, salvo ridurre il controller ad un puro "router". Tuttavia, anche qui, sarebbe difficile coesistere con tutte quelle annotazioni (penso ad es. a quelle di security) che legano l'eseguibilita' d'un metodo ad un certo ruolo per un dato sub-URL, col rischio di trovarsi sul "controller-router" logiche di sicurezza che dovrebbero stare in ben altri posti.<br /><br />Grazie.<br /><br />Roberto ColmegnaAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-13967713.post-46170426666414453862015-02-22T20:44:20.096+01:002015-02-22T20:44:20.096+01:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/06866336415003407614noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-16919219544521069492015-02-20T16:43:33.147+01:002015-02-20T16:43:33.147+01:00This comment has been removed by a blog administrator.abhi@likecodinghttp://www.similarto.us/stackoverflow.com/noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-73940775202694975072014-12-18T12:07:42.445+01:002014-12-18T12:07:42.445+01:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/15135553658734295551noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-78397306764833642732014-08-18T14:55:57.515+02:002014-08-18T14:55:57.515+02:00This quote popped into my mind:
"When a true...This quote popped into my mind:<br /><br />"When a true genius appears, you can know him by this sign: that all the dunces are in a confederacy against him."Jonahnoreply@blogger.comtag:blogger.com,1999:blog-13967713.post-44442244952071816182014-08-18T14:02:00.987+02:002014-08-18T14:02:00.987+02:00Petar: IT WAS A JOKE. C'mon. Of course html+js...Petar: IT WAS A JOKE. C'mon. Of course html+js sucks.Carlo Pesciohttps://www.blogger.com/profile/12652284939993729858noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-88990283615932235182014-08-18T13:59:49.878+02:002014-08-18T13:59:49.878+02:00well Petar, this is what Seth Godin would say: htt...well Petar, this is what Seth Godin would say: http://sethgodin.typepad.com/seths_blog/2014/06/its-not-about-you.html<br />it's just not for you : )<br />Carlo Pesciohttps://www.blogger.com/profile/12652284939993729858noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-17016499984508187312014-08-18T13:46:07.211+02:002014-08-18T13:46:07.211+02:00"Proposing to drop the controller would be ju..."Proposing to drop the controller would be just as useful as proposing that we drop html and javascript and start using something serious to write web apps :-)." well overdue if you ask me, about dropping html+jspip010https://www.blogger.com/profile/01451646330176713157noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-48366044581012035732014-08-18T13:35:42.357+02:002014-08-18T13:35:42.357+02:00hardly have I seen so much bla bla bla and no esse...hardly have I seen so much bla bla bla and no essencepip010https://www.blogger.com/profile/01451646330176713157noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-9127628177846849672014-07-21T22:58:54.107+02:002014-07-21T22:58:54.107+02:00This comment has been removed by a blog administrator.Dina@fat-cow-hostinghttp://bluepromocode.com/fatcowhosting/noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-66212538574589732562014-06-23T03:55:41.681+02:002014-06-23T03:55:41.681+02:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/02654077877293303880noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-59789905071484118062014-04-26T04:09:20.078+02:002014-04-26T04:09:20.078+02:00This comment has been removed by a blog administrator.Anonymoushttps://www.blogger.com/profile/07720547920308398294noreply@blogger.comtag:blogger.com,1999:blog-13967713.post-849707949606532062014-01-25T02:26:26.679+01:002014-01-25T02:26:26.679+01:00This comment has been removed by a blog administrator.Aissahttp://www.joeydavila.netnoreply@blogger.comtag:blogger.com,1999:blog-13967713.post-41573459864298976132013-07-21T11:33:07.999+02:002013-07-21T11:33:07.999+02:00[Part 2]
I’ll stop here, as there is no point goin...[Part 2]<br />I’ll stop here, as there is no point going further. The real point is:<br />a) You’re still mimicking objects<br />b) You’re doing it wrong<br />c) Try to fix it, and you’ll be even more object-like<br /><br />Of course, there are other constructs in clojure that would help you with this task. Which brings me to what this post was really about.<br /><br /><br />The post was not about “objects are good” or “functions are bad”. But first and foremost, it was not about objects as you keep thinking of them. From your comments, it’s rather obvious that you keep thinking that “OO is that thing you do with objects and classes”, while my point was: forget that, here is a definition of an OOS that does not depend on objects and classes, but on forces and reactions. And yeah, objects and classes help realizing an OOS, but other things would help as well, and you can of course implement an OOS in a functional language by mimicking objects, classes, and those other things (but not simply by creating functions).<br /><br />Oh, by the way, I learnt the functional paradigm *before* the OO paradigm, right where monads were invented. I’m not writing this stuff out of conservatory ignorance. If anything, I’m surprised by how many lessons the new wave of functional programmers seem to have forgotten (like: information hiding is still important).<br /><br />I’m way beyond the point where one needs to see things as “good” or “bad”. I see languages and paradigms as materials, which reacts in a different way to forces. My interest is in understanding those forces and those reactions better. That’s what I call the physics of software. Debating over paradigms is as unfruitful as debating on wood over steel, which reminds me of another longish answer I wrote quite some time ago: http://www.carlopescio.com/2011/04/your-coding-conventions-are-hurting-you.html#c88334685485118639 : )Carlo Pesciohttps://www.blogger.com/profile/12652284939993729858noreply@blogger.com