ada lovelace algorithm analytical engine betty holberton cobol central processing unit charles babbage code monkey comparative advantage computer computer program computer programming computer scientist computer software data storage device database database management system debugging desktop publishing development speed eniac flickr foreign worker visa fortran frances spence game programmer geek google hotmail independent contractor independent software vendor individualism information technology jean bartik kathleen antonelli konrad zuse labor shortage license list of programmers mainframe computer marlyn meltzer minicomputer offshore outsourcing online help operating system php profession professional certification programming language public domain ruth teitelbaum script kiddie software analyst software developer software development process software engineering software testing source code technical writer united states video game video game developer web application web browser web developer web development wiktionary women in computing