3 answers
Asked
385 views
What do you do first when creating something new?
Answer only if you have past computer-programming experience or are currently a computer-programmer
Login to comment
3 answers
Updated
Fred’s Answer
The first 10-20 steps when starting something new are always:
Think about it.
Think about it more.
If you think you are done thinking, think again.
Programming is probably 90% thinking, and only 10% typing. If you are learning how to be a programmer, that should probably change to 99% and 1%. The more thought you put in up front, the easier the actual coding is.
Write down your ideas, in English. You need to be able to describe what you are going to do in a way a young child can understand. You should be able to hand them steps they can follow, without asking questions, that covers every scenario. And do all this before writing a single line of code.
Think about it.
Think about it more.
If you think you are done thinking, think again.
Programming is probably 90% thinking, and only 10% typing. If you are learning how to be a programmer, that should probably change to 99% and 1%. The more thought you put in up front, the easier the actual coding is.
Write down your ideas, in English. You need to be able to describe what you are going to do in a way a young child can understand. You should be able to hand them steps they can follow, without asking questions, that covers every scenario. And do all this before writing a single line of code.
Updated
Ramesh’s Answer
a-) Google search to see if something resembling or closely related to the "new thing" exists in open source code. If it does you should consider modifying/extending the pre-existing project in steps c) onward. Whether a closely related software exists or not it is good to start at a).
a) Write down the objectives (The What) - functionality: what should the "new thing" do, type of inputs / user interface, speed, memory, disk requirements (if relevant), target user
b) Create a few test cases : sample inputs with expected outputs
c) Write an outline of the approach (The How)
d) Start implementing the hardest sub-parts and/or the sub-parts you understand least. Test the sub-parts (unit testing)
e) Iterate thru revising a)/b)/c)/d) as needed until done
f) ask a target user(s) to try your "new thing", listen to their comments and go back to a)/b)/... as needed
Each of the "write down" steps can be one pagers/lists etc. but it is useful to write it down.
a) Write down the objectives (The What) - functionality: what should the "new thing" do, type of inputs / user interface, speed, memory, disk requirements (if relevant), target user
b) Create a few test cases : sample inputs with expected outputs
c) Write an outline of the approach (The How)
d) Start implementing the hardest sub-parts and/or the sub-parts you understand least. Test the sub-parts (unit testing)
e) Iterate thru revising a)/b)/c)/d) as needed until done
f) ask a target user(s) to try your "new thing", listen to their comments and go back to a)/b)/... as needed
Each of the "write down" steps can be one pagers/lists etc. but it is useful to write it down.
Updated
Jaime’s Answer
Ask yourself why you are doing it. Is it going to benefit you somehow? Will it benefit someone else? See if someone else has already done it. Can you use someone else's idea to start with and then improve on it?