Programming

Hello and welcome to my Programming section. Here I will share some knowledge and opinions I have about programming.


Programming

After reading "Compiler Construction Principles and Practice" by Kenneth C. Louden, I became a much better programmer. It is critical to understand what is going on under the hood. Much like a mechanic at the autoshop, you need to be able to troubleshoot and fix things. Once you have this background, everything else will become easier. So it is certainly worth taking the time to master this subject as it will pay off later! It will also boost your confidence as a programmer!


Programming

As time passes, languages may keep changing but the basic principle and design philosophy does not. A useful course I took in college was called "Stuctures of Programming Languages". There are certain universal concepts that need to be in place to ensure that a language is useable. By studying the design and implementation we can learn the strengths and weaknesses. By knowing the capabilities, we can better select the correct language for the job. After taking this class, I feel much more comfortable and confident when using different languages.


Programming

This book entitled "Digital Systems" helped me understand how computers work. I learned about logic gates, 7 Segment Displays, boolean algebra and memory. By knowing how computer hardware works, you can become a better programmer. This will allow you to be more efficient because you’ll understand the inner workings of the machine. This will allow you to use tricks such as shifting to multiply and divide by 2 and unrolling loops. Another good book is "How Computers Work" by Ron White.


Programming

It is important to have a good clean coding style where you have proper indenting and spacing. This makes your program easier to read, fix mistakes and creates structure for your blocks of code. Along with proper spacing, it helps to have very clear comments so when you have to modify your program in the future, you can do so easily. Always use clear and meaningful names for your variables so you are not guessing what things are. Try not to combine multiple things in one statement, as it is better to use multiple lines of code to make it more readable.


Programming

This book entitled "Modern Operating Systems" helped me understand about resource sharing, semaphores, and deadlock. Deadlock is a situation where two or more processes are each waiting for the other to finish, and thus neither ever does. You definitely want to avoid deadlock by using atomic operations and semaphores to signal that a resource is locked so another process won’t try to aquire it. By using mutual exclusion you will ensure that there won’t be any conflicts with resources. Having these concepts down will make you a better systems programmer.


Programming

This book entitled "Windows Programming 5th Edtion" by Charles Petzoid, is one of the best Windows programming books you can find. It unlocked the mysteries of developing under Windows and I really learned a lot about the programming environment. I learned how Windows passes messages, how windows have handles, and GDI (Graphics Device Interface). You really should however use DirectX and not GDI for graphics. Other than that, this book is right on the money!


Programming

This page is still under construction...