Discussion:
Share the knowledge: Books
The Irrelevant Elephant
2005-11-09 18:19:32 UTC
Permalink
I just bought a book, and it's so fantastic that I thought I'd share it
with you guys:

'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).

It illustrates a whole range of patterns in very real and understandable
terms, and doesn't dilly dally about with fancy language. It covers a
whole range of subjects surrounding patterns, including (but not limited
to) how to apply patterns to your own software, and how to avoid pattern
fever. I really can't do it any justice here, so I'll just recommend
that if you are interested in learning about software design patterns;
get this book :)

US Amazon link:

http://www.amazon.com/exec/obidos/tg/detail/-/0596007124/qid=1124823686/sr=8-1/ref=pd_bbs_1/104-2312264-7515107?v=glance&s=books&n=507846

UK Amazon link:

http://www.amazon.co.uk/exec/obidos/ASIN/0596007124/qid=1131151205/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-3356724-2429221

The book was originally recommended by Ward Cunningham, the inventor of
the Wiki.

Anyway.. Do you guys have any interesting books to recommend?

- IE
Dominick Accattato
2005-11-09 18:22:27 UTC
Permalink
good choice. I've read that book a good two three times now and refer to it
often. Although don't waste your time on the mvc song.. heheh
Post by The Irrelevant Elephant
I just bought a book, and it's so fantastic that I thought I'd share it
'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).
It illustrates a whole range of patterns in very real and understandable
terms, and doesn't dilly dally about with fancy language. It covers a
whole range of subjects surrounding patterns, including (but not limited
to) how to apply patterns to your own software, and how to avoid pattern
fever. I really can't do it any justice here, so I'll just recommend
that if you are interested in learning about software design patterns;
get this book :)
http://www.amazon.com/exec/obidos/tg/detail/-/0596007124/qid=1124823686/sr=8-1/ref=pd_bbs_1/104-2312264-7515107?v=glance&s=books&n=507846
http://www.amazon.co.uk/exec/obidos/ASIN/0596007124/qid=1131151205/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-3356724-2429221
The book was originally recommended by Ward Cunningham, the inventor of
the Wiki.
Anyway.. Do you guys have any interesting books to recommend?
- IE
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Johan Lopes
2005-11-09 18:47:45 UTC
Permalink
Yes, "Head First Design ..." is a great book - perhaps at times a bit
too wacky for my taste but it does the job. I would also recommend the
GoF (Gang of Four) "Design Patterns, Elements of Reusable
Object-Oriented ...".

Buy them together, they really complement each other!

<-- I know, GoF has been recommended millions of times before on this list.

/Johan
good choice. I've read that book a good two three times now and refer to it
often. Although don't waste your time on the mvc song.. heheh
Post by The Irrelevant Elephant
I just bought a book, and it's so fantastic that I thought I'd share it
'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).
It illustrates a whole range of patterns in very real and understandable
terms, and doesn't dilly dally about with fancy language. It covers a
whole range of subjects surrounding patterns, including (but not limited
to) how to apply patterns to your own software, and how to avoid pattern
fever. I really can't do it any justice here, so I'll just recommend
that if you are interested in learning about software design patterns;
get this book :)
http://www.amazon.com/exec/obidos/tg/detail/-/0596007124/qid=1124823686/sr=8-1/ref=pd_bbs_1/104-2312264-7515107?v=glance&s=books&n=507846
http://www.amazon.co.uk/exec/obidos/ASIN/0596007124/qid=1131151205/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-3356724-2429221
Post by The Irrelevant Elephant
The book was originally recommended by Ward Cunningham, the inventor of
the Wiki.
Anyway.. Do you guys have any interesting books to recommend?
- IE
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Don Petersen
2005-11-09 18:47:07 UTC
Permalink
Luke Bayes of ASUnit fame has a good Amazon book list:

http://www.amazon.com/exec/obidos/tg/listmania/list-browse/-/LOAHA8VLL3XZ/ref%3Dcm%5Faya%5Fav.lm%5Fmore/103-6116060-0463009

Test Driven Development By Example is a great book if you are in to TDD,
or just curious. That and The Pragmatic Programmer are both very easy
books to read. They're set up in a way that they can still be
beneficial even if you only have short bursts of time to devote to
reading them...

Don
Post by The Irrelevant Elephant
I just bought a book, and it's so fantastic that I thought I'd share it
'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).
It illustrates a whole range of patterns in very real and understandable
terms, and doesn't dilly dally about with fancy language. It covers a
whole range of subjects surrounding patterns, including (but not limited
to) how to apply patterns to your own software, and how to avoid pattern
fever. I really can't do it any justice here, so I'll just recommend
that if you are interested in learning about software design patterns;
get this book :)
http://www.amazon.com/exec/obidos/tg/detail/-/0596007124/qid=1124823686/sr=8-1/ref=pd_bbs_1/104-2312264-7515107?v=glance&s=books&n=507846
http://www.amazon.co.uk/exec/obidos/ASIN/0596007124/qid=1131151205/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-3356724-2429221
The book was originally recommended by Ward Cunningham, the inventor of
the Wiki.
Anyway.. Do you guys have any interesting books to recommend?
- IE
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Luke Bayes
2005-11-09 20:47:55 UTC
Permalink
Hey Don,

Thanks for forwarding that link!

I just wanted to add to that - if a person is serious about learning design
patterns, it *really* helps to get around a small group of other folks and
discuss each pattern in detail - especially in how it relates to
ActionScript development. Ali Mills and I worked with a group of Bay Area
developers over the past year and went through the Gang of Four book twice.
I thought that I had a pretty good comprehension before the study group, but
as it turned out - I was wrong! Even after reviewing each pattern every
week, we realized that it would be valuable to do them all again.

Joshua Kerievsky (The author of Refactoring to Patterns) has a really great
site devoted to helping people organize just such a meeting:

http://www.industriallogic.com/papers/learning.html

I can't wait until more flash developers get into Patterns, Test-Driven
Development and agile processes!

BTW - Don't forget to check out the newly-released AsUnit XUL UI and AsUnit
3.0 for ActionScript 3!


Thanks,


Luke Bayes
www.asunit.org <http://www.asunit.org>
Keith Peters
2005-11-09 21:04:37 UTC
Permalink
Anyone in the BOSTON area wants to start such a group, I could probably
round up a few people.

Keith


_____

From: osflash-bounces-***@public.gmane.org [mailto:osflash-bounces-***@public.gmane.org] On
Behalf Of Luke Bayes
Sent: Wednesday, November 09, 2005 3:48 PM
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books


Hey Don,

Thanks for forwarding that link!

I just wanted to add to that - if a person is serious about learning design
patterns, it *really* helps to get around a small group of other folks and
discuss each pattern in detail - especially in how it relates to
ActionScript development. Ali Mills and I worked with a group of Bay Area
developers over the past year and went through the Gang of Four book twice.
I thought that I had a pretty good comprehension before the study group, but
as it turned out - I was wrong! Even after reviewing each pattern every
week, we realized that it would be valuable to do them all again.

Joshua Kerievsky (The author of Refactoring to Patterns) has a really great
site devoted to helping people organize just such a meeting:

http://www.industriallogic.com/papers/learning.html

I can't wait until more flash developers get into Patterns, Test-Driven
Development and agile processes!

BTW - Don't forget to check out the newly-released AsUnit XUL UI and AsUnit
3.0 for ActionScript 3!


Thanks,


Luke Bayes
www.asunit.org
Scott Hyndman
2005-11-09 21:59:43 UTC
Permalink
The Pragmatic Programmer, by Dave Thomas and Andrew Hunt.

http://www.amazon.com/exec/obidos/tg/detail/-/020161622X/103-7347270-4973454?v=glance

It's a must read.

Scott

-----Original Message-----
From: osflash-bounces-***@public.gmane.org on behalf of The Irrelevant Elephant
Sent: Wed 11/9/2005 1:19 PM
To: Open Source Flash Mailing List
Cc:
Subject: [osflash] Share the knowledge: Books
I just bought a book, and it's so fantastic that I thought I'd share it
with you guys:

'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).

It illustrates a whole range of patterns in very real and understandable
terms, and doesn't dilly dally about with fancy language. It covers a
whole range of subjects surrounding patterns, including (but not limited
to) how to apply patterns to your own software, and how to avoid pattern
fever. I really can't do it any justice here, so I'll just recommend
that if you are interested in learning about software design patterns;
get this book :)

US Amazon link:

http://www.amazon.com/exec/obidos/tg/detail/-/0596007124/qid=1124823686/sr=8-1/ref=pd_bbs_1/104-2312264-7515107?v=glance&s=books&n=507846

UK Amazon link:

http://www.amazon.co.uk/exec/obidos/ASIN/0596007124/qid=1131151205/sr=8-1/ref=sr_8_xs_ap_i1_xgl/026-3356724-2429221

The book was originally recommended by Ward Cunningham, the inventor of
the Wiki.

Anyway.. Do you guys have any interesting books to recommend?

- IE
Tim Beynart
2005-11-10 00:22:52 UTC
Permalink
You might as well go to the source if you are reading up on patterns:
http://www.amazon.com/gp/product/0195019199/102-7042366-5688915?v=glance
&n=283155&n=507846&s=books&v=glance



- - - - - - - - - - - -
Tim Beynart
Athens, GA, USA
- - - - - - - - - - - -
Nicolas Cannasse
2005-11-10 00:53:27 UTC
Permalink
Post by The Irrelevant Elephant
I just bought a book, and it's so fantastic that I thought I'd share it
'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.

The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.

I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).

However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Post by The Irrelevant Elephant
Anyway.. Do you guys have any interesting books to recommend?
TAPL : http://www.cis.upenn.edu/~bcpierce/tapl/

A must read for language design and type system implementations. The
first chapters on Lambda Calculus are quite easy to read, but in the end
there's a more difficult topics.

Nicolas
Ralf Bokelberg
2005-11-10 07:46:54 UTC
Permalink
I´m not sure if anybody already mentioned "Refactoring" written bei Martin
Fowler. Great Book about OOP, even if you are not (yet) into refactoring so
much.

And another one, which really made me want to do something with Lisp, is
Peter Schreiber´s "Practical Common Lisp". At the uni i never really
understood, what Lisp is all about, probably because my Professor also
didn´t understand it from a practical point of view. But this books clearly
shows, that Lisp is one of the most powerful languages available today. The
book is available online also. Try google.

Enjoy,
Ralf.





----- Original Message -----
From: "Nicolas Cannasse" <ncannasse-8vEAfNqoztcO5BY0+***@public.gmane.org>
To: "Open Source Flash Mailing List" <osflash-***@public.gmane.org>
Sent: Thursday, November 10, 2005 1:53 AM
Subject: Re: [osflash] Share the knowledge: Books
Post by Nicolas Cannasse
Post by The Irrelevant Elephant
I just bought a book, and it's so fantastic that I thought I'd share it
'Head First Design Patterns' by Freeman & Freeman (O'Reilly press).
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).
However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Post by The Irrelevant Elephant
Anyway.. Do you guys have any interesting books to recommend?
TAPL : http://www.cis.upenn.edu/~bcpierce/tapl/
A must read for language design and type system implementations. The
first chapters on Lambda Calculus are quite easy to read, but in the end
there's a more difficult topics.
Nicolas
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
The Irrelevant Elephant
2005-11-10 14:05:33 UTC
Permalink
Nicolas Cannasse wrote:
<loads of stuff I didn't particularly agree with ;-)>

I thought I'd try to thrash this out a little. I'm really still
learning about patterns and how to apply them to my software most
effectively, and whilst I can understand your queries; I can't fathom
the source of the belligerence. It's obvious that you aren't a big fan
of OO development, however I think you're a bit keen to "throw the baby
out with the water". Or maybe you're just bitter that few people here
are bothered with functional programming ;-)
Post by Nicolas Cannasse
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
This is the kind of thing I'm talking about ;-) Of course any style of
development spawns it's own "problems" (for want of a better word);
however patterns are /not/ "a mechanism to circumvent problems caused by
OOP". I can only assume you haven't read /that/ much into patterns as
inheritance features much less than other techniques, composition for
example.
Post by Nicolas Cannasse
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess you've had a bad experience then? Part of the trick to using
patterns effectively is also (a) deciding if you need to use a pattern
at all and (b) learning to apply patterns to particular "problems" in
your software (rather than blindly building your software around patterns).
Post by Nicolas Cannasse
I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).
Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for example,
providing support for the commonly used Observer/Observable pattern) -
but it would be wrong for a language to assume responsibility of the
implementation of patterns at large.
Post by Nicolas Cannasse
However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Yes, this is indeed another reason patterns are useful. My business
partners are not developers; one is a designer and one is a
part-developer-mostly-designer - but we can (and do) talk using a common
vocabulary. Because we have also adapted the use of CRC cards
(http://c2.com/cgi/wiki?CrcCard) into our development process, we can
also identify patterns whilst our cards are laid out on the floor,
before we even start cutting code.

Horses for courses.
Austin Haas
2005-11-10 18:43:59 UTC
Permalink
I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I mean no offense at all, but it sounds like you aren't very familiar
with these other types of languages to see why this is so. Correct me if
I am wrong.

Peter Norvig, addressing this topic says, "Dynamic Languages have fewer
language limitations. Less need for bookkeeping objects and classes.
Less need to get around class-restricted design."
(http://www.norvig.com/design-patterns/ppframe.htm)

I also want to second some of the books that others have mentioned, and
add my own:

1. "Code Complete" -- it's been a while since I read this one, but if we
were hiring, I would make it a mandatory read.

2. "Pragmatic Programmer" -- great advice about automating everything
you do, and why Actionscripters really need to learn an additional language.

3. "Structure and Interpretation of Computer Programs" -- videos based
on the book here:
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/

-austin

Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by The Irrelevant Elephant
<loads of stuff I didn't particularly agree with ;-)>
I thought I'd try to thrash this out a little. I'm really still
learning about patterns and how to apply them to my software most
effectively, and whilst I can understand your queries; I can't fathom
the source of the belligerence. It's obvious that you aren't a big fan
of OO development, however I think you're a bit keen to "throw the baby
out with the water". Or maybe you're just bitter that few people here
are bothered with functional programming ;-)
Post by Nicolas Cannasse
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
This is the kind of thing I'm talking about ;-) Of course any style of
development spawns it's own "problems" (for want of a better word);
however patterns are /not/ "a mechanism to circumvent problems caused by
OOP". I can only assume you haven't read /that/ much into patterns as
inheritance features much less than other techniques, composition for
example.
Post by Nicolas Cannasse
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess you've had a bad experience then? Part of the trick to using
patterns effectively is also (a) deciding if you need to use a pattern
at all and (b) learning to apply patterns to particular "problems" in
your software (rather than blindly building your software around patterns).
Post by Nicolas Cannasse
I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).
Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for example,
providing support for the commonly used Observer/Observable pattern) -
but it would be wrong for a language to assume responsibility of the
implementation of patterns at large.
Post by Nicolas Cannasse
However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Yes, this is indeed another reason patterns are useful. My business
partners are not developers; one is a designer and one is a
part-developer-mostly-designer - but we can (and do) talk using a common
vocabulary. Because we have also adapted the use of CRC cards
(http://c2.com/cgi/wiki?CrcCard) into our development process, we can
also identify patterns whilst our cards are laid out on the floor,
before we even start cutting code.
Horses for courses.
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Johannes Nel
2005-11-10 18:49:35 UTC
Permalink
code complete is prob one of the best books on design (not patterns) i have
ever read. is the latest version even better than the old one?
Post by Austin Haas
I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I mean no offense at all, but it sounds like you aren't very familiar
with these other types of languages to see why this is so. Correct me if
I am wrong.
Peter Norvig, addressing this topic says, "Dynamic Languages have fewer
language limitations. Less need for bookkeeping objects and classes.
Less need to get around class-restricted design."
(http://www.norvig.com/design-patterns/ppframe.htm)
I also want to second some of the books that others have mentioned, and
1. "Code Complete" -- it's been a while since I read this one, but if we
were hiring, I would make it a mandatory read.
2. "Pragmatic Programmer" -- great advice about automating everything
you do, and why Actionscripters really need to learn an additional language.
3. "Structure and Interpretation of Computer Programs" -- videos based
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
-austin
Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by The Irrelevant Elephant
<loads of stuff I didn't particularly agree with ;-)>
I thought I'd try to thrash this out a little. I'm really still
learning about patterns and how to apply them to my software most
effectively, and whilst I can understand your queries; I can't fathom
the source of the belligerence. It's obvious that you aren't a big fan
of OO development, however I think you're a bit keen to "throw the baby
out with the water". Or maybe you're just bitter that few people here
are bothered with functional programming ;-)
Post by Nicolas Cannasse
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
This is the kind of thing I'm talking about ;-) Of course any style of
development spawns it's own "problems" (for want of a better word);
however patterns are /not/ "a mechanism to circumvent problems caused by
OOP". I can only assume you haven't read /that/ much into patterns as
inheritance features much less than other techniques, composition for
example.
Post by Nicolas Cannasse
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess you've had a bad experience then? Part of the trick to using
patterns effectively is also (a) deciding if you need to use a pattern
at all and (b) learning to apply patterns to particular "problems" in
your software (rather than blindly building your software around
patterns).
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).
Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for example,
providing support for the commonly used Observer/Observable pattern) -
but it would be wrong for a language to assume responsibility of the
implementation of patterns at large.
Post by Nicolas Cannasse
However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Yes, this is indeed another reason patterns are useful. My business
partners are not developers; one is a designer and one is a
part-developer-mostly-designer - but we can (and do) talk using a common
vocabulary. Because we have also adapted the use of CRC cards
(http://c2.com/cgi/wiki?CrcCard) into our development process, we can
also identify patterns whilst our cards are laid out on the floor,
before we even start cutting code.
Horses for courses.
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
--
j:pn
Austin Haas
2005-11-10 19:16:52 UTC
Permalink
I bought the new one, but haven't read it yet.

Apologies to Nicolas for misspelling his name.

Also apologies to I. Elephant if questioning his knowledge came off bad.
I think I was taking a shortcut rather than explaining myself. Mostly I
was considering this comment:

"Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for
example, providing support for the commonly used Observer/Observable
pattern) but it would be wrong for a language to assume responsibility
of the implementation of patterns at large."

It isn't an issue of embedding a particular pattern into a language as
that pattern, but the language having a certain style that can avoid any
need for that pattern in the first place.

-austin

Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by Johannes Nel
code complete is prob one of the best books on design (not patterns) i
have ever read. is the latest version even better than the old one?
I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I mean no offense at all, but it sounds like you aren't very familiar
with these other types of languages to see why this is so. Correct me if
I am wrong.
Peter Norvig, addressing this topic says, "Dynamic Languages have fewer
language limitations. Less need for bookkeeping objects and classes.
Less need to get around class-restricted design."
(http://www.norvig.com/design-patterns/ppframe.htm)
I also want to second some of the books that others have mentioned, and
1. "Code Complete" -- it's been a while since I read this one, but if we
were hiring, I would make it a mandatory read.
2. "Pragmatic Programmer" -- great advice about automating everything
you do, and why Actionscripters really need to learn an additional language.
3. "Structure and Interpretation of Computer Programs" -- videos based
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/
-austin
Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by The Irrelevant Elephant
<loads of stuff I didn't particularly agree with ;-)>
I thought I'd try to thrash this out a little. I'm really still
learning about patterns and how to apply them to my software most
effectively, and whilst I can understand your queries; I can't fathom
the source of the belligerence. It's obvious that you aren't a
big fan
Post by The Irrelevant Elephant
of OO development, however I think you're a bit keen to "throw
the baby
Post by The Irrelevant Elephant
out with the water". Or maybe you're just bitter that few people
here
Post by The Irrelevant Elephant
are bothered with functional programming ;-)
Post by Nicolas Cannasse
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much
useful in
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
other kind of languages (for exemple Functional ones). This is
mainly
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
This is the kind of thing I'm talking about ;-) Of course any
style of
Post by The Irrelevant Elephant
development spawns it's own "problems" (for want of a better word);
however patterns are /not/ "a mechanism to circumvent problems
caused by
Post by The Irrelevant Elephant
OOP". I can only assume you haven't read /that/ much into
patterns as
Post by The Irrelevant Elephant
inheritance features much less than other techniques, composition for
example.
Post by Nicolas Cannasse
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java
disease" :)
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess you've had a bad experience then? Part of the trick to
using
Post by The Irrelevant Elephant
patterns effectively is also (a) deciding if you need to use a
pattern
Post by The Irrelevant Elephant
at all and (b) learning to apply patterns to particular "problems" in
your software (rather than blindly building your software around
patterns).
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
I guess that a better programming language should embed the most
often
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
used patterns so they become a lot more natural to use (for
instance you
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
will not have to learn them).
Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for
example,
Post by The Irrelevant Elephant
providing support for the commonly used Observer/Observable
pattern) -
Post by The Irrelevant Elephant
but it would be wrong for a language to assume responsibility of the
implementation of patterns at large.
Post by Nicolas Cannasse
However I still think that OO design patterns are useful since
they can
Post by The Irrelevant Elephant
Post by Nicolas Cannasse
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Yes, this is indeed another reason patterns are useful. My business
partners are not developers; one is a designer and one is a
part-developer-mostly-designer - but we can (and do) talk using a
common
Post by The Irrelevant Elephant
vocabulary. Because we have also adapted the use of CRC cards
(http://c2.com/cgi/wiki?CrcCard) into our development process, we can
also identify patterns whilst our cards are laid out on the floor,
before we even start cutting code.
Horses for courses.
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
--
j:pn
------------------------------------------------------------------------
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
The Irrelevant Elephant
2005-11-10 19:34:40 UTC
Permalink
Post by Austin Haas
Also apologies to I. Elephant if questioning his knowledge came off bad.
I think I was taking a shortcut rather than explaining myself. Mostly I
Hehe, it's pretty hard to offend an elephant ;-)

Don't assume that because I 'appear' to be knowledgeable that I am ;-)
I'm learning, just like everybody else. That's the reason I bought the
design patterns book in the first place, and also the reason I posted my
find here - and asked if other people had discovered other little gems
that I can get my teeth into.
Post by Austin Haas
"Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for
example, providing support for the commonly used Observer/Observable
pattern) but it would be wrong for a language to assume responsibility
of the implementation of patterns at large."
It isn't an issue of embedding a particular pattern into a language as
that pattern, but the language having a certain style that can avoid any
need for that pattern in the first place.
Sorry, but this doesn't make a lot of sense to me - perhaps I'm just
misunderstanding you. A pattern is not a concrete implementation; but
patterns appear everywhere. Patterns are also not concrete in their
definition; you can mutate a pattern. There is no one-size-fits-all
solution, and so therefore patterns exist as illustrations.

Whether a language supports a pattern directly is really of no
consequence to me personally :)

As for the language having a certain style, well that goes back to my
original 'horses for courses' comment. You use what tools you are
comfortable with, and that are appropriate for the job at hand. It just
so happens that OOP is how we do things - and used correctly, patterns
help us along the way :)

There isn't really much more to it than that.
Martin Wood
2005-11-10 20:56:28 UTC
Permalink
I think one of the main forces behind design patterns is communication,
they allow us to talk about software design using a common language
which represents often found architectural features (errm, patterns :)

every programming language will have patterns, be it functional, OO,
procedural, whatever.

maybe some patterns (and anti-patterns) describe ways in which we deal
with flaws (or features, depends on your point of view), but i think its
slightly disingenuous to say that patterns are bandages for bad
languages. (bad nicolas, bad.. :)

i think they have been discussed a lot more in OO languages because most
large scale software development has been conducted within that realm
for the past so many years.

Im sure we will start to see patterns relating to AOP in the near future
as that becomes a more common part of development.

anyway, back to the books, at the moment im also enjoying

Refactoring: Improving the Design of Existing Code
By Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts

and joining the two topics together :

Refactoring to Patterns
By Joshua Kerievsky

martin
Austin Haas
2005-11-10 22:00:05 UTC
Permalink
Sorry, I don't want to drag this out if people think it's getting silly,
but for the sake of discussion...

From the preface to Design Patterns:

"It's a book of design patterns that describes simple and elegant
solutions to specific problems in object-oriented software."

Not sure if I already said this, but for the record, I think Design
Patterns is a great book and Actionscript is a very decent language.

Ditto on "Refactoring." That's a good book.

Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by Martin Wood
I think one of the main forces behind design patterns is communication,
they allow us to talk about software design using a common language
which represents often found architectural features (errm, patterns :)
every programming language will have patterns, be it functional, OO,
procedural, whatever.
maybe some patterns (and anti-patterns) describe ways in which we deal
with flaws (or features, depends on your point of view), but i think its
slightly disingenuous to say that patterns are bandages for bad
languages. (bad nicolas, bad.. :)
i think they have been discussed a lot more in OO languages because most
large scale software development has been conducted within that realm
for the past so many years.
Im sure we will start to see patterns relating to AOP in the near future
as that becomes a more common part of development.
anyway, back to the books, at the moment im also enjoying
Refactoring: Improving the Design of Existing Code
By Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Refactoring to Patterns
By Joshua Kerievsky
martin
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Daniel Wabyick
2005-11-11 17:09:08 UTC
Permalink
So I scraped the rust off my computer science education and thought a
bit about the differences between functional and OO languages.

One of the nice things about languages like Lisp/Prolog/Ocaml(?) is that
you can pass functions around by reference and composite them into other
functions. This allows for some problems to be very elegantly solved, in
particular what in OO is called the Strategiy pattern. Also, from what I
recall from academia its very useful for the type of substitutions used
in language parsing based on a BNF definition (my knowledge is not very
deep here).

In contrast, strict OO languages like Java do not offer this
possibility. You can't pass a function directly, so instead you have to
pass an object that conforms to an Interface. You are forced to using a
pattern.

Interestingly, AS2 seems to meet in the middle. While not quite as
syntactically elegant as Lisp or Prolog, you can pass functions around
by reference. This would allow for an implementation of Strategy that is
probably a lot more succint in Java (simply pass the function), although
this function would assumedly be loosely typed. From what I understand
- we are going to lose this flexibility in AS3.

---

On the other side of the coin, I think the best aspect of an OO language
like Java is that the need to verbosely type everything allow for
amazing development tools like the Eclipse JDE to be created. I would
venture to say its much easier to provide code-hinting and refactoring
capabilities for a Jave IDE than for a Lisp/Ocaml IDE. (I could be very
wrong!)


Dheers,
-Daniel
Post by Martin Wood
I think one of the main forces behind design patterns is communication,
they allow us to talk about software design using a common language
which represents often found architectural features (errm, patterns :)
every programming language will have patterns, be it functional, OO,
procedural, whatever.
maybe some patterns (and anti-patterns) describe ways in which we deal
with flaws (or features, depends on your point of view), but i think its
slightly disingenuous to say that patterns are bandages for bad
languages. (bad nicolas, bad.. :)
i think they have been discussed a lot more in OO languages because most
large scale software development has been conducted within that realm
for the past so many years.
Im sure we will start to see patterns relating to AOP in the near future
as that becomes a more common part of development.
anyway, back to the books, at the moment im also enjoying
Refactoring: Improving the Design of Existing Code
By Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Refactoring to Patterns
By Joshua Kerievsky
martin
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Nicolas Cannasse
2005-11-12 03:02:05 UTC
Permalink
Post by Daniel Wabyick
So I scraped the rust off my computer science education and thought a
bit about the differences between functional and OO languages.
One of the nice things about languages like Lisp/Prolog/Ocaml(?) is that
you can pass functions around by reference and composite them into other
functions. This allows for some problems to be very elegantly solved, in
particular what in OO is called the Strategiy pattern. Also, from what I
recall from academia its very useful for the type of substitutions used
in language parsing based on a BNF definition (my knowledge is not very
deep here).
In contrast, strict OO languages like Java do not offer this
possibility. You can't pass a function directly, so instead you have to
pass an object that conforms to an Interface. You are forced to using a
pattern.
Interestingly, AS2 seems to meet in the middle. While not quite as
syntactically elegant as Lisp or Prolog, you can pass functions around
by reference. This would allow for an implementation of Strategy that is
probably a lot more succint in Java (simply pass the function), although
this function would assumedly be loosely typed. From what I understand
- we are going to lose this flexibility in AS3.
What you're talking about are "First Order Functions". It means
functions are values just like an integer or an object. It means also
you can store them and pass them around. This is actually the main
property of so-called "Functional languages".

Please note that in a pure Lambda Calculus model, everything is a
function. Just like in a pure OO model everything is an object. However
today efficient Functional Programming Languages such as Lisp OCaml or
Haskell are not "pure" to this point. (OCaml even have a pretty powerful
class type system).

In AS2, you can store functions but you cannot express the type of a
function (only using the type Function, which does not give you a lot of
informations about it). Also, methods are not closures, so they're
actually independant from the instance they're used with.

var f : Function = o.myMethod;
f(); // call without "o" context

This is what was changed with AS3, where you can actually do that and it
will work. That opens a new way of defining events where you can simply
write :

mc.onRelease = o.mymethod;

The only problem left are the "types" of a function. Since obviously you
don't want to assign a function taking 1 paremeter to a function needing
4 , and having different types.

I'm not sure if AS3 allows the following :

mc.onRelease = function(a : String,b : String ) : String { return "" }

But it surely shoudln't :)
Back to functional languages, you can express type function using the
"->" notation :

var onEvent : Event -> Void

means "takes an Event paremeter and returns Void", while :

var onEvent : Event -> String -> String -> Boolean

means "takes 3 parameters Event String and String and returns a Boolean".

So you can actually strictly-type your functions which is pretty good
news. And BTW all of that will be in "haXe".

Nicolas

JesterXL
2005-11-10 19:06:58 UTC
Permalink
There is very little point in using OOP in JSFL for example, the scripting
language that runs Flash commands in the Flash MX 2004 & Flash 8 IDE. Loop
through the libary, change linkage options... I mean, is there really a
point to making that something other than a function?

Now if you are making a WindowSWF, sure, maybe she could use some
organization, but pragmatically, in those cases OOP just gets in the way.

----- Original Message -----
From: "Austin Haas" <austin-***@public.gmane.org>
To: "Open Source Flash Mailing List" <osflash-***@public.gmane.org>
Sent: Thursday, November 10, 2005 1:43 PM
Subject: Re: [osflash] Share the knowledge: Books


I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I mean no offense at all, but it sounds like you aren't very familiar
with these other types of languages to see why this is so. Correct me if
I am wrong.

Peter Norvig, addressing this topic says, "Dynamic Languages have fewer
language limitations. Less need for bookkeeping objects and classes.
Less need to get around class-restricted design."
(http://www.norvig.com/design-patterns/ppframe.htm)

I also want to second some of the books that others have mentioned, and
add my own:

1. "Code Complete" -- it's been a while since I read this one, but if we
were hiring, I would make it a mandatory read.

2. "Pragmatic Programmer" -- great advice about automating everything
you do, and why Actionscripters really need to learn an additional language.

3. "Structure and Interpretation of Computer Programs" -- videos based
on the book here:
http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/

-austin

Austin Haas
Pet Tomato, Inc.
http://www.pettomato.com
Post by The Irrelevant Elephant
<loads of stuff I didn't particularly agree with ;-)>
I thought I'd try to thrash this out a little. I'm really still
learning about patterns and how to apply them to my software most
effectively, and whilst I can understand your queries; I can't fathom
the source of the belligerence. It's obvious that you aren't a big fan
of OO development, however I think you're a bit keen to "throw the baby
out with the water". Or maybe you're just bitter that few people here
are bothered with functional programming ;-)
Post by Nicolas Cannasse
I don't know exactly what I should think about Design Patterns. It's
true they're in general good solutions to model the problems in a
classic OO language with inheritance, but they are not so much useful in
other kind of languages (for exemple Functional ones). This is mainly
due to the fact that OO creates its own set of problems that are only
partly answered by using Design Patterns.
This is the kind of thing I'm talking about ;-) Of course any style of
development spawns it's own "problems" (for want of a better word);
however patterns are /not/ "a mechanism to circumvent problems caused by
OOP". I can only assume you haven't read /that/ much into patterns as
inheritance features much less than other techniques, composition for
example.
Post by Nicolas Cannasse
The need for the programmer to constantly reuse these patterns create
the "code bloat" pattern, also sometimes called the "Java disease" :)
It's when your code grows faster in complexity and number of
abstractions than it grows in number of features.
I guess you've had a bad experience then? Part of the trick to using
patterns effectively is also (a) deciding if you need to use a pattern
at all and (b) learning to apply patterns to particular "problems" in
your software (rather than blindly building your software around patterns).
Post by Nicolas Cannasse
I guess that a better programming language should embed the most often
used patterns so they become a lot more natural to use (for instance you
will not have to learn them).
Maybe in some respects, but patterns aren't meant to be concrete
implementations. That's kinda the whole point. Obviously a
language/platform can provide support for certain patterns (for example,
providing support for the commonly used Observer/Observable pattern) -
but it would be wrong for a language to assume responsibility of the
implementation of patterns at large.
Post by Nicolas Cannasse
However I still think that OO design patterns are useful since they can
bring some common vocabulary and methology where before everybody was
using its own way of encoding objects relationships.
Yes, this is indeed another reason patterns are useful. My business
partners are not developers; one is a designer and one is a
part-developer-mostly-designer - but we can (and do) talk using a common
vocabulary. Because we have also adapted the use of CRC cards
(http://c2.com/cgi/wiki?CrcCard) into our development process, we can
also identify patterns whilst our cards are laid out on the floor,
before we even start cutting code.
Horses for courses.
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
The Irrelevant Elephant
2005-11-10 19:18:48 UTC
Permalink
Post by Austin Haas
I think that all Nicolasse was saying is that in other languages, such
as Ocaml and Lisp, "Design Patterns" is not an especially relevant book.
I understand that. However that wasn't what my comments were directed
at. He also said "This is mainly due to the fact that OO creates its
own set of problems that are only partly answered by using Design
Patterns." - which is beyond stating that patterns aren't generally
applicable to functional languages. My point was that patterns are not
there to "patch up" OOP designs as Nicolas implied.

Also, as far as I'm aware there aren't too many folks here using
languages such as Ocaml and Lisp anyway, and given that everyone agrees
design patterns aren't especially relevant to languages such as Ocaml
and Lisp - and therefore that the "Design Patterns" book is also by
definition not relevant to languages such as Ocaml and Lisp is .. why
are we even having this discussion?

2 + 2 = 5 ?
Cortlandt Winters
2005-11-10 20:50:42 UTC
Permalink
Hi IE,

I think you missunderstood Nicolas's tone as bitter or beligerent. I'd say
the tone was more a spritely "poking a dog with a stick" or a jester's
humor. Personally I thought the comments were hilarious, but I can see how
they could easily be missread. If you have a mental map of a rigorously
patterned application next to one done in a language where the patterns are
ingrained in the language, his statements become quite funny. I believe the
real intent is to make fun of how verbose Java (and As2) are.

Here's an example (though not perfect). The iterator pattern, taken from the
book, fills a dozen pages of description, half a dozen classes, each with 30
lines of code just to create the structure. Why? To iterate over two menus
with a different underlying item types. In ML there is a function called Map
that is built in to do this for you. You don't need to create half a dozen
files for your interfaces, subtypes and instances, it's built into the style
and structure of the language so that it's just not that verbose or complex.
The same thing is going on, but in one language it's handled transparently
and in the other you implement it with a verbose syntax and a pattern. Over
and over you see this with Java and Java type patterns and in the end it
becomes kind of funny, but only to those who have seen the comparable
programs in different languages.

Anyway I didn't respond to be mr lecture bot. In fact I'd only be sure the
analogy was correct if I were to write the code to show it, which I haven't
done.

Which is why I was thinking that, rather than have individual groups in
individual cities (in which case I would end up as a group of 1 again) It
might be a decent exercise for the community as a whole to populate the
osflash wiki with a section that implements the head start example programs
in As1, As2, As3, Flexible, Lzx and an email list to discuss them (and how
they relate to ARP would be nice as well). I think we'd all learn a bit
about the various languages and how they could be both improved and used.

So would folk be interested in an Osflash Head Start study group?(And would
it be ok legaly to re-implement the example programs in the various
languages?)

It is a good book and I think a meaty enough topic to deserve a list of it's
own. Of course it would really be about all patterns, but I think the Head
Start book is a good starting point, because it really is not as booring as
most pattern books.
Nicolas Cannasse
2005-11-11 00:22:40 UTC
Permalink
Post by Cortlandt Winters
Hi IE,
I think you missunderstood Nicolas's tone as bitter or beligerent. I'd
say the tone was more a spritely "poking a dog with a stick" or a
jester's humor. Personally I thought the comments were hilarious, but I
can see how they could easily be missread. If you have a mental map of a
rigorously patterned application next to one done in a language where
the patterns are ingrained in the language, his statements become quite
funny. I believe the real intent is to make fun of how verbose Java (and
As2) are.
Thanks Cortlandt I can feel I'm being understood :)

I don't think either that OO systems are bad languages, every language
needs some tradeoff : that can be performances and more lowlevel control
against safety (like C).

IMHO a bad language is one that have something users complain about but
that can't be justified by saying "but this bring that to you, and it's
nice".

Nicolas
The Irrelevant Elephant
2005-11-11 00:30:53 UTC
Permalink
Post by Cortlandt Winters
I think you missunderstood Nicolas's tone as bitter or beligerent. I'd
say the tone was more a spritely "poking a dog with a stick" or a
jester's humor. Personally I thought the comments were hilarious, but I
can see how they could easily be missread. If you have a mental map of a
rigorously patterned application next to one done in a language where
the patterns are ingrained in the language, his statements become quite
funny. I believe the real intent is to make fun of how verbose Java (and
As2) are.
Sorry, I think perhaps I forget how little this text based medium gives
away. Nicolas poked the dog with a stick, and I intentionally assumed
the role of the dog and took a bit - nothing more than facetious humour,
really ;-)

I hope nothing I said came across too aggressive - I'm a pacifist,
honest :-)
Post by Cortlandt Winters
Here's an example (though not perfect). The iterator pattern, taken from
the book, fills a dozen pages of description, half a dozen classes, each
with 30 lines of code just to create the structure. Why? To iterate over
two menus with a different underlying item types. In ML there is a
function called Map that is built in to do this for you. You don't need
to create half a dozen files for your interfaces, subtypes and
instances, it's built into the style and structure of the language so
that it's just not that verbose or complex. The same thing is going on,
but in one language it's handled transparently and in the other you
implement it with a verbose syntax and a pattern. Over and over you see
this with Java and Java type patterns and in the end it becomes kind of
funny, but only to those who have seen the comparable programs in
different languages.
At the same time, consider that the book is presenting an example
implementation of the pattern - and not suggesting that every menu you
ever build should use the Iterator pattern. I don't believe for a
second that you aren't aware that there are other ways to build a menu
in an OOP language :)

- IE
Cortlandt Winters
2005-11-11 01:06:21 UTC
Permalink
Post by The Irrelevant Elephant
I hope nothing I said came across too aggressive - I'm a pacifist,
honest :-)
Not at all, just trying to help with interpreting what was intended.

At the same time, consider that the book is presenting an example
Post by The Irrelevant Elephant
implementation of the pattern - and not suggesting that every menu you
ever build should use the Iterator pattern. I don't believe for a
second that you aren't aware that there are other ways to build a menu
in an OOP language :)
Agreed, and I really would love to create an osflash pattern study group
that specifically takes that book and implements the examples in various
languages. Given they are not realworld examples, but the easiest way to
really compare, contrast and learn about languages and best practices is
with implemented examples compared side to side and I sense that as the
flash player really makes good it's claim as a platform in the coming years,
there will be a lot of folk that would appreciate ways to compare the
various language options that are developing and since as2 is the common
language of flash and since it is so close to java I think that books a good
starting point. It's pretty much all relevant, irrelevant! :D
The Irrelevant Elephant
2005-11-11 01:13:29 UTC
Permalink
Post by Cortlandt Winters
Agreed, and I really would love to create an osflash pattern study group
that specifically takes that book and implements the examples in various
languages. Given they are not realworld examples, but the easiest way to
really compare, contrast and learn about languages and best practices is
with implemented examples compared side to side and I sense that as the
flash player really makes good it's claim as a platform in the coming
years, there will be a lot of folk that would appreciate ways to compare
the various language options that are developing and since as2 is the
common language of flash and since it is so close to java I think that
books a good starting point. It's pretty much all relevant, irrelevant! :D
LOL ;-)

Yes, real world examples would be nice - one of the reasons I picked up
on this book in particular is that although there are specific code
examples, the book is written in such a way that it is the patterns
themselves that get absorbed by the reader - rather than the specific
implementations.

Anyway, if I have time in the future to discuss all this stuff as a
group I'd love to; but I can't see it happening for me in the near
future - I've pretty much dropped all my personal projects as my
business is starting to pick up, and my free time has become more of a
quest for personal development :-)
David Holroyd
2005-11-11 16:45:45 UTC
Permalink
Post by Cortlandt Winters
Here's an example (though not perfect). The iterator pattern, taken from the
book, fills a dozen pages of description, half a dozen classes, each with 30
lines of code just to create the structure. Why? To iterate over two menus
with a different underlying item types. In ML there is a function called Map
that is built in to do this for you. You don't need to create half a dozen
files for your interfaces, subtypes and instances, it's built into the style
and structure of the language so that it's just not that verbose or complex.
The same thing is going on, but in one language it's handled transparently
and in the other you implement it with a verbose syntax and a pattern. Over
and over you see this with Java and Java type patterns and in the end it
becomes kind of funny, but only to those who have seen the comparable
programs in different languages.
You are possibly being a little unfair in comparing external iterators
with internal iterators; each has strengths and weaknesses.

That Java has traditionally lacked a succinct standard for expressing
internal iterators is obviously silly though.


dave
--
http://david.holroyd.me.uk/
Jim Tann
2005-11-10 10:28:28 UTC
Permalink
Anyone around the Brighton UK Area that would like to have a chat about
such things? Maybe stretch as far as London for a bigger group. I would
really like to get to talk to some like minded flash programmers.



Jim



________________________________

From: osflash-bounces-***@public.gmane.org [mailto:osflash-bounces-***@public.gmane.org]
On Behalf Of Luke Bayes
Sent: 09 November 2005 20:48
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books



Hey Don,

Thanks for forwarding that link!

I just wanted to add to that - if a person is serious about learning
design patterns, it *really* helps to get around a small group of other
folks and discuss each pattern in detail - especially in how it relates
to ActionScript development. Ali Mills and I worked with a group of Bay
Area developers over the past year and went through the Gang of Four
book twice. I thought that I had a pretty good comprehension before the
study group, but as it turned out - I was wrong! Even after reviewing
each pattern every week, we realized that it would be valuable to do
them all again.

Joshua Kerievsky (The author of Refactoring to Patterns) has a really
great site devoted to helping people organize just such a meeting:

http://www.industriallogic.com/papers/learning.html

I can't wait until more flash developers get into Patterns, Test-Driven
Development and agile processes!

BTW - Don't forget to check out the newly-released AsUnit XUL UI and
AsUnit 3.0 for ActionScript 3!


Thanks,


Luke Bayes
www.asunit.org
Richard Willis
2005-11-10 10:45:12 UTC
Permalink
hey jim.

that's my city and line of work too - as you can tell, i'm on this
mailing list. drop me a mail maybe.

anyone else brighton uk based?

there's aral of course..... ;)

anyone else?

r.
Post by Jim Tann
Anyone around the Brighton UK Area that would like to have a chat
about such things? Maybe stretch as far as London for a bigger group.
I would really like to get to talk to some like minded flash programmers.
Jim
Johan Lopes
2005-11-10 12:21:29 UTC
Permalink
I'm not in Brighton, but in London - and would be interested in a such
discussion group too.

Maybe this is something we could take advantage of the fact that we
have a big Flash community here in London UK thanks to Aral and the
gang.

Aral, what do you think about setting up something like this through
the London MMUG?

Cheers,

Johan
Post by Richard Willis
hey jim.
that's my city and line of work too - as you can tell, i'm on this
mailing list. drop me a mail maybe.
anyone else brighton uk based?
there's aral of course..... ;)
anyone else?
r.
Post by Jim Tann
Anyone around the Brighton UK Area that would like to have a chat
about such things? Maybe stretch as far as London for a bigger group.
I would really like to get to talk to some like minded flash programmers.
Jim
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Keith Salisbury
2005-11-10 19:32:26 UTC
Permalink
Hey Johan,
I'm in london too and would definitely been keen on a group session on
patterns, extreme programming, and test driven development in
actionscript. I know a couple of others who'd probably be interested
too.
keith
Post by Johan Lopes
I'm not in Brighton, but in London - and would be interested in a such
discussion group too.
Maybe this is something we could take advantage of the fact that we
have a big Flash community here in London UK thanks to Aral and the
gang.
Aral, what do you think about setting up something like this through
the London MMUG?
Cheers,
Johan
Post by Richard Willis
hey jim.
that's my city and line of work too - as you can tell, i'm on this
mailing list. drop me a mail maybe.
anyone else brighton uk based?
there's aral of course..... ;)
anyone else?
r.
Post by Jim Tann
Anyone around the Brighton UK Area that would like to have a chat
about such things? Maybe stretch as far as London for a bigger group.
I would really like to get to talk to some like minded flash programmers.
Jim
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
--
keithsalisbury-***@public.gmane.org
Richard Leggett
2005-11-10 19:34:20 UTC
Permalink
I'd be interested too, some point after Spark? I'm sure we can drag a couple
of others from the MMUG.

-----Original Message-----
From: osflash-bounces-***@public.gmane.org [mailto:osflash-bounces-***@public.gmane.org] On
Behalf Of Keith Salisbury
Sent: 10 November 2005 19:32
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books

Hey Johan,
I'm in london too and would definitely been keen on a group session on
patterns, extreme programming, and test driven development in actionscript.
I know a couple of others who'd probably be interested too.
keith
Johan Lopes
2005-11-10 21:29:04 UTC
Permalink
Let's arrange something after Spark then.

Anyone else up for it?

I've posted a request on
http://www.londonmmug.org/forumdisplay.php?f=2 to see if more people
would be interested.

Johan
Post by Richard Leggett
I'd be interested too, some point after Spark? I'm sure we can drag a couple
of others from the MMUG.
-----Original Message-----
Behalf Of Keith Salisbury
Sent: 10 November 2005 19:32
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books
Hey Johan,
I'm in london too and would definitely been keen on a group session on
patterns, extreme programming, and test driven development in actionscript.
I know a couple of others who'd probably be interested too.
keith
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Jim Tann
2005-11-11 10:19:27 UTC
Permalink
What is the MMUG? I have heard it mentioned a couple of times now. If
this happens in London I will definitely be along and have 2 friends
that would be interested.

-----Original Message-----
From: osflash-bounces-***@public.gmane.org [mailto:osflash-bounces-***@public.gmane.org]
On Behalf Of Richard Leggett
Sent: 10 November 2005 19:34
To: 'Open Source Flash Mailing List'
Subject: Re: [osflash] Share the knowledge: Books

I'd be interested too, some point after Spark? I'm sure we can drag a
couple
of others from the MMUG.

-----Original Message-----
From: osflash-bounces-***@public.gmane.org [mailto:osflash-bounces-***@public.gmane.org]
On
Behalf Of Keith Salisbury
Sent: 10 November 2005 19:32
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books

Hey Johan,
I'm in london too and would definitely been keen on a group session on
patterns, extreme programming, and test driven development in
actionscript.
I know a couple of others who'd probably be interested too.
keith
Johan Lopes
2005-11-11 10:43:13 UTC
Permalink
Hi Jim,

The MMUG (Macromedia User Group), [http://www.londonmmug.org] is the
official community for all things Flash here in the UK, spearheaded by
Aral Balkan (http://www.flashant.org) and friends.

If you're going to attend Spark in Amsterdam, we could all meet up
there for a drink and put a face to a name and do some networking :).
Otherwise I think we meet every last Thursday of the month??? in
Islington, London.

Cheers,

Johan
Post by Jim Tann
What is the MMUG? I have heard it mentioned a couple of times now. If
this happens in London I will definitely be along and have 2 friends
that would be interested.
-----Original Message-----
On Behalf Of Richard Leggett
Sent: 10 November 2005 19:34
To: 'Open Source Flash Mailing List'
Subject: Re: [osflash] Share the knowledge: Books
I'd be interested too, some point after Spark? I'm sure we can drag a
couple
of others from the MMUG.
-----Original Message-----
On
Behalf Of Keith Salisbury
Sent: 10 November 2005 19:32
To: Open Source Flash Mailing List
Subject: Re: [osflash] Share the knowledge: Books
Hey Johan,
I'm in london too and would definitely been keen on a group session on
patterns, extreme programming, and test driven development in
actionscript.
I know a couple of others who'd probably be interested too.
keith
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
_______________________________________________
osflash mailing list
http://osflash.org/mailman/listinfo/osflash_osflash.org
Continue reading on narkive:
Loading...