Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

hardware is still coded with machine/assembly language for efficiency, speed, etc.

Status
Not open for further replies.
You are also comparing industry (work already in process) with new guys getting into programming.

The new guy does what he is told unless he is the only programmer in the shop. Even then the hardware guy may be telling him what to do.

In general many more man hours are spent maintaining code then writing it. In the embedded world this is not quite as true but once a development group starts with a language it is rare for them to change. The will want to leverage their existing work for the next design.

MisterT said:
If microcontrollers didn't have build in hardware peripherals, I would probably program only with ASM.
Back in the Z80 days we did not have built in hardware peripherals. But we did have much the same sort of IC peripheral available. The programming model was much the same as it is today.
 
Last edited:
3vo,

Now there are cases where ASM programmers have written some very nice libs and can crank out code. But their system is unique to them and anyone else having to understand it is at a huge disadvantage.

Shouldn't be. All any programmer needs is the documentation for the subroutine. No need to analyze it. Just use it according to the documentation.

Ts
 
Shouldn't be. All any programmer needs is the documentation for the subroutine. No need to analyze it. Just use it according to the documentation.

Yes.. I can't even re-use my own code if I don't document it well. Good naming of variables and functions helps a bit, but documentation is very important.
 
3vo,



Shouldn't be. All any programmer needs is the documentation for the subroutine. No need to analyze it. Just use it according to the documentation.

Ts

That sounds like C. ;)
 
Bottom line, If you just want to be a coder, and want to be at the mercy of other ppl's programs, not knowing what is really going on with the hardware, then that is the way to go.

If you want to be a real programmer, get into assembly language where you are in total control of your programming and know exactly what the hardware is doing. The precision and control is at your finger tips. You won't be fooling around with someone's syntax.

jlpelect5
 
If you want to be a real programmer, get into assembly language where you are in total control of your programming and know exactly what the hardware is doing. The precision and control is at your finger tips. You won't be fooling around with someone's syntax.

Writing code is not programming. Read a little computer science and you understand what a real programmer does.
 
Documentation is an interesting thing.

We all know we should have it.

But it is the first thing to suffer when schedules are tight.

Try explaining to your boss that you missed the deadline because you wanted more time to document the code. Or try to get a few weeks or a month to go back and document a project after it is finished.

Now there are cases where ASM programmers have written some very nice libs and can crank out code. But their system is unique to them and anyone else having to understand it is at a huge disadvantage.
Shouldn't be. All any programmer needs is the documentation for the subroutine. No need to analyze it. Just use it according to the documentation.
All you need is the documentation and you can build a space shuttle. It is easier to step into a HLL project.
 
If you want to be a real programmer, get into assembly language where you are in total control of your programming and know exactly what the hardware is doing. The precision and control is at your finger tips. You won't be fooling around with someone's syntax.

jlpelect5

http://lib.ru/ANEKDOTY/quiche.txt :rolleyes:
 
3vo,

But it is the first thing to suffer when schedules are tight. Try explaining to your boss that you missed the deadline because you wanted more time to document the code. Or try to get a few weeks or a month to go back and document a project after it is finished.

If the documentation is done while the code is being written, then you don't have that problem. Otherwise management is pushing you to do a haphazard job.

All you need is the documentation and you can build a space shuttle.

Nope, the later also needs hardware fabrication skills and special machine equipment. By the way, NASA has had some tight schedules. Do you think they don't have blueprints of all the vehicles they sent into orbit?

Ratch
 
I have already stated my stance – development time is far more important to me, hence I use C. I use assembly for optimisation where needed, and nowhere else.

The only time I would ever consider using assembly would be for a cheap toy or gadget that sells millions, this is the type of place where using the cheapest micro could save you lots of money and you have no real concerns of how quickly you get to market.

For hobby work I would recommend people start with the best micro-controller they can get their hands on (in terms of CPU speed, peripherals and memory, and a floating point unit if possible) and write in C. You will have far more time to spend on higher level algorithm development rather than worrying about how it’s done. Most people want results with their embedded system, and for that I would recommend C.

I have seen people scared away from micro’s at electronics clubs in the past thanks to the compulsory resident assembly stalwart. If someone has a good experience in hobby project (which is far more likely in C), and wishes to learn how a micro-controller (and hence computer) works, they will but I would rather not force people in at the deep end.

At the end of the day for hobby projects, who cares what you use as long as you get the result you wanted, and saving a pound on a one off project for a cheaper micro is not going to be a concern for any sane person.

Oh and if someone says they can develop quicker in assembly rather than C, they are lying. Further to this sloppy assembly can be MUCH slower than optimised C.
 
If you want to be a real programmer, get into assembly language where you are in total control of your programming and know exactly what the hardware is doing. The precision and control is at your finger tips. You won't be fooling around with someone's syntax.

jlpelect5

Apart from the peripherals we do not care what the hardware is doing. So long as everything gets done on time and in the right order we do not care!
 
Apart from the peripherals we do not care what the hardware is doing. So long as everything gets done on time and in the right order we do not care!

Totally agree !
 
3vo,

If the documentation is done while the code is being written, then you don't have that problem. Otherwise management is pushing you to do a haphazard job.
Management is always pushing schedules, and as belts tighten they will push even harder. It takes more time to code and document in ASM. It makes the schedule tighter.
Nope, the later also needs hardware fabrication skills and special machine equipment. By the way, NASA has had some tight schedules. Do you think they don't have blueprints of all the vehicles they sent into orbit?

Ratch

FWIW Blueprints are documentation. My point is that that the documentation only goes so far. If you take a project team and replace enough members there is a very good chance that it will be easier for them to start from scratch rather then continue with the existing code base.
 
3vo,

FWIW Blueprints are documentation.

Certainly. My point is that no matter how hard the deadline was, NASA never discarded making blueprints (documentation).

Ratch
 
Last edited:
RichThe Dude, your statement as follows,

I have already stated my stance – development time is far more important to me, hence I use C. I use assembly for optimisation where needed, and nowhere else.

If your programming in C is so great why do you have to waste time optimizing your program with assembly programming when you should have done it right in the first place?

Basically what you are telling us is that without assembly programming you would be lost, development time would skyrocket.

jlpelect5
 
Hello 3v0,

HLL was an idea for the industry to get "coders" to produce programs at a 9 to 5 job, sort of speak.
This was back in the days where microprocessors were the dominate hardware.
Technology has changed so much now with built in features of the microcontroller that it is bringing back assembly language especially with robotics of which we are just seeing the tip of the iceburg.
The prescion and the control of the hardware is far more important now then it has ever been.

jlpelect5
 
Status
Not open for further replies.

New Articles From Microcontroller Tips

Back
Top