Fog Creek Software
Discussion Board




Software development terminology

http://slashdot.org/comments.pl?sid=60903&cid=5739295

Right on the money assessment about the group-talk that is software development terminology. Laughed when I read that.

Anonymous Cowboy
Tuesday, April 15, 2003

I laugh with you.

Nat Ersoz
Wednesday, April 16, 2003

That about summarizes my sentiments about patterns.  (Come on, Aly, use the for-loop pattern) ...

Alyosha`
Wednesday, April 16, 2003

Thanks for applying the post-a-link pattern.  My humour was significantly refactored.

Ged Byrne
Wednesday, April 16, 2003

"Agile Technology for the Agile Business"  =  "ad hoc developement for businesses without a plan"

funny

apw
Wednesday, April 16, 2003

I was reading the article linked on slashdot and all I could think was "it's the patterns".

Patterns are useful but they still rely on OPP. TO me it's not Post-OOP. It's OOP++. POOP will be something else ! POOP might not be good but POOP will smell different !

Sorry for the lame joke. Had to do it.

Application Specialist
Wednesday, April 16, 2003

"Refactoring is not the same thing as code maintenance"

Sorry dude, you're a maintenance programmer.

        
Wednesday, April 16, 2003

It's unfortunate that the original Slashdot author appears to be throwing out the baby with the bathwater, that s/he apparently dismisses terminology because it sounds silly to him or her.

Patterns and agile philosophies have completely changed the way I develop software, and have massively decreased the bug rate and complexity of my code.

Brent P. Newhall
Wednesday, April 16, 2003

"Patterns"=traditional proper coding techniques: Having standards, best practices, and code reuse. "Patterns" didn't improve your world, rather long acknowledged and understood proper coding techniques have. The problem that the author seems to be pointing out is NOT that proper coding techniques are bad, but that the sudden overwhelming use of the term "patterns" just sounds weak.

As far as "Agile Development", it generally means "non-formal" development, and is giving a name to the alternative to high structured development. Again, though, the author isn't dismissing that technique, but is just pointing out how the terminology didn't give life to the technique, but rather it simply made it easier to describe it.

Anonymous Cowboy
Wednesday, April 16, 2003

design patterns have nothing to do with code reuse or standards or best practices. they are are just names for things programmers seem to do over and over again.  the patterns stuff isn't exactly new, either. the gang of four book was published 10 years ago.

choppy
Wednesday, April 16, 2003

All this talk about agile methods is the same as the excitement about RAD ten years ago.


Wednesday, April 16, 2003

In general practice, 9 times out of 10 that the term "patterns" is referenced, it directly relates to "software reuse". Microsoft offers the data access blocks, a set of components and functions to facilitate cleaner access to ADO.NET, and promotes it as a "data access pattern" (though of course ADO.NET is a data access pattern atop OLEDB which is a data access pattern, and so on). When someone talks about using "patterns" in their software, about 90% of the time, in my experience, they're talking about reusing existing code, or fulfilling the most basic mandate of object oriented programming which is hierarchical generalization (OO by its very philosophy advocates "patterns").

Here's my pattern for Slashdot postings:

-Do not read linked articles
-Reply as quickly as possible, praying for a first post, but failing that reply to a post as near the the top chronologically and as close to the root of the thread.
-Use strawmen, hyperbole, explicit and implicit insults to taunt thine opponent
-Check off "AC" when such posts are likely to garner one a(nother) Slashdot stalker
-Submit

Anonymous Cowboy
Wednesday, April 16, 2003

"Agile Technology for the Agile Business"  =  "ad hoc developement for businesses without a plan"

That sounds like "one degree of separation to me"  I think the real one degree of separation desired by the company making the pitch, is one degree from them and your bank account.

Mike
Wednesday, April 16, 2003

Agile development isn't ad-hoc or informal. The process we use is considered agile, but it has a definite and prescribed formal process. That process is very lightweight and nimble, which is why it's called agile. That doesn't mean we have no process; it means we can adapt to changes quickly and easily without significant loss in effort.

Brad Wilson (dotnetguy.techieswithcats.com)
Wednesday, April 16, 2003

Brad,

I'm quite the Cockburn & Fowler fan.  But I know when its funny too.

Matter 'o fact, our "agile deveopment" process consists of "sweat like mad, dig for pertinent data, 'cause I got a stability problem holding up release code".

24 boxes running debug code, just waiting for one of them to fail - and hopefully burp up the golden nugget of truth.

Nat Ersoz
Wednesday, April 16, 2003

A "pattern" is just a new tool or library waiting to happen and automate the frigging thing for you.

C'mon, that's what computers are good at, not humans!

The fact that patterns are so in vogue speaks volumes about the level of inadequacy in our development tools and environments.

And the horse you rode in on
Thursday, April 17, 2003

I will *not* feed the trolls...I will *not* feed the trolls....

Brent P. Newhall
Thursday, April 17, 2003

Ah, a good old Slashdot-style of debating technique: Simply cast those who believe otherwise as "trolls".

Hiding under the bridge
Thursday, April 17, 2003

Whoever thinks that patterns is "just some new fangled term" of the same old shit to come out of that rock they've been hiding under. They've been around since the 1970s (actually early 60s if you include all of Chistopher Alexander's work on Patterns in Architecture).

Does anyone here have a better way to share these good coding techniques with others? Of course it's the same old shit, thats the WHOLE POINT, these patterns have continuously been proven to work, someone described them in a formal fashion that can be taught and we now share them using a common language. 

And even if they are just "good coding techniques", how would you describe these techniques to other developers without using patterns? "Oh I use what I call a Factory class then over here where my hand is waving in the air I have another class called Foo, then wait...let me dig this balled up napkin outta my ass crack.. see this is where i use.. oh wait wrong napkin... "

trollbooth
Thursday, April 17, 2003

Sigh. In the world of real software developers "patterns", as you would have them, have been indeed a staple: they're just a regular aspect of software development. However now that the world of Visual Basic programmers have been introduced to the world of real software development, they grasp onto every little thing they can clutch and repeat it verbatim over and over again (just as most VBers can't understand what "n-tier" logically and theoretically means, so they just presume it means "awesome!". I was talking to one VB blowhard who wouldn't stop talking about polymorphism as if he'd just invented it: Being a C++ programmer for oh, a couple of decades, I found this delightfully hilarious). As was said, most of the time that the term "patterns" is used it's referring to a wide range of programming constructs. What the hell it sounds good. It's like the kid who just went to his introductory karate class and now all he talks about is his karate finesse, while no one knows the guy who has a black belt.

Hiding under the bridge
Thursday, April 17, 2003

the only problem i have with "patterns" is that they don't make any sense unless you already know what they are.

if you give the gang of four book to someone who hasn't already written those patterns already, they will be simultaneously perplexed and bored. maybe the book sucks and there is some other patterns book i don't know about that is good for newbies? 

it can't hurt that people have a shared vocabulary for common techniques but i've really never been in any sort of development meeting where anyone discusses these things. I.e. I've never once said aloud "in the foobar module, there is a dataset to loop through, i will spend 20 minutes implementing an iterator pattern."  I guess i'm glad I have read the books naming these "patterns" but I really don't think that knowledge has changed the way I do things.

I think the idea of antipatterns is actually more useful; figuring out the right way to do things is usually straightforward, i'm more interested in techniques to avoid failure, especially when the potential failure is not obvious.

choppy
Thursday, April 17, 2003

Hiding under the bridge:
Oh I see now, you are very wise and all the VB morts keep throwing their design patterns in your face when you already knew them. Haha. What fools they are. Because you and I have a 50+ years programming experience total we can balk at these fools who are just now catching on to the good designs that lurk in our head intrinsically. Those stupid fools! Let's laugh together at those VB n00bs!

So basically what you are saying is that you hate that VB programmer down the hall and want to kick his ass but can't because he showed you his karate moves and all you could show him was your official Tolkien collectable mug?

You have revealed yourself. You see yourself as the wise karate master sitting in zen bliss seeing all that is around him and being one with it, saying nothing, but knowing all. Able to kill any and all development problems with your 1 inch punch while still maintaining your cool.

BULLSHIT. Only a greenhorn would scoff at design patterns and the spreading of good design within the development community. It makes life easier if we all are on the same "best practice" page.



Choppy:
[i'm more interested in techniques to avoid failure, especially when the potential failure is not obvious. ]

I can't think of a quicker way to fail then to disregard the knowledge that those before you have observed and disseminated. Most of these patterns ARE common because they have been named and shared within the development community. These patterns have become a core part of every new language/platform. The Iterator did not become common knowledge by sticking it's thumb in the air and begging for a ride.

trollbooth
Friday, April 18, 2003

Ugh. Your ability to miss the point is staggering.

While analogies are usually a very poor way of discussing an issue, I have a headache and am enjoying the celebration of Easter, so here it is: Let's say that you're in the business of painting cars, and have amassed a wide range of techniques and approaches to painting cars using the most efficient, highest quality, most durable approach the industry agrees on. One day a guy who works in the field of painting polycarbonate bumpers comes up with a special buffing approach to painting a certain brand of polycarbonate bumpers using a variation on standard approaches, and he gives it the moniker "Bumpificus 7 Painting". Great, it's another tool and a method of doing one section in one scenario some of the time. Now imagine if the new kids (not necessarily being young. It could as easily be a marginal programmer that is looking for the inside track to regain some credibility) in the painting field suddenly cannot talk about any painting job without extrapolating on how they'll use a Bumpificus 7 approach, and how nothing but Bumpificus 7 will do. Indeed, I think I'll use the Bumpificus 7 approach to filling out my taxes and making spaghetti! _THAT_ is what the critique of patterns is all about: A overhyped, mis-applied singular approach of pretty marginal importance (not UN-important, but outside of trivial examples and academic exercises, realistically only one very small potential approach). Visual Basic programmers, who I _do_ disparage because quite honestly as a statistical group it represents, on average, the dregs of software developers, are absolutely classic for this sort of thing, and it was last seen with "n-Tier" development.

Hiding under the bridge collecting tolls
Friday, April 18, 2003

Wow.  What a masterful troll.  A+

Brent P. Newhall
Friday, April 18, 2003

Get back to your VB, Brent. Tell the world how you 1337 implementation inheritence discovery will change the world

Trollbuster
Friday, April 18, 2003

So Under the Bridge, is your argument with patterns or not? Because from your description it simply sounds like you object to mediocre programmers using quoted design patterns to prop themself up as better than they appear. But that doesn't discount design patterns, instead those who over-use and over-hype their advantages. They still offer value and should not be discounted simply because you say they are trivial. Unless you can argue otherwise?

But in all honesty I think this is just your bias showing it's ugly face. You want to see the worst in others to prop yourself up as The Master(tm). Your slant against all VB programmers isn't fair but so what. I still think you're a noob passing herself off as experienced and that's probably not fair either.

trollbooth
Monday, April 21, 2003

*  Recent Topics

*  Fog Creek Home