CMU CS 15441 - Intro & Revision Control (31 pages)

Previewing pages 1, 2, 14, 15, 30, 31 of 31 page document View the full content.
View Full Document

Intro & Revision Control



Previewing pages 1, 2, 14, 15, 30, 31 of actual document.

View the full content.
View Full Document
View Full Document

Intro & Revision Control

92 views


Pages:
31
School:
Carnegie Mellon University
Course:
Cs 15441 - Computer Networks
Computer Networks Documents

Unformatted text preview:

Recitation 1 Intro Revision Control Dave Andersen CMU Computer Science Fall 2006 Systems Software Low level projects in C Designed to run forever Handle every possible error condition Manage resources carefully Must be secure The Internet is not a friendly place Based on documented protocols Quite different from 213 Project size 1000s of lines vs 100s Project duration 5 weeks vs 1 2 weeks Partners vs solo developer Result You can t keep the state for 441 projects in your head at all times It s too big Requires one step more care in development Software Engineering For Systems Hackers Goals and foundations 1 5 developers Context Systems code but not too much is systems specific Very low overhead and up front cost Like to see benefits w in a single project Our Philosophy Your time is valuable and limited Some things are fun Design initial coding a working project Some things are less fun Agonizing debugging bad project grades spending 10x longer than you thought Use techniques that minimize time and maximize fun vs less fun Partly free lunch Techniques take a bit of time to learn E g revision control software today But they will pay off Some techniques take a bit more up front time E g writing good log messages thinking about design good debugging capabilities But they make the rest of the project more predictable and reduce the uncertainty of failing in the last day And they save debugging time Your job Ask yourself Could I be doing this in a more efficient way Typing gcc g Wall foo c bar c baz c vs typing make Debugging Have I seen this bug before What caused it How could I avoid it Be reflective strive to learn improve In Practice Algorithms Most systems programs need Hashes linked lists Searching and sorting For many that s it Databases are different Given this What would a good lazy programmer do Don t write it twice Hashes lists Have a nice implementation that you reuse We suggest either the ones from The Practice of Programming Or rip them out of the BSD kernel



View Full Document

Access the best Study Guides, Lecture Notes and Practice Exams

Loading Unlocking...
Login

Join to view Intro & Revision Control and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Intro & Revision Control and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?