[vox] things that really suck about C!

Brian Lavender brian at brie.com
Mon Mar 1 14:31:12 PST 2010


No doubt about that. I will make bison my friend. I think the next
generation is Domain Specific languages. I played with ANTLR a bit
and it looks really great. Not to mention, I got the book on "flex &
bison". And the Parrot project is quite interesting too. I think just
doing the calculator example with ANTLR or flex/bison demonstrates the
power of making your own language. 

Maybe tomorrow, we'll be talking about our collection of Context
Free Grammar generation tools! 

I think in domain specific hardware will play a significant role in
the future as well.  System Verilog certainly seems to provide a lot
of promise.

On Mon, Mar 01, 2010 at 10:49:29AM -0800, Bill Ward wrote:
>    I think you should view C as being nothing more than a
>    platform-independent assembly language.  It astonishes me that it is
>    still used as widely as it is.
> 
>    On Sun, Feb 28, 2010 at 6:35 PM, Brian Lavender <[1]brian at brie.com>
>    wrote:
> 
>      I think if anything, C has been a certain detriment to the field of
>      computer science!
>      One calls a function and the arguments are passed by value. Call a
>      function with an array as an argument, and feel free to modify its
>      contents!
>      Certainly, C++ added the idea of reference, but I think Pascal
>      simplifies these concepts much better. Yet, Pascal seems to be
>      relegated
>      to the status as a legacy language!
>      brian
>      #include <stdio.h>
>      #define CAP 10
>      void mod_array(int a[])
>      {
>       a[2] = 5;
>      }
>      void trychange(int a)
>      {
>       a = 2;
>      }
>      void reallychange(int *a)
>      {
>       *a = 2;
>      }
>      int main() {
>       int b[CAP];
>       int c;
>       int i;
>       printf("Load array and change a value\n");
>       for (i=0; i < CAP; i++)
>         b[i] = i + 20;
>       mod_array(b);
>       for (i=0; i < CAP; i++)
>         printf("b[%d] has value of %d\n",i,b[i]);
>       c = 10;
>       printf("c has a value of %d\n",c);
>       trychange(c);
>       printf("c has a value of %d after trychange(c)\n",c);
>       reallychange(&c);
>       printf("c has a value of %d after reallychange(&c)\n",c);
>      }
>      --
>      Brian Lavender
>      [2]http://www.brie.com/brian/
>      "There are two ways of constructing a software design. One way is to
>      make it so simple that there are obviously no deficiencies. And the
>      other
>      way is to make it so complicated that there are no obvious
>      deficiencies."
>      Professor C. A. R. Hoare
>      The 1980 Turing award lecture
>      _______________________________________________
>      vox mailing list
>      [3]vox at lists.lugod.org
>      [4]http://lists.lugod.org/mailman/listinfo/vox
> 
>    --
>    Check out my LEGO blog at [5]http://www.brickpile.com/
>    View my photos at [6]http://flickr.com/photos/billward/
>    Follow me at [7]http://twitter.com/williamward
> 
> References
> 
>    1. mailto:brian at brie.com
>    2. http://www.brie.com/brian/
>    3. mailto:vox at lists.lugod.org
>    4. http://lists.lugod.org/mailman/listinfo/vox
>    5. http://www.brickpile.com/
>    6. http://flickr.com/photos/billward/
>    7. http://twitter.com/williamward

> _______________________________________________
> vox mailing list
> vox at lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox


-- 
Brian Lavender
http://www.brie.com/brian/

"Too much hype, too much confusion, and too many people talking about
something they don't understand have greatly muddied the waters in the
last year or so."

Borland Turbo Pascal OO Programming Guide
1989


More information about the vox mailing list