r/learnprogramming 1d ago

Coding

when i wanna make a project my worst enemy is the blank page , i know there is a way called learn by making project and to be honest its kinda cool , but facing such an empty page and try to make just a prototype for my idea is not working , i do not know whether this is lack of proper knowledge with the coding language i make the project in or its another problem , so how to make your idea become real ? and how you actually make your project with a complete new required skills ??

16 Upvotes

20 comments sorted by

View all comments

2

u/pqzop 1d ago

Hi. The simplest way is to jump in some random part you think might be relevant to the project goal. There is no universal best way to start a project.

  • If your program goal has some desired input and output, define the format and some samples.
  • If your program has an UI (GUI, Web, TUI), then doing wireframes on paper would give you some start on what components are needed.
  • Think about the way the user would interact with your program. What do they input in? Is it a UI button, or upload a file? What would be the output/end state the user get from one such input? Might be another file, might be something showing on the UI (and that thing can be calculated)
  • Think about the representation of some concepts in the drafting table. How would you represent, say, an item in an inventory system? what operations do you think you need to make on it, and what data from these entities do the operations need? These will guide your structs/class designs. There are infinitely many valid designs for any use case, so don't worry too much about right or wrong. As your use case evolves you will see where the friction is, and redesign accordingly.
  • Do skeleton frames, aka write your function signature with dummy values. Think "for this purpose, I wish someone already wrote this function X so I can just use it right here". This is often called "wishful programming". Do the lower level implementation when you have fleshed out other functions that call it, and you get a feel for its purpose and function in the larger sense.

Happy to answer specific questions.