Welcome to Pure Programmer
Many people find the idea of learning a programing language intimidating. Programming can be a lot of fun but it is also a very useful skill to have these days. From small devices that have embedded software to large corporate data stores, software permeates every aspect of our daily lives. Someone has to write all those programs!
This site aims to lift the fog of fear many associate with programming in order to help you to become a better programmer. All the skills and techniques, tricks of the trade and fundamental principles that you need to become a programmer can be found on this site. It doesn't matter what your language of choice might be, this site will help you learn the skills you need to succeed in our fast-paced, digital world. We don't delve into the distractions of which programming languages is better or worse, we just cover pure programming as it may be in any modern programming language. Along the way we will have a lot of fun and soon you will [[grok]] programming like a professional.
The best way to learn how to program is by writing programs. In this site you will find many exercises for you to use to sharpen your programming skills. You can discuss your findings in the forum for each exercise and ask for help if you get stuck.
Programming languages today are often available on multiple platforms. The core language features are the same on all platforms but they also have platform specific libraries to support graphical interface programming on that platform. On this website we will focus on techniques using the core language features. Our programs will use text (console) input and output which is supported on all platforms. This allows us to explore universal programming concepts without delving into platform specifics. Where we must take platforms into account, icons in the margins will help identify portions of text that are platform specific.
How to Use This Site
This site covers six popular programming languages. Simply select the language of your choice from the popup menu at the top of the Table of Contents to view the pages for that language. If you just want a quick reference of language features use the Language Syntax Comparison link at the top of the Table of Contents.
Each of the pages on this site are designed to only use concepts from the preceding pages as listed in the Table of Contents. This allows you to use this site as a tutorial by progressing through the pages on this site in order. If you already have some knowledge of a programming language and are interested in specific topics, you can use this site as a reference by jumping directly to those pages using the Table of Contents.
In order to help you crystalize your knowledge of the programming concepts presented, each page contains questions and projects. It is best to try the projects on your own first before looking at that solutions. This way you strengthen your knowledge because the only way to truly learn how to program is by writing programs. Once you have completed the projects on your own, you should review the solutions provided and compare them to your own.
I have setup some videos to help you get the programming languages used on this site setup on your computer. Each video targets a specific platform and shows you how to get all of the languages installed.
About the Author
Richard holds a B.S. and an M.S. in mechanical engineering both from the University of Missouri-Columbia. His education focused on computer aided design, numerical analysis, simulation and computer graphics, which eventually lead him into the software engineering field.