New Programming Resource

Different tools for different purposes - C is not suited for programming in the large or for high-level coding.
The lack of array-bounds checking in C and C++ is partly responsible for the huge blight of viruses and trojans
over the years as most vulnerabilities are due to this one rough-edge.

Just because a language doesn't have a feature built in it doesn't mean that the programmers are forbidden from implementing it themselves.
Those vulnerabilities are the result of sloppy coding.
 
I totally disagree, C is a low level language and even the best programmers shoot themselves in the foot with
it sometimes, life is too short to use such a rough edged tool for general purpose coding - as I said use the
right tool for the job. Here's a little example of why C / C++ isn't suitable for programming in the large:

In the fairly early days of Java IBM wrote an alternative Java compiler in C++, called Jikes. Every single
version of their compiler would SegV on some large Java input, I literally had to swap and change versions
of Jikes to see which version might succeed with particular source code - often there was one that didn't
crash, but not always the same version... This is purely down to the nature of C++ when programmed
by humans - it was fast of course, which is why it was worth persevering with.

For comparison I've can't recall ever having seen a Python program crash - the language or implementation
are designed to be safe, you always get a an error or exception which can be handled as appropriate and of
course the invaluable try-finally clause.
 
I actually wrote to Paul before I wrote the first Intro book, because I really liked the Teensy family. However, Paul was probably too busy on the T4 to get back to me. All of the examples in the new book will run on the T4, but don't really show off what it's capable of.

Sorry I missed your email. It wasn't you. I'm just bad at email....
 
- as I said use the right tool for the job.
But keep in mind, in the end all become machine language, even when interpreting p-code.
So it depend a lot of your skills and mindset, right?
So I would say, choose the tool that is right for the job and your skills.
BTW, was not ADA designed to be safe and is still used in mission critical (including military) programs?
 
Back when I tried ADA, it had little or no functions for visual output(one class assignment was to build a library of functions for VT220 terminals).
This was supposedly to make it more platform independent... or something...

There was built-in garbage commection and boundary checks. Even support for multi-threading.
I used both a version on VAX VMS, and on DOS(Janus ADA), and the only difference was that the VAX version didn't have a 'Long Integer' type defined.
So when I wrote program code at home and brought it to school, I had to uncomment a type declaration before it could run there if I had used a Long Integer.
(All Integers on the VAX version were in reality Longs, unlike on PC where they were 16bit. )

And ADA wasn't just used by the military, it was ordered by the US DoD...

Back then, ADA was easy to learn if you had some Pascal experience. C programmers should also be able to pick it up pretty quickly. C++ programers, though, would have to first unlearn the notion that everything is pointers.

I'd love to use ADA on the Teensy...
 
Back
Top