Unit 3: Development Tools
CptS 360 (System Programming) Unit 3: Development Tools
Bob Lewis
School of Engineering and Applied Sciences Washington State University
Spring, 2020
Bob Lewis WSU CptS 360 (Spring, 2020)
CptS 360 (System Programming) Unit 3: Development Tools Bob Lewis - - PowerPoint PPT Presentation
Unit 3: Development Tools CptS 360 (System Programming) Unit 3: Development Tools Bob Lewis School of Engineering and Applied Sciences Washington State University Spring, 2020 Bob Lewis WSU CptS 360 (Spring, 2020) Unit 3: Development Tools
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ Begin with “#” to end-of-line.
◮ May be real files or nonexistent goals (e.g. clean).
◮ Need to use Tab. ◮ Each line is distinct shell command, unless you use “;\”.
◮ may be built-in or user-defined Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ old-style substitution:
◮ nested macros:
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ -c
◮ -v
◮ -f filename
◮ -x
◮ -z
◮ -t
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ for multiple developers ◮ was superseded by...
◮ now mostly superseded by... Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ manages whole directory trees of files ◮ uses database for central repository ◮ allows easy renaming of files and directories
◮ devised by Linus Torvalds for the Linux kernel (he formerly
◮ project ↔ repository ◮ repositories often hosted on GitHub
◮ each user gets their own copy of the whole repository ◮ see https://xkcd.com/1296 and https://xkcd.com/1597
◮ don’t know much about this one
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ easy to figure out ◮ outdated for regular
◮ still used for man pages
◮ if you absolutely must
◮ WYSIWYG, mostly ◮ OpenDoc format
◮ a pain to learn, but... ◮ worth the effort, esp. for
◮ best book (IMHO):
◮ intuitive ◮ uses readable ASCII files ◮ generates HTML, LaTeX,
◮ can insert LaTeX if
Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ “East Coast” (MIT) origin ◮ also a development environment ◮ programmable in Lisp ◮ windowed or console
◮ “West Coast” (UCB) origin (as
◮ most widely-used by system
◮ programmable in Python ◮ console mode only
◮ low-overhead
◮ console mode only
◮ Linux (Gnome)
◮ GUI mode only Bob Lewis WSU CptS 360 (Spring, 2020)
Unit 3: Development Tools
◮ runs just about
◮ runs just about
◮ Linux (KDE) only
◮ Linux only
◮ MacOS only
◮ C++ only ◮ runs just about
◮ uses Qt4 GUI framework
◮ runs just about
◮ uses wxWidgets GUI
Bob Lewis WSU CptS 360 (Spring, 2020)