Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: Best language for learning AVRs (was forth)

2006-02-09 by scmikes03

I think that the best language to use depends on how you think.



Assembly, C, basic - similar thought patterns, if you like your
language to provide some syntactic sugar, C is probably you choice. 
If you wany evern more sugar and hand holding at the software level,
go with basic.

C++ - If you want to model your system as objects, but still dive into
bits when you need to, this seems to be the way to go.


forth - if you want to create a domain language that you build up by
adding "words" to your language, forth may be the way for you to go

The language of choice depends on the best way to think to
successfully think about a project.

If you want to exand the way you think, learn a language from each of
the major design Paradigms.  If you learn assembly, C and basic, you
are learning differnt approach to the same paradigm.

That and $1.00 will buy a soda from the machine down the hall.  Take
it for what it is worth :-)

Mike


--- In AVR-Chat@yahoogroups.com, Mike Perks <basicx@...> wrote:
>
> Thomas Keller wrote:
> 
> >    For a beginner with no programming experience at all, I would
propose
> > that you tackle assembly language first.  ASM is very easy to
relate to,
> > and more importantly, it also he;lps you to relate to the hardware,
> > whatit does, and how it does it.  This understanding can be crucial to
> > your success as a programmer, particular a p[rpogrammer 0of embedded
> > processors.
> 
> This is probably going to start a whole new religious discussion but 
> here we go. I have to completely disagree with Tom's assertion. ASM and 
> the associated toolset has a VERY steep learning curve. Just to do 
> something simple requires quite a bit of knowledge and lot of other 
> ancilliary things from programmers to AVR debugging skills.
> 
> >    Realistically, higher level languages such as C, Forth, BASIC,
etc.,
> > only make sense for large, complex projects, in my estimation. 
The fact
> > that the languages were specifically designed to HIDE the underlying
> > machine architecture and operations from you make them less than ideal
> > when programming on a platofrm where understanding and relating to the
> > hardware is eesential, such as embedded processors.
> >
> >    Understanding the insd and outs of communicaitng with, and
> > controlling, the various internal peripheral modules is the real gisat
> > of embedded programming.  The further away from that hardware the
> > language holds you, the less clarity and efficiency of code you will
> > likely generate.
> 
> I don't think a beginner is after efficiency and as for clarity, one 
> line of a high level language is more clear than writing the 20 
> assembler instructions yourself, particularly as most programmers don't 
> bother with comments. The whole point of BASIC or C is to hide a lot of 
> the painful details.
> 
> As a beginner it might be best to start with a platform where a lot of 
> the work has already been done for you. My suggestion is to use 
> something like the ZBasic (http://www.zbasic.net/ ) and the  Basic
Stamp 
> pin-compatible ZX-24 that uses an ATMega32. Then when you get more 
> proficient (and interested) you could move to Bascom or C. The cost of 
> the ZX-24 might seem high but remember it has a lot of built in
hardware 
> and firmware to make it easy to use.
> 
> Mike
> http://home.austin.rr.com/perks/micros/
>

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.