130 likes | 229 Views
Software. COSC-100 (Elements of Computer Science) Prof. Juola. Ghosts in the Machine. Software is the part you can’t kick – it’s the instructions that run the computer.
E N D
Software COSC-100 (Elements of Computer Science) Prof. Juola
Ghosts in the Machine • Software is the part you can’t kick – it’s the instructions that run the computer. • Structured as a machine-specific algorithmic set of basic instructions, written in so-called “machine language” and implemented as electronic circuits.
Fetch/Execute cycle • Basic operation : load an instruction from memory, look up what it does, and then do it. Repeat as needed • “Instruction set” defines available ops. • Selected examples (JVM) • 21 iload (load integer from memory to CPU) • 98 fadd (add two decimal numbers) • 153 ifeq (check if a number equals zero)
Machine language • 23, 91, 64, 107 does make sense to us, but it does to a computer • “High level languages” bridge gap between human concepts and basic machine operations • Programs (compilers and interpreters) convert high-level languages • An example of “software applications”
Software Applications • “What do you want to do”? • Developed to fill particular need/want • Word processing • Spreadsheets • Games/Graphics • Networking/Communication • … and anything else you can think of
Operating systems • The other “kind” of computer program • Program-control-program (like TRON) • Runs new programs, cleans up after old ones, controls hardware/peripherals, &c. • Examples • Windows (all flavors), OS X, Linux, MS-DOS, CP/M, UNICOS
WIMP • Windows, Icons, Menus, Pointers • Originally developed by Xerox, licensed by Apple, stolen by Microsoft • The most popular method of OS control • Advantages are obvious • Disadvantages are subtle, but real. Difficult to control in detail, hence CLI’s still exist
Word Processing • Basic, but revolutionary, application. • Extends power and flexibility of typewriter using software-only documents • Features like search/replace, automatic reformatting, spelling check, etc. all possible. • Has revolutionized publishing industry
Not new concept • TeX/LaTeX developed by Knuth to solve professional typesetting problem • Wanted to write book, too expensive to typeset conventionally • LaTeX defines very flexible document description language, appropriate for very difficult (math or symbol heavy) documents • Written in late 70s using CLI interface
Microsoft Word • WIMP-based document creation process • Merges document creation and document formatting (WYSIWYG) • Fundamentals very easy to learn (enter text, cut/paste, toolbar for formatting) • Keeps software-based flexibility, ever-expanding feature set
Advance features • Automatic formatting/references • Outliners • Databases (dictionary, thesaurus) • Spelling/grammar/style checking • Mail merge – form letter generation
Desktop publishing • New industry created. Possible to do “professional” publishing at home, including layout, clip art, font modification • Still paper-based, but shifting to Web based. • (Differences between Web documents and paper documents? Differences between MS-Word and MS-PowerPoint?)
Problems • Same control problems as with PowerPoint • Document format should support, not drive, document content • Plan/outline before you write • Use appropriate fonts/displays • Style sheets and so forth to limit excesses • Stay on message