Mailing List Archive
tlug.jp Mailing List tlug archive tlug Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]Re: [tlug] Making programming easier... or something like that
- Date: Fri, 19 Oct 2012 19:24:39 +0900
- From: "Stephen J. Turnbull" <stephen@example.com>
- Subject: Re: [tlug] Making programming easier... or something like that
- References: <CAH+grpObmX6iwBsyaO0-wsJk_cXd+2LcHpnKFtxnADLkz6-ekA@mail.gmail.com> <87hapr5ehs.fsf@uwakimon.sk.tsukuba.ac.jp> <20121018190110.69f01e04.jep200404@columbus.rr.com> <20121019070601.GA17763@pathetic.cynic.net>
Curt Sampson writes: > On 2012-10-19 12:26 +0900 (Fri), Stephen J. Turnbull wrote: > > > Start with The Mythical Man-Month, of course.... > > That seems to me not really related to programming but to the other > parts of software engineering, particularly project management. The > same mostly goes for the agile stuff you mention. True in one sense. However, these folks have strong opinions about the cognitive aspects of programming per se. For example, Brooks' elegant distinction between the essential and accidental difficulties in programming is crucial for understanding language design. Of course Brooks will immediate go on to deduce that not only will NASA never hire two programmers in a garage to write software for the space shuttle, but it will never happen that two programmers in a garage will accidentally produce shuttle-ready software. (At least not until IBM releases IC.ASN![1]) All of which fits your statement exactly. But that doesn't mean his asides on cognition aren't relevant to Attila's concerns. For example, in "The Category Design Pattern"[2] Gabriel goes on at length about composition. Haskell provides very compact notation for expressing this, but compositional programming is at the center of most of the years-long debates in Python (eg, the on-going thread mentioned earlier about expressing asynchronous programs).[3] Glyph of Twisted Matrix has this[4] to say about it all. :-) Ahem, back to Brooks and cognition, well, the point being that figuring out what is being composed, and expressing that elegantly with an appropriate type and morphisms is an important way to deal with the _essential_ difficulty of programming. OTOH, the notation Haskell uses for monadic programming looks like Perl one-liner noise on Symmetroid, but that's a merely _accidental_ difficulty that you should not allow to distract you from the power of Haskell. > > There's a recent literature on "design patterns" in programming > > (sprouted from design patterns for architecture AIUI) which I admit I > > haven't read. > > You're not really missing all that much. The design patterns literature > seems to have grown out of an undefinable ache for better abstraction in > languages with poor support for high levels of it. This led to somewhat > incoherent and hand-wavy little articles about things such as "the > visitor pattern," I was thinking more about stuff like MVC.[5] I suppose *you* could express that in terms of foldr, but *I* ain't even gonna try. ;-) > Even a C programmer would immediately think, "Err, you mean a > struct?" Or any other product type in _Set_. ;-) Footnotes: [1] The IBM Classes for Automatic Space Navigation. [2] http://www.haskellforall.com/2012/08/the-category-design-pattern.html [3] As the Seabees say, "The merely difficult we do at once. The impossible takes a little longer." [4] https://glyph.im/blob/EC0C1BF9-F79E-4F3D-A876-9273933E2E78.jpeg [5] http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
- References:
- Re: [tlug] Making programming easier... or something like that
- From: Jamie Learmonth
- [tlug] Making programming easier... or something like that
- From: Stephen J. Turnbull
- Re: [tlug] Making programming easier... or something like that
- From: jep200404
- Re: [tlug] Making programming easier... or something like that
- From: Curt Sampson
Home | Main Index | Thread Index
- Prev by Date: Re: [tlug] Dying Monitor?
- Next by Date: Re: [tlug] Dying Monitor?
- Previous by thread: Re: [tlug] Making programming easier... or something like that
- Next by thread: Re: [tlug] Making programming easier... or something like that
- Index(es):
Home Page Mailing List Linux and Japan TLUG Members Links