1
/
5

Introduce Monk-C

https://github.com/sunpaq/monkc

The purpose of building this toolkit set is to enhancement the pure C ability with power of Object Oriented Programming. C is a simple but powerful language used every where. There are many languages extend C such as C++/C#/Objective-C. They are very powerful and the excellent software written by them lift the whole IT industry and our daily digital life.

Objective-C is my favorite C variant language. thanks to Apple make it open sourced. So i can sneak some piece of their code and make my own Monk-C from a quite high level start point. But Objective-C is far more complicated and useful. Unlike my toy Monk-C Apple make a lot of optimization and improvement on it. I really just can understand a very small piece of their runtime system.

Monk-C is design to keep simple and understandable for an new CS student with little C programming experience and data structure knowledge. So they can easily dig into it's runtime and make an useful modify for themselves.

Monk-C add macros and runtime library functions as less as possible. Never modify the C compiler makes it 100% C compatible and easy to use on many platforms. All the convenient features will be add to the "mcpp" Monk-C PreProcessor. which is an separate tool and always optional.

There are many programming languages today. But C is almost an "must learn" one for every CS student. And widely use on open source projects. Lots of the modern languages handle pitfalls of C very well and have fully OOP support. That makes many young students keep far away from C language. They learn C just because there is an C test at school.

I think the KISS (Keep It Simple, Stupid) principal is great. C is an "KISS" language. And designed to be simple. People afraid of pointers just because they haven't learn data structure. If you know little about even the "link list". you will find the pointer is a great innovation.

People should give the old C language a try. And learn it by using it. Monk-C provide an toolkit help you use C language in modern OOP style. When you write more and more code. You will find OOP itself is just all about organize your code by parts called "class". OOP itself is expensive. But many modern language hidden it behind the compiler. The users have no pain abuse OOP's powers.

Monk-C encourage you use OOP as less as possible. encourage you on data structure design and do less on coding. encourage you use low level UNIX standard libraries with a thin warp layer.

For business application development, it is better have powerful Frameworks and programming languages to accelerate development process. But for learning computer science or do your open source project, it is better pick up the old C language and enjoy the magic computing world.

Monk-C is always sitting beside C, as an reasonable option for you.