Skip to content
View gdavidbutler's full-sized avatar

Block or report gdavidbutler

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
gdavidbutler/README.md

Welcome

Below are collections of code I've published to allow me to use at companies I've worked with/for without losing my intellectual property.

I've been a professional computer programmer since the late '70s. I read about UNIX and the C programming language and looked for a way to use them. After purchasing a micro computer in the early '80s that included them, I was hooked. And, now, so is most of the computing world.

C is: mature, stable and ubiquitous. Often described as a portable assembly language, C translates directly to processor instructions and is: fast, small and efficient. Why program a computer in any other language? Is C too close to the processor?

You will find a couple of repositories that take full advantage of the closeness (the callback parsers). They have no dependences (not even on the standard C library). They are pure C functions that get down and dirty to rip through CSV, XML and JSON.

There is a repository that significantly simplifies multi-thread programming in C. Exploiting POSIX threads, channels enable a style of programming that is common in newer programming languages. And uncommon features, like lazy evaluation.

And, as C operations map to instructions, C structures organize memory for efficient access. Processing rich information is possible but tedious, at best. There is a much better language for handling data. The SQLite library is an indispensable tool for the C programmer. Declarative programming for data rich C! A couple more repositories marry the XML and JSON callback parsers with SQLite to provide DOM capabilities.

Lastly, C is an imperative language. Implementing dynamic execution is possible but tedious, at best. There is a much better language for handling dynamic execution. The CLIPS library is another indispensable tool for the C programmer. Declarative programming for dynamic C! There is a repository that marries data rich SQLite with dynamic CLIPS.

Enjoy!

Pinned Loading

  1. pthreadChannel pthreadChannel Public

    Yet another implementation of a "channel" construct for pthreads

    C 7 1