{"id":21,"date":"2003-05-26T09:53:17","date_gmt":"2003-05-26T08:53:17","guid":{"rendered":"http:\/\/www.nobugs.org\/blog\/archives\/2003\/05\/26\/naked-objects\/"},"modified":"2003-05-26T09:53:17","modified_gmt":"2003-05-26T08:53:17","slug":"naked-objects","status":"publish","type":"post","link":"https:\/\/www.nobugs.org\/blog\/archives\/2003\/05\/26\/naked-objects\/","title":{"rendered":"Naked Objects"},"content":{"rendered":"<p>From <a href=\"http:\/\/lambda.weblogs.com\/\">LtU<\/a>, <a title=\"A brief introduction to Naked Objects\" href=\"http:\/\/www.nakedobjects.org\/introduction.html#introduction\">A brief introduction to Naked Objects<\/a>.  This sprung up in response to a question on squeak-dev along the lines of &#8220;if squeak if so OO, why do we use so much ascii text?&#8221;.  This is closely related to work done on the <a href=\"http:\/\/research.sun.com\/research\/self\/language.html\">Self language<\/a>, which I looked at a few weeks ago.  Self is a runtime-typed OO language, but without the notion of classes.  Objects aren&#8217;t instanstances of a class.  They just <i>are<\/i>.  Self also has a morphic-esque direct manipulation GUI whereby you can leap in an manipulate any object directly.  The big idea behind Self is one of a consistenly present world of manipulatable objects, much like the real world.  Unfortunately, the Self runtime is only available on Mac and Sparc, of which I have neither, so I can&#8217;t play with it.  But, the ideas are interesting.   C++ certainly doesn&#8217;t present a &#8220;consistent&#8221; view of the world &#8211; using a std::map from the &#8220;source world&#8221; and using it in the &#8220;executable world&#8221; with the debugger are as different as night and day.  Or at least they will be until someone writes a nice debugger plugin API for displaying custom types.<\/p>\n<p>The other gem I&#8217;ve recently discovered is the ever-popular <a href=\"http:\/\/www.laputan.org\/mud\/mud.html\">Big Ball of Mud<\/a> programming pattern.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>From LtU, A brief introduction to Naked Objects. This sprung up in response to a question on squeak-dev along the lines of &#8220;if squeak if so OO, why do we use so much ascii text?&#8221;. This is closely related to work done on the Self language, which I looked at a few weeks ago. Self [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-21","post","type-post","status-publish","format-standard","hentry","category-programming"],"_links":{"self":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":0,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/posts\/21\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/media?parent=21"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/categories?post=21"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.nobugs.org\/blog\/wp-json\/wp\/v2\/tags?post=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}