Re: [BangPypers] designing programs
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
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
[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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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