Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Is learning C really a must for a programmer?

Name: Anonymous 2012-09-02 6:17

Many have this opinion. Somehow, by doing manual memory management allocation and garbage mangement one would become a better programmer.

I have little experience in C mainly because I can write terser and more readable code in Racket or Haskell. However I'm willing to give C a try just to learn these lessons that everybody keeps talking.

But I have a sneaking suspicion that I already know most of what is there to know. Can you list some useful lessons that a typical high level code dweller would be oblivious of?

Name: Anonymous 2012-09-05 0:40

BLISS is much better than C for low-level programming. It makes interacting with assembly instructions and registers easier. The programmer has complete control over structures, calling conventions and pointers. There are bitfield selectors on every value instead of having to use shift/mask. It has exceptions and error handling, unlike C which leaves everything undefined. It also has a powerful macro system with expression evaluation, local identifiers, recursion, string/number/symbol conversions, and the ability to create new macros and identifiers at compile time. Structures are parameterized and can have user-defined accessing algorithms (like C++'s operator[]). For example, you could add bounds-checking for debug mode, or access a rope or linked list by index. It's more like an high-level expression-based macro assembler. It also has everything C has except for passing structs by value, a floating point math library, programmers, and compilers.
http://trailing-edge.com/pdf/dec/pdp10/TOPS10_softwareNotebooks/vol07/AA_H275C-TK_BLISS_Language_Guide_Apr83.pdf
http://bitsavers.org/pdf/dec/bliss/EY-AY008-SP-001_BLISS_Primer_Volume_2_1979.pdf
http://www.cs.arizona.edu/classes/cs520/spring12/bliss.pdf
http://www.fh-jena.de/~kleine/history/languages/VAX-11_Bliss-32_UsersGuide.pdf

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List