Links on C and UNIX
Programming on a Unix System
The Missing Semester of
Your CS Education
- This MIT elective lecture the introduces students
to various topics that are not traditionally part of a computer
science curriculum, and that students would have to acquire on their
own. If you have the time, take a look
at
Introduction
to the Shell
, Development Environment and Tools
or Debugging
and Profiling
.
- The website explainshell.com
- If you are not yet familiar with how to use a Shell (the program that
interprets the commands you type into a terminal emulator), you might
stumble upon cryptic looking commands from time to time. This website
tries to parse these commands for you; instead of executing them,
it generates a description of the meaning of each command and
arguments are.
- The
intro(1)
man page
- If you ever need an introduction to how to use a
Unix-CLI, you can take a
look at this manual page. It should be installed, and even available
offline by typing
$ man intro
in your terminal
emulator (note that the $ is the shell prompt,
do not copy this!).
Programming with C
- The C Programming
Language Homepage
- This official site is a nice
hub for useful links pertaining to C (such as the standards),
including a collection of useful tools for working with C
- The book Modern C
- A nice introduction and refresher to C. Compared to many other
books, Jens Gustedt does a good job at demonstrating how post-ANSI C
features can be used to improve code quality. A number of
takeaways
are scattered throughout the book, which makes it worthwhile to even just skim.
- The website cdecl:
- If you have difficulties parsing declarations in C, or cannot recall the
spiral
rule, this website can help you translate C syntax into a
quasi-prose description in English.
- The
operator(7)
man page
- If you are ever uncertain about the precedence of operators in C,
you can look them up in this man page. Note, you probably have this
already installed on your system, you can read it by typing man 7
operator in your shell.