On 29/12/2010 22:41, Wouter van Ooijen wrote: >> And Lint is only necessary due to unfortunate syntax design choices. In >> better designed languages, the things that Lint catches aren't legal in = the >> first place. For how many other languages have people felt the need to >> create Lint-like tools? > Every compiler that has warnings has an implicit lint-like functionality. > > C has a lot of unfortunate syntax choices. On the other hand, Pascal, > Modula and Ada made much better choices, yet we are (almost) all using C > (or C++, javascript, java, C#, or some other C derivate). Why? I guess C > must have done something right, but I am not sure what it is. Purely because C was language of Choice for UNIX, BSD, MSDOS, Windows,=20 Linux. Popularity rather than anything. Originally it was also that as essentially a Machine Independent Macro=20 Assembler (hence dependency on #defines and preprocessor and "make=20 files") it was easy to port and simple. Then C had all the Libraries ... It was longer before other languages had production quality compilers. Pascal and BASIC only meant originally for teaching (BASIC originally a=20 cut down ForTran) Modula-2 was too late C++ was crippled by backward compatibility to C. Most C++ programs are=20 too much like C programs. The C++ designer didn't want this. It was=20 foisted on C++ by AT&T. Of course AT&T attitude to ownership of UNIX and the University=20 involvement is directly responsible for Free BSD, GNU, Linux and the=20 rest of the last 30+ years of FOSS wheel re-inventing. So sooner we get away from C and C like C++ programs the better. Most=20 Security flaws and bugs are due to strings & Array bounds handling and=20 traditional C string/array libraries. A compiler can't easily check the sanity of a printf either. I have used C++ since about 1987 and C from 1988. This is why I like=20 JALV2 on PIC, and C# or VB6 on Windows and used Modula-2 on DOS. --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .