skills to Learn Coding [SOLVED]

nsaspook

Joined Aug 27, 2009
16,324
Also, the ability to correct your mistakes and survive to be able to do so. Unlike what our Plant Manager expected there are few programmers who get a complex program 100% correct on first pass. Something our IT manager spent quite some time convincing our Plant Manager was how it really went.
Debugging skills are essential because nothing complex works the first time, or the second time or ...

Oscilloscopes, network analyzers, logic analyzers, target debuggers, etc ...
All of this stuff is not because we like toys. One of the important tricks to learn is how to translate programming abstraction states in to hardware debugging outputs. It's something most pushing pixels programmers never seem to learn sadly.
 
Last edited:

nsaspook

Joined Aug 27, 2009
16,324
It is easy for small projects, but it becomes very difficult for big projects. For example, if matrix keypad and LCD are connected to 16*2 microcontroller then writing program is not so difficult but when USB keypad and monitor are connected to microcontroller and it requires writing program then it is difficult
It will become much easier with practice and knowledge. Your brain will gain the ability to filter unnecessary details in the mental picture automatically if you have the required mental structures already learned.
 

Papabravo

Joined Feb 24, 2006
22,082
It is easy for small projects, but it becomes very difficult for big projects. For example, if matrix keypad and LCD are connected to 16*2 microcontroller then writing program is not so difficult but when USB keypad and monitor are connected to microcontroller and it requires writing program then it is difficult
Nonsese. The strategy is the same in either case.
 

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
Debugging skills are essential because nothing complex works the first time, or the second time or ...

Oscilloscopes, network analyzers, logic analyzers, target debuggers, etc ...
All of these stuff is not because we like toys. One of the important tricks to learn is how to translate programming abstraction states in to hardware debugging outputs. It's something most pushing pixels programmers never seem to learn sadly.
I agree with all above
 

Thread Starter

Pushkar1

Joined Apr 5, 2021
416
Nonsese. The strategy is the same in either case.
If you were asked to design an operating system for Raspberry Pi 3, what would be your strategy

You implement the picture running in your mind on a paper. what will you writer on paper if you can tell a little that would be great
 

Papabravo

Joined Feb 24, 2006
22,082
If you were asked to design an operating system for Raspberry Pi 3, what would be your strategy

You implement the picture running in your mind on a paper. what will you writer on paper if you can tell a little that would be great
In order to write anything I would have to familiarize myself with the RPi 3 hardware. Then I would look for an existing OS framework that could be appropriated. There is just no snese reinventing the wheel. It would also be an improbable project to do from scratch because the Rpi 3 would be obsolete befor the final turn was ready for release. As near as I can tell there is absolutely no future in writng an OS for an existing platform.

The only scenario in which such a project would be viable is one where the was absolutely no OS at all. That was the case in the 1960's, but those days a long gone.
 

nsaspook

Joined Aug 27, 2009
16,324
If you were asked to design an operating system for Raspberry Pi 3, what would be your strategy

You implement the picture running in your mind on a paper. what will you writer on paper if you can tell a little that would be great
I would quit and find a real job. ;)

Kidding aside I would look to see what's been done before starting from scratch.
https://github.com/bztsrc/raspi3-tutorial
 

Delta Prime

Joined Nov 15, 2019
1,311
When you, as a novice programmer, would like to solve some problems by writing a computer program to solve them, you should have a set of steps about how to do it in your mind. Different people may take different steps.Experienced programmers are likely to deliver programs (which are not too big) out of pure intuitions.However, for those with less experience, it does not hurt to follow some steps.
When developing a computer program for some problems.
Problem defining:Make sure you understand the thing you want to solve.You want to make sure that your efforts are spent in solving the real problem.A clever solution for the wrong problem is a waste!
Analysis Determine inputs, outputs, and relevant factors for the defined problem.
DesignDescribe the methods used for solving the defined problem.
Provide a detailed process required to be done in order to go from taking the inputs to producing the outputs.
Implementation: Write the code corresponding to the design.You can always go back to improve earlier steps so that the code can be written in an efficient fashion.
Testing:Test the program whether it delivers the correct results.You may need to prepare some test cases, in which you know the expected outputs for a set of test inputs. If any outputs do not appear as expected, go back to the analysis and design steps.Once you are sure that they are done correctly, the problem is likely to be caused by ‘bugs’ in the code. Never deliver your code without carefully testing it
 
Last edited:
Top