Re: [BangPypers] designing programs

2010-07-01 Thread srid
On Fri, Jun 25, 2010 at 2:53 AM, Kenneth Gonsalves law...@au-kbc.org wrote:
 anyway I suddenly remembered back in 1980s I had a pen and notebook and used
 to write large amounts of pseudocode in it - I remember spending a week in a
 farm with no electricity and writing enormous amounts of code. So I have
 bought a nice notebook and a gel pen. I am too lazy to sharpen a pencil and
 also sharpeners are not allowed in hand baggage on planes. So I am good to go.

Great - pen  paper is what I use as well. No practical technology
that I know of can be as free flowing as pen  paper.

It is very flexible; I can draw flow charts, tables, crude class
diagrams ... and however else I want to model the information that I
need to think over.

For UI design, Blasmiq is pretty good even for us programmers.

-srid
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-07-01 Thread Baiju M
CRC Cards might be useful:

http://en.wikipedia.org/wiki/Class-responsibility-collaboration_card

Regards,
Baiju M
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-28 Thread Jeffrey Jose
[OFFTOPIC]

%s/corporate/enterprise/g

FTFY.

/jeff

On Sun, Jun 27, 2010 at 10:56 AM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 On Saturday 26 June 2010 21:02:52 shameek ghosh wrote:
  Well...Although I have not done this much,  but I believe a modelling
 tool
  like UML helps when you show your design to somebody else and secondly
   there might be cases where UML like modelling tools may also be
 converted
   to some specific code.
 

 great for corporate java guys - write 1000 lines of UML, which generates
 5000
 lines of XML which generates 5 lines of java code which generates
 100,000
 lines of error messages - and charge $1 per line - and go laughing all the
 way
 to the bank.

 s/corporate/enterprise?
 --
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers

___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread Dark Seid
Well, I vote for pencil :). That said, I start with a pencil and paper (or
whiteboard) to help me understand things at a high level and then move to
writing specs. My primary design tool for detail design is a TDD framework.

Best,
Sidu.
http://blog.sidu.in
http://c42.in

On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
  I am allergic to any design tool more complex than pen  paper
 

 well, we seemed have almost reached a consensus - now all we need to decide
 is
 the pros and cons of pen versus pencil.
 --
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers

___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread shameek ghosh
Well...Although I have not done this much,  but I believe a modelling tool
like UML helps when you show your design to somebody else and secondly there
might be cases where UML like modelling tools may also be converted to some
specific code.

I do beleive the second point is an important reason why domain specific
modelling tools are very important that can generate platform specific
code.Something like UML to C++ might be available.I am not certain though.

On Sat, Jun 26, 2010 at 2:49 PM, Dark Seid lorddae...@gmail.com wrote:

 Well, I vote for pencil :). That said, I start with a pencil and paper (or
 whiteboard) to help me understand things at a high level and then move to
 writing specs. My primary design tool for detail design is a TDD framework.

 Best,
 Sidu.
 http://blog.sidu.in
 http://c42.in

 On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.org
 wrote:

  On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
   I am allergic to any design tool more complex than pen  paper
  
 
  well, we seemed have almost reached a consensus - now all we need to
 decide
  is
  the pros and cons of pen versus pencil.
  --
  Regards
  Kenneth Gonsalves
  Senior Associate
  NRC-FOSS at AU-KBC
  ___
  BangPypers mailing list
  BangPypers@python.org
  http://mail.python.org/mailman/listinfo/bangpypers
 
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
A mind stretched to a new idea, never goes back to its original dimensions
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread Noufal Ibrahim
On Sat, Jun 26, 2010 at 9:02 PM, shameek ghosh shamee...@gmail.com wrote:
 Well...Although I have not done this much,  but I believe a modelling tool
 like UML helps when you show your design to somebody else and secondly there
 might be cases where UML like modelling tools may also be converted to some
 specific code.

I generally tend to distrust code that is 'generated' unless it's for
a very clear, simple, and well defined task (like a state machine,
parser or GUI front end).

Using UML as a standard way of conveying your designs sounds
sensible although I feel that it's more restrictive than pen and
paper.

 I do believe the second point is an important reason why domain specific
 modelling tools are very important that can generate platform specific
 code.Something like UML to C++ might be available.I am not certain though.

I worry about maintainability and bitrot in the long run when code is
generated in this fashion.

-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread shameek ghosh
 I do believe the second point is an important reason why domain specific
 modelling tools are very important that can generate platform specific
 code.Something like UML to C++ might be available.I am not certain though.

I worry about maintainability and bitrot in the long run when code is
generated in this fashion.

That's interesting.Never really thought about it.But could you elaborate.
I agree though that generated code is not dependable but whether it is
maintainable, is open to debate.


On Sat, Jun 26, 2010 at 9:10 PM, Noufal Ibrahim nou...@gmail.com awrote:

 On Sat, Jun 26, 2010 at 9:02 PM, shameek ghosh shamee...@gmail.com
 wrote:
  Well...Although I have not done this much,  but I believe a modelling
 tool
  like UML helps when you show your design to somebody else and secondly
 there
  might be cases where UML like modelling tools may also be converted to
 some
  specific code.

 I generally tend to distrust code that is 'generated' unless it's for
 a very clear, simple, and well defined task (like a state machine,
 parser or GUI front end).

 Using UML as a standard way of conveying your designs sounds
 sensible although I feel that it's more restrictive than pen and
 paper.

  I do believe the second point is an important reason why domain specific
  modelling tools are very important that can generate platform specific
  code.Something like UML to C++ might be available.I am not certain
 though.

 I worry about maintainability and bitrot in the long run when code is
 generated in this fashion.

 --
 ~noufal
 http://nibrahim.net.in
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
A mind stretched to a new idea, never goes back to its original dimensions
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread Noufal Ibrahim
On Sun, Jun 27, 2010 at 12:13 AM, shameek ghosh shamee...@gmail.com wrote:
 I do believe the second point is an important reason why domain specific
 modelling tools are very important that can generate platform specific
 code.Something like UML to C++ might be available.I am not certain though.

 I worry about maintainability and bitrot in the long run when code is
 generated in this fashion.

 That's interesting.Never really thought about it.But could you elaborate.
 I agree though that generated code is not dependable but whether it is
 maintainable, is open to debate.

I think it is dependable. I trust parser code generated by yacc a
*lot* more than I trust parser code that I write from scratch. If the
nature of the program is repeatable and mostly grunt, I'd love for it
to be generated from a spec. rather than written by hand.

Maintainability depends on how it's generated really. I don't know how
the UML-C++ converter would work but if after that happens, I have to
maintain and build on the C++ rather than the original source (which
in this case is the UML), I'd have trouble. I think it's cumbersome to
maintain code generated by a program.


-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-26 Thread Kenneth Gonsalves
On Saturday 26 June 2010 21:02:52 shameek ghosh wrote:
 Well...Although I have not done this much,  but I believe a modelling tool
 like UML helps when you show your design to somebody else and secondly
  there might be cases where UML like modelling tools may also be converted
  to some specific code.
 

great for corporate java guys - write 1000 lines of UML, which generates 5000 
lines of XML which generates 5 lines of java code which generates 100,000 
lines of error messages - and charge $1 per line - and go laughing all the way 
to the bank.

s/corporate/enterprise?
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Anand Balachandran Pillai
On Fri, Jun 25, 2010 at 8:22 AM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 hi,

 what tools do people use when designing software? I tried dia once or twice
 but found it rather cumbersome


 For me it is almost always a long walk, with just the ideas
 floating inside my head. After the end of it, I will have it
 sorted out mostly.

 Dia/UML ? That is for enterprise or team software. If this is about
 designing your own stuff as a 1 man army, all you need as tools
 is a pencil and paper.




 --
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
--Anand
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread steve

On 06/25/2010 11:04 AM, Kenneth Gonsalves wrote:

On Friday 25 June 2010 10:57:00 Elvis Joel D'Souza wrote:

   program
   has to do something one has to sketch out the data structures and
   functions that are needed to get the thing done with the least possible
   effort.

 I think you are referring to Design Patterns
 Head First Design Patterns can help...
 http://oreilly.com/catalog/9780596007126



I am not referring to Design Patterns - I think flow charting is the word I am
looking for


Like Noufal said, nothing beats pen and paper. What I usually do is:

a. Draw boxes -- Start from the most high-level components that you can identify 
and draw separate boxes for each one. Connect them up with lines to describe 
relationships. Then start with each individual box on a new piece of paper and 
break it down the same way.


b. Sometimes it helps to draw a mind map[1]. There are of course mind mapping 
software too. Google for those.


c. Once i reach a point where drawing boxes and maps doesn't make things any 
clearer and the only thing that will clarify it further is code, I make a 
skeletal file+class+methods -- if possible, I also write test cases (with the 
skeletal classes/functions returning dummy data so that tests pass).


d. I start coding :).

The problem with trying to create a complete and authoritative design using 
formal tools is, the design just gets obsolete almost as soon as you start 
coding, since updating the design to reflect changes introduced by reality (as 
opposed to abstract ideas, which is what one works with during design) is 
painful, nobody does it (at least not by the end when the product is almost ready).


Here is something I'll always remember because it changed my thoughts on the 
matter of design completely:

 http://www.developerdotstar.com/mag/articles/reeves_design_main.html

hth,
cheers,
- steve

[1] http://en.wikipedia.org/wiki/Mind_map
--
random spiel: http://lonetwin.net/
what i'm stumbling into: http://lonetwin.stumbleupon.com/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Noufal Ibrahim
On Fri, Jun 25, 2010 at 11:34 AM, Anand Balachandran Pillai
abpil...@gmail.com wrote:
 On Fri, Jun 25, 2010 at 8:22 AM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 hi,

 what tools do people use when designing software? I tried dia once or twice
 but found it rather cumbersome


  For me it is almost always a long walk, with just the ideas
  floating inside my head. After the end of it, I will have it
  sorted out mostly.

  Dia/UML ? That is for enterprise or team software. If this is about
  designing your own stuff as a 1 man army, all you need as tools
  is a pencil and paper.

UML definitely sounds too enterprisey.

I'd go low-tech as well but I'd use a pen rather than a pencil. :)



-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Saju Pillai
On Fri, Jun 25, 2010 at 2:23 PM, Anand Balachandran Pillai 
abpil...@gmail.com wrote:

 On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.org
 wrote:

  On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
   I am allergic to any design tool more complex than pen  paper
  
 
  well, we seemed have almost reached a consensus - now all we need to
 decide
  is
  the pros and cons of pen versus pencil.
 

  I support pencil because,

  1. It can be sharpened


The sharpened pencil lead is more dangerous than the smaller rounded
ballpoint tip.


  2. It doesn't cause those splotches in your hand and dress like a pen


Sharpeners leave behind large amounts of thin fine wood shavings.

 3. There is only one colour to choose - so no confusion between blue
  and black etc.


Clearly you haven't drawn Yogi bear cartoons using color pencils


  4. It is the simplest contraption in the world which consists of just
two parts and no moving ones.


Cannot be used without a complex and potentially dangerous sharpener


  5. It has space-age glamour since the Russian cosmonauts used it
  to write during their space flights.


The tips can break in 0-g and get into sensitive equipment -- heard this
excellent explanation in the 3-Idiots movie.

-srp






  --
  Regards
  Kenneth Gonsalves
  Senior Associate
  NRC-FOSS at AU-KBC
  ___
  BangPypers mailing list
  BangPypers@python.org
  http://mail.python.org/mailman/listinfo/bangpypers
 



 --
 --Anand
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
Idea Device
Automation Technologies
www.ideadevice.com
+91 9945196516
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Noufal Ibrahim
On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.org wrote:
 On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
 I am allergic to any design tool more complex than pen  paper


 well, we seemed have almost reached a consensus - now all we need to decide is
 the pros and cons of pen versus pencil.

This borders on Emacs vs. vi.

I prefer a nice fountain pen but the reasons are more sentimental
rather than practical so there!


-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Roshan Mathews
n Fri, Jun 25, 2010 at 14:59, Noufal Ibrahim nou...@gmail.com wrote:
 On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.org wrote:
 On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
 I am allergic to any design tool more complex than pen  paper


 well, we seemed have almost reached a consensus - now all we need to decide 
 is
 the pros and cons of pen versus pencil.

 This borders on Emacs vs. vi.

 I prefer a nice fountain pen but the reasons are more sentimental
 rather than practical so there!

So Emacs is a nice fountain pen, and vi is a broken lead getting into
sensitive equipment?

-- 
http://roshan.mathews.in/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Srinivas Reddy Thatiparthy
well, we seemed have almost reached a consensus - now all we need to decide 
is 
the pros and cons of pen versus pencil.

Well Kenneth, that's a personal decision.My best suggestion is ,use whatever 
you are comfortable with. 

rant
  Your goal matters not the means.:)
/rant

Regards,
Srini T.
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Kenneth Gonsalves
On Friday 25 June 2010 14:23:19 Anand Balachandran Pillai wrote:
  well, we seemed have almost reached a consensus - now all we need to
  decide is
  the pros and cons of pen versus pencil.
 
  I support pencil because,
 
  1. It can be sharpened
  2. It doesn't cause those splotches in your hand and dress like a pen
  3. There is only one colour to choose - so no confusion between blue
   and black etc.
  4. It is the simplest contraption in the world which consists of just
 two parts and no moving ones.
  5. It has space-age glamour since the Russian cosmonauts used it
   to write during their space flights.
 

anyway I suddenly remembered back in 1980s I had a pen and notebook and used 
to write large amounts of pseudocode in it - I remember spending a week in a 
farm with no electricity and writing enormous amounts of code. So I have 
bought a nice notebook and a gel pen. I am too lazy to sharpen a pencil and 
also sharpeners are not allowed in hand baggage on planes. So I am good to go.
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Noufal Ibrahim
On Fri, Jun 25, 2010 at 3:23 PM, Kenneth Gonsalves law...@au-kbc.org wrote:
 On Friday 25 June 2010 14:23:19 Anand Balachandran Pillai wrote:
  well, we seemed have almost reached a consensus - now all we need to
  decide is
  the pros and cons of pen versus pencil.

  I support pencil because,

  1. It can be sharpened
  2. It doesn't cause those splotches in your hand and dress like a pen
  3. There is only one colour to choose - so no confusion between blue
   and black etc.
  4. It is the simplest contraption in the world which consists of just
     two parts and no moving ones.
  5. It has space-age glamour since the Russian cosmonauts used it
   to write during their space flights.


 anyway I suddenly remembered back in 1980s I had a pen and notebook and used
 to write large amounts of pseudocode in it - I remember spending a week in a
 farm with no electricity and writing enormous amounts of code. So I have
 bought a nice notebook and a gel pen. I am too lazy to sharpen a pencil and
 also sharpeners are not allowed in hand baggage on planes. So I am good to go.

Mechanical pencil? Point 1 is invalid since it's always sharp. 2 and 3
hold true. 4 is grossly violated. I'll get back to you on 5 after I
contact my Russian comrades.


-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Anand Balachandran Pillai
On Fri, Jun 25, 2010 at 3:02 PM, Roshan Mathews rmath...@gmail.com wrote:

 n Fri, Jun 25, 2010 at 14:59, Noufal Ibrahim nou...@gmail.com wrote:
  On Fri, Jun 25, 2010 at 12:51 PM, Kenneth Gonsalves law...@au-kbc.org
 wrote:
  On Friday 25 June 2010 12:37:25 Saju Pillai wrote:
  I am allergic to any design tool more complex than pen  paper
 
 
  well, we seemed have almost reached a consensus - now all we need to
 decide is
  the pros and cons of pen versus pencil.
 
  This borders on Emacs vs. vi.
 
  I prefer a nice fountain pen but the reasons are more sentimental
  rather than practical so there!
 
 So Emacs is a nice fountain pen, and vi is a broken lead getting into
 sensitive equipment?


 ROTFL on that one :-) !



 --
 http://roshan.mathews.in/
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
--Anand
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread Anand Balachandran Pillai
On Fri, Jun 25, 2010 at 3:23 PM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 On Friday 25 June 2010 14:23:19 Anand Balachandran Pillai wrote:
   well, we seemed have almost reached a consensus - now all we need to
   decide is
   the pros and cons of pen versus pencil.
 
   I support pencil because,
 
   1. It can be sharpened
   2. It doesn't cause those splotches in your hand and dress like a pen
   3. There is only one colour to choose - so no confusion between blue
and black etc.
   4. It is the simplest contraption in the world which consists of just
  two parts and no moving ones.
   5. It has space-age glamour since the Russian cosmonauts used it
to write during their space flights.
 

 anyway I suddenly remembered back in 1980s I had a pen and notebook and
 used
 to write large amounts of pseudocode in it - I remember spending a week in
 a
 farm with no electricity and writing enormous amounts of code. So I have
 bought a nice notebook and a gel pen. I am too lazy to sharpen a pencil and
 also sharpeners are not allowed in hand baggage on planes. So I am good to
 go.


 I sharpen a pencil around 5 times at least a week - for my kid
 in UKG. I guess that makes me attached more to pencils...

 Yeah, sharpeners and pencils are potential terrorist tools in flights.
 I wonder if it is also banned in space flights.

 There are these pen-pencil type contraptions where you push
 many pencil-heads one after another and finally one sticks out
 at the other end. They are pretty cool and no potential threat
 to life from sharpeners. I wonder if they are still sold in stores...

--
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
--Anand
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-25 Thread ThinRhino
On 25 June 2010 18:06, Anand Balachandran Pillai abpil...@gmail.com wrote:


  There are these pen-pencil type contraptions where you push
  many pencil-heads one after another and finally one sticks out
  at the other end. They are pretty cool and no potential threat
  to life from sharpeners. I wonder if they are still sold in stores...


Seen a couple chinese ones here in Pune markets.


-- 
Ships are safe in the harbour
But that is not what ships are built for
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Noufal Ibrahim
Nothing beats a clean white sheet of paper and a nice pen for me. No
enforced structure. No barriers. Once I start, I use org mode to keep
a log/track. I also find that writing documentation before the program
is fully done clears things in my head.

On 6/25/10, Kenneth Gonsalves law...@au-kbc.org wrote:
 hi,

 what tools do people use when designing software? I tried dia once or twice
 but found it rather cumbersome
 --
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers



-- 
~noufal
http://nibrahim.net.in
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Roshan Mathews
On Fri, Jun 25, 2010 at 08:22, Kenneth Gonsalves law...@au-kbc.org wrote:
 what tools do people use when designing software? I tried dia once or twice
 but found it rather cumbersome

UI?  http://www.balsamiq.com/products/mockups is popular.  I prefer
paper/whiteboard.  Nothing beats having a designer do it for you.

--
http://roshan.mathews.in/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Kenneth Gonsalves
On Friday 25 June 2010 08:35:23 Roshan Mathews wrote:
 On Fri, Jun 25, 2010 at 08:22, Kenneth Gonsalves law...@au-kbc.org wrote:
  what tools do people use when designing software? I tried dia once or
  twice but found it rather cumbersome
 
 UI?  http://www.balsamiq.com/products/mockups is popular.  I prefer
 paper/whiteboard.  Nothing beats having a designer do it for you.
 

what do you mean by 'having a designer do it for you'?
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Roshan Mathews
On Fri, Jun 25, 2010 at 09:03, Kenneth Gonsalves law...@au-kbc.org wrote:
 UI?  http://www.balsamiq.com/products/mockups is popular.  I prefer
 paper/whiteboard.  Nothing beats having a designer do it for you.
 what do you mean by 'having a designer do it for you'?

There are people who do UI design.  Pay/hire them ... maybe I should
have started that sentence with a But

-- 
http://roshan.mathews.in/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Kenneth Gonsalves
On Friday 25 June 2010 09:34:42 Roshan Mathews wrote:
 On Fri, Jun 25, 2010 at 09:03, Kenneth Gonsalves law...@au-kbc.org wrote:
  UI?  http://www.balsamiq.com/products/mockups is popular.  I prefer
  paper/whiteboard.  Nothing beats having a designer do it for you.
 
  what do you mean by 'having a designer do it for you'?
 
 There are people who do UI design.  Pay/hire them ... maybe I should
 have started that sentence with a But
 

I am not talking of ui design - I am talking about program design. I do not 
know what the technical word for it is but what I mean is that when a program 
has to do something one has to sketch out the data structures and functions 
that are needed to get the thing done with the least possible effort.
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Elvis Joel D'Souza
On Fri, Jun 25, 2010 at 10:52 AM, Kenneth Gonsalves law...@au-kbc.orgwrote:

 On Friday 25 June 2010 09:34:42 Roshan Mathews wrote:
  On Fri, Jun 25, 2010 at 09:03, Kenneth Gonsalves law...@au-kbc.org
 wrote:
   UI?  http://www.balsamiq.com/products/mockups is popular.  I prefer
   paper/whiteboard.  Nothing beats having a designer do it for you.
  
   what do you mean by 'having a designer do it for you'?
 
  There are people who do UI design.  Pay/hire them ... maybe I should
  have started that sentence with a But
 

 I am not talking of ui design - I am talking about program design. I do not
 know what the technical word for it is but what I mean is that when a
 program
 has to do something one has to sketch out the data structures and functions
 that are needed to get the thing done with the least possible effort.



I think you are referring to Design Patterns
Head First Design Patterns can help...
http://oreilly.com/catalog/9780596007126


 --
 Regards
 Kenneth Gonsalves
 Senior Associate
 NRC-FOSS at AU-KBC
 ___
 BangPypers mailing list
 BangPypers@python.org
 http://mail.python.org/mailman/listinfo/bangpypers




-- 
Elvis Joel D'Souza | m...@elvis.co.in
Mangalore/Bangalore, India
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Senthil Kumaran
On Fri, Jun 25, 2010 at 10:52:47AM +0530, Kenneth Gonsalves wrote:
 I am not talking of ui design - I am talking about program design. I do not 
 know what the technical word for it is but what I mean is that when a program 
 has to do something one has to sketch out the data structures and functions 
 that are needed to get the thing done with the least possible effort.

This is an interesting question. Here are my thoughts on it.

- If you can identify the design pattern that your program might fall
  into, it would be best. Most often by reading and modelling after
  the existing ones or using libraries we tend to use the design
  patterns. So adopting the pattern might be a second or a later step.

- Write the Problem Definition in English/Native language.

- Write the Answer in English/Native language.If the Answer is more
  than one step. Write down in to distinct points. If there are any
  interactions, note it down.

- Give function names for your answers and draw the connection. While
  using python, it is not necessary to settle on the parameters in
  the first shot, you come back to it later.

- Make the first small program which does something and then improve
  it to do something more.

You can do it all in any editor or in piece of paper.

HTH,

-- 
Senthil
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Kenneth Gonsalves
On Friday 25 June 2010 10:57:00 Elvis Joel D'Souza wrote:
  program
  has to do something one has to sketch out the data structures and
  functions that are needed to get the thing done with the least possible
  effort.
 
 I think you are referring to Design Patterns
 Head First Design Patterns can help...
 http://oreilly.com/catalog/9780596007126
 

I am not referring to Design Patterns - I think flow charting is the word I am 
looking for
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Balachandran Sivakumar
Hi,

On Fri, Jun 25, 2010 at 11:04 AM, Kenneth Gonsalves law...@au-kbc.org wrote:



 I am not referring to Design Patterns - I think flow charting is the word I am
 looking for

  You can use UML with its Sequence Diagrams and State machine
diagrams etc. to design/model systems. There are tools like BoUML and
Umrello in GNU/Linux  for that. Thanks


-- 
Thank you
Balachandran Sivakumar

Arise Awake and stop not till the goal is reached.

Mail: benignb...@gmail.com
Blog: http://benignbala.wordpress.com/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Kenneth Gonsalves
On Friday 25 June 2010 11:01:34 Senthil Kumaran wrote:
  I am not talking of ui design - I am talking about program design. I do
  not  know what the technical word for it is but what I mean is that when
  a program has to do something one has to sketch out the data structures
  and functions that are needed to get the thing done with the least
  possible effort.
 
 This is an interesting question. Here are my thoughts on it.
 
 - If you can identify the design pattern that your program might fall
   into, it would be best. Most often by reading and modelling after
   the existing ones or using libraries we tend to use the design
   patterns. So adopting the pattern might be a second or a later step.
 
 - Write the Problem Definition in English/Native language.
 
 - Write the Answer in English/Native language.If the Answer is more
   than one step. Write down in to distinct points. If there are any
   interactions, note it down.
 
 - Give function names for your answers and draw the connection. While
   using python, it is not necessary to settle on the parameters in
   the first shot, you come back to it later.
 
 - Make the first small program which does something and then improve
   it to do something more.
 
 You can do it all in any editor or in piece of paper.
 

I must confess that my workflow at present is like this:

1. take a small piece of the problem
2. think about it - play games, go for walks and do anything to postpone 
starting work on it.
3. write comments on the steps to solve the piece
4. fill in the code and get it to work
5. keep testing it and fixing
6. go to the next piece and repeat the above (and make sure it works with the 
first piece)
7. modify or rewrite the first piece to fit with the second
and so on with small additions as we go on.

for one particular very complicated program, I modelled the whole workflow in 
dia - and found that the code worked perfectly on the first try. But I found 
dia a bit cumbersome, so I am looking for an alternative. I tried freemind, 
but that is good for talks, articles etc, does not really fit for programming.
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Kenneth Gonsalves
On Friday 25 June 2010 11:09:01 Balachandran Sivakumar wrote:
  I am not referring to Design Patterns - I think flow charting is the word
  I am looking for
 
   You can use UML with its Sequence Diagrams and State machine
 diagrams etc. to design/model systems. There are tools like BoUML and
 Umrello in GNU/Linux  for that. Thanks
 

ouch - I do not have time or the energy to learn a new language
-- 
Regards
Kenneth Gonsalves
Senior Associate
NRC-FOSS at AU-KBC
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread ThinRhino
On 25 June 2010 10:52, Kenneth Gonsalves law...@au-kbc.org wrote:


 I am not talking of ui design - I am talking about program design. I do not
 know what the technical word for it is but what I mean is that when a
 program
 has to do something one has to sketch out the data structures and functions
 that are needed to get the thing done with the least possible effort.


UML is wht I guess u r looking out for.



-- 
Ships are safe in the harbour
But that is not what ships are built for
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers


Re: [BangPypers] designing programs

2010-06-24 Thread Roshan Mathews
On Fri, Jun 25, 2010 at 11:17, Kenneth Gonsalves law...@au-kbc.org wrote:
 for one particular very complicated program, I modelled the whole workflow in
 dia - and found that the code worked perfectly on the first try. But I found
 dia a bit cumbersome, so I am looking for an alternative. I tried freemind,
 but that is good for talks, articles etc, does not really fit for programming.

Can you show what that (the dia workflow design) looked like?  I just
go with plain text brain dumps ... so I guess a mind-mapping tool
might be the equivalent thing if you're a visual person.  Why do you
feel freemind isn't a good fit for this purpose?

-- 
http://roshan.mathews.in/
___
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers