From: Robert Klemme Date: 2008-02-14T04:34:57+09:00 Subject: Re: lost in "=", forest searching for methods of abstraction (bad habits die hard) On 11.02.2008 13:49, Robert Klemme wrote: > 2008/2/10, Vladimir Konrad : >> Since then I have being using ruby (sporadically and not for big >> projects), but with a bad style (I recognised this, when trying to >> write something bigger). >> >> When I see projects like rspec, sequel and ramaze, I am amazed what is >> possible with ruby. >> >> The question is, what concepts are necessary to grasp to be able to >> create something like that (in ruby), and, is there a good read >> (preferably on-line) about them? > > There are some fundamental principles in software engineering that > apply regardless of programming language chosen: basically you have to > carefully think about how you distribute functionality across > different programming artifacts (methods, functions, classes and the > like). In other words, complex systems are built by divide and conquer > and abstraction. There are different methodologies (top down, bottom > up, various OO approaches) but they all try to come up with a > distribution of functionality that avoids redundancies (ideally no two > methods / classes that do the same) and keeps things modular (so you > can easier reuse). > > Off the top of my head I could not recommend a book or other resource > that will teach this. I found one which seems to cover what I meant: http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262510871/ Kind regards robert