Readings and Other Resources
Reference Book
Modern C by Jens Gustedt, November 2019, ISBN 9781617295812.
Must Read
How NOT to Go About a Programming Assignment, by Agustin Cernuda del Rio.
Computer programming students invariably fall into more than one bad habit. It can be extremely difficult to eradicate them (and many lecturers and professional programmers keep succumbing to them time and again).._
Best Teacher I Ever Had, by David Owen.
Mr. Whitson taught sixth-grade science. On the first day of class, he gave us a lecture about a creature called the cattywampus, .._
Why C?
Learn C programming and the rest will come, by Marty Jacobs
C is a concise language, and in its 45 years of existence, it has cemented its place as an essential tool in any programmer’s arsenal. But why?
The Resurgence of C Programming, by Mark Barlow
“C is the Latin of programming languages,” says Ptah Pirate Dunbar, an open source hacker and professor of computer science. He notes that many commonly used high-level languages are influenced by C through syntax, function, or both. “Learning C empowers developers with the mental flexibility required for transitioning across C-influenced languages with ease and agility.”
You Can't Dig Upwards, by Evan Miller
To write extremely good software —whether it’s desktop, mobile, extraplanetary —you need a firm understanding of how computers and operating systems work at a low level. How many data structures fit into the CPU cache? Why is this code slow when the built-in profiler says it is fast? When I ask the operating system to do something, what is it actually doing? I suppose you can acquire this knowledge with a strict reading regimen, but to develop the necessary intuition, there’s no substitute for writing and optimizing a lot of C code.
Vim
Time to Drop Emacs and Vi? on StackOverflow.
Programmers are notorious for using the tools that helps them get the job done in the most efficient way possible. These editors are ancient yet still being used because they are good, solid editors, proven by time. If they get the job done and get the job done well, why should we drop them in favor of something else?"
What are the benefits of learning Vim? on Stack Overflow.
Usually vim's killer features are considered: A) that it's available on pretty much every Unix you'll ever encounter and B) your fingers very rarely have to leave the home row, which means you'll be able to edit text very, very quickly. It's also usually very fast and lightweight even when editing huge files."
I suggest you teach yourself Vim in 4 steps: 1. Survive. 2. Feel comfortable. 3. Feel Better, Stronger, Faster. 4. Use superpowers of vim.
-Where Vim Came From -- from TwoBitHistory.
Perhaps more importantly, while we’re asking questions, why does exiting Vim involve typing :wq? Sure, it’s a “write” operation followed by a “quit” operation, but that is not a particularly intuitive convention. Who decided that copying text should instead be called “yanking”? Why is :%s/foo/bar/gc short for “find and replace”? Vim’s idiosyncrasies seem too arbitrary to have been made up, but then where did they come from?
Vim's Big Idea - by Mike Kozlowski.
This philosophy of minimalist commands that can be composed together is the fundamental originating philosophy of Unix, and Vim exemplifies it like no other editor.
VIM Pays Excellent Dividends - by John Bjorn Nelson.
Being conservative, let’s say it makes you 5% more productive. More specifically — once your brain maps the keystrokes to muscle memory — it makes you 5% faster at completing the mundane tasks…the ones which dominate programming. That added productivity snowballs. It’s an extra twenty minutes a day to build or explore (or learn), that used to go to copy/paste-like operations.
The 11 Steps to Learning Vim - by damassi.
Regardless of the initial confusion and difficulty in getting started, you're making your future developer self immensely more productive by diving in and taking the plunge. Seriously. I'm just a few weeks in right now and I can positively say that learning Vim has been the best work-related decision of my life. It's fun, and in the strangest of ways it makes you think better.
Vim for People Who Think Things like Vim and Weird and Hard - by Harry Roberts.
.. the fact that, yes, people still use an editor that is over 20 years old (in turn based on a tool from the 70s), and those people number in the hundreds of thousands, perhaps they might be onto something.
Why I use Vim - Pascal Precht.
once I was able to do some basic operations in Vim and actually started working again, I made almost as twice as much progress at work in about half the time. I know that sounds kind of crazy but I’m serious. And that convinced me that I made the right choice._
So, do yourself a favor and climb that mountain. Just remember that you can slide down afterwards."