This systematic approach correctly treats data as the bedrock of logic, ensuring architectural clarity from the very first line of code. It is a masterclass in reducing complexity by prioritizing structural rigor over haphazard feature implementation.
Deep Dive
Prerequisite Knowledge
- No data available.
Where to go next
- No data available.
Deep Dive
How to BEGIN any programming projectAdded:
How do you begin the programming project?
This is one of the most frequent questions I get from my subscribers.
In today's episode, I'm going to provide the method that I use.
It is applicable for all languages and all kinds of projects, small ones or massively huge.
The advantages are: 1) You always know where to start and you can begin immediately with little to no planning, and 2) Even though you might not know the big picture yet or the upcoming couple of steps, but you will always know the next step and then the next, and the next, and so on.
This way the project will grow organically, step by step, like a tree.
And suddenly it's complete.
You don't really need to think - it basically writes itself.
I call it “Data type-driven design”.
W’sup guys?
Welcome to today's show.
Without further ado, let me describe my method.
Even though it's called data type driven design, it works equally well for languages like JavaScript that does not have explicit data type declarations.
There's still a difference between a Number() or an Array() or a string.
Besides, you can think “Classes” when I say data type because that's what you're going to use in JavaScript.
Okay, so the method contains three distinct steps.
For really big projects, you might iterate through these steps multiple times, like once for each module or something.
But most projects will be written in one go.
Step one: Defining the datatypes.
Start by figuring out how your code is going to store data.
Try creating all data types you can think of and be as expressive as you can.
The goal is being able to describe pretty much the whole program just by reading the data types.
This step goes very fast.
You can begin at once and it helps you to dive right in and jump start your coding project.
Step two: Utility functions.
So the next step has to do with utility functions because when you define data types, you will automatically come to think about different types of small functions that will need to perform some very specific action.
I can give an example.
Let's say you are defining a data type for a bank application, so you define a data type for money.
And let's say you decide to store money not by dollars, but by cents.
So if you have $1.50, you will store 150 inside of an integer.
Then you will need to have some kind of function which will take this data type 150 and divide it up in dollars and cents.
So you can, for instance print it on the screen or whatever.
And you might also need the other way around.
Let's say you get input from the user and he inputs “1.50” and you need to interpret that and store it back into your money data type.
So this is just a small example, but as you create the data types, you will automatically start thinking about these things.
I could need a small function like that, or I could need a small function like that.
And how will these two data types interact?
And so on.
So the next step is basically writing all these utility functions that you have already come to think about and that you comes to think about while creating the other functions.
So this is what you do as the 2nd step.
Number three, write the rest of the program.
So now we have defined all or at least most of the data types and their respective utility functions.
So we have like a lot of dots on the board.
Let's say what we need now are the lines between those dots, which makes a big picture out of this and very isolated islands.
So what you need is just to write the functions that make use of these data types and these utilities.
And this I don't have a lot of advice to give you here because at this stage you will know what to do because you just look at the data types and, okay, I have this account data type, I have this money data type.
How should these two interact?
Well, I'm going to need a function which creates one of these accounts and which inputs all the data.
Maybe some additional utility functions converting between stuff and everything will grow.
Step by step, because you you have already defined the data types and you have some functions.
So all you need to do is take one of these at a time and link them together by writing the rest of the functions.
And that is it.
That's the whole program.
And of course it's going to take a while to go through all of these steps and so on.
But the most interesting thing is the first step, because that makes you jump start into this coding process.
You can always do the first step defining the data types.
No matter what the pro project, no matter how much you have planned.
You can do it and then it just grows from there.
The lights turned up.
I think I'm not going to cut that off, actually.
All right, so that's it.
I really hope you like this episode.
Please like and subscribe.
And thank you for watching.
Thanks for 290.
Related Videos
VALORANT's Latest 'Exclusive' Tier Bundle is Rough...
KangaValorant
17K views•2026-05-28
Flight Attendant Mocks Poor Looking Black Woman — Mid Air Announcement Exposes Her Real Power
SkyboundStories-b4r
184 views•2026-05-28
I FIXED My Friend’s Blown Turbo RX-8… Then Sold It
Cameron-RX8
134 views•2026-05-28
NewsWatch 12 at 5: Top Stories
NewsWatch12
1K views•2026-05-28
Simon Jordan & Danny Murphy deliver PREDICTIONS for Arsenal's Champions League FINAL with PSG
talkSPORTArsenal
6K views•2026-05-28
Botting is OUT OF CONTROL in Classic WoW (Again)...
SolheimGaming
108 views•2026-05-28
The "AI Job Apocalypse" is CANCELLED!
WesRoth
9K views•2026-05-28
STREET FIGHTER 6 - INGRID Story Walkthrough @ 4K 60ᶠᵖˢ ✔
RajmanGamingHD
12K views•2026-05-28











