As you might have known from my last post I got a little C pocket reference book. Though there are not any real examples/tutorials it does provide short descriptions for the basic principles, so I plan to tinker with it. The lowest level language I know is Java which isn’t very low. After a quick google search I found a few comparisons/speed tests for C vs X language. In most cases it was over 2x faster than dynamically typed langauges. With that kind of speed boost you could preform long operations faster.
Now my mind set is still fairly abstract when I try to learn about lower-level concepts. I’m curious to know when it is a good idea to program something in C compared to a higher level language (like Python). What all tasks are usually handled by C over say Python? Off the top of my head I assume any long math operations or generators would be best written in C but what others things would you take the time to write in C over Python assuming you want to still have a fairly speedy development time?
Related posts:










































C is really good to write DirectX applications and games in. The speed advantage and the direct control over memory suites this type of application well. C is also good for writing programs that require long math operations as you stated, and is also good for writing file operation programs.
I’m a fan of high level languages myself (especially C#), but I do program in C quite a lot. Mainly used now in embedded systems programming, but of course not exclusively. I usually use C when programming with microcontrollers, which can be a pain in the nuts, but on the other hand is extra rewarding. The days of writing Wind32 apps in C/C++ using the Win32API are almost over since the .NET framework makes everything really easy, and tools like QT are getting better and better. Still, any low level experience can’t hurt…I don’t like programming in assembler, but it’s damn interesting to see how it really works.
Simple; always. Software design has no place in the language itself (as high-level languages would have you believe) as it does nothing more than convolute and bloat the language which is meant to be nothing more than a medium.
Leave design in the design and the software expressed incarnation in the language where it belongs.