Kevin Lancaster
MyBroadband Editor
- Joined
- Apr 4, 2014
- Messages
- 13,564
- Reaction score
- 136
What's the best way to learn how to code to become a developer?
Create a project and try to build it adding features along the way. That is what I did. Worked out pretty nice. Weekend developer and all.
Start from the bottom and learn how computers run the code that you give them.
1) Learn how binary numbers work as well as some Boolean algebra.
2) Learn how to perform basic arithmetic with logic gates.
3) Learn how memory and clocks work.
4) Learn how finite state machines work.
5) Learn how to make a Turing machine from a state machine
6) Learn how to make a basic computer with registers that can follow a set of numerical commands.
7) Write a few basic programs that use the computer that you have designed.
Once you have done this, all other part of programming things like structures,objects and algorithms have an actual place in the body of knowledge instead of being arbitrary things that a hypothetical computer simply does.
I suppose the question was what is the "best" way to learn, so fair enough.
But, for the best way to actually having learnt something practical I'd say start with something pretty abstract like html and css.
Not everyone needs or wants a CS degree and the best way for non-engineers to learn is to get some enthusiasm by seeing your code do something useful on a screen as soon as possible not by learning how to build the computer.
That's a bit like learning to build a car before learning how to drive.
One of the main problems we have is people do not treat programming as the technical skill it actually is. You wouldn't call yourself an electronics designer if all you did was take other people's designs and stitch them together with little knowledge on how they work.
I bet if you deleted stackoverflow, you would find the vast majority of programmers would be clueless.
You picked the perfect example: driving. Would you say the roads are particularly safe? Probably not. Have you considered that might be because people don't understand the functions of their car and the physics behind the way cars move?
How many people would allow their brakes to lock if they actually understood the differences between static friction and dynamic friction?
How many people would drive 2m behind someone at 100km/h if they understood what momentum was?
How many people would drive their cars until they get component failure if they understood what the bearings on their wheels actually do?
You look at the qualifications required to become a pilot. They are required to know how their planes are kept in the sky before they are allowed to fly. This allows them to understand mechanics such as head wind and such. This is why flying is statistically safer than driving, despite being significantly more complex and dangerous.
One of the main problems we have is people do not treat programming as the technical skill it actually is. You wouldn't call yourself an electronics designer if all you did was take other people's designs and stitch them together with little knowledge on how they work.
I bet if you deleted stackoverflow, you would find the vast majority of programmers would be clueless.
The analogy falls apart when it comes to the consequences of an ignorant driver vs. An ignorant coder.
Consequences of ignorant coding can be just as damaging as a bad driver, if not worse because people don't consider the full extent of the damage. Myself for example. I develop software that is used to assist doctors with medical decisions. If I f__k up, people get misdiagnosed and die.
That is before you even get to large software projects going over time and over budget because some idiot decided to write their database access using spagettified nested SQL statements, because the goal is just getting it to work instead of getting it to work properly.
He the bad guy in Harry Potter?Does anybody out there remember Fortran?