1) Software is categorized into system software and application software. System software includes operating systems like DOS, Windows, and UNIX/Linux. Application software includes programs for specific tasks like word processors, spreadsheets, presentations, databases, and graphics. 2) Programming languages can be classified based on their level of abstraction from the machine. Low-level languages like assembly are closer to machine code while high-level languages abstract the machine with features like variables, data types, and procedures. Object-oriented languages encapsulate data and behaviors into objects. 3) Popular programming languages include Visual Basic, COBOL, Pascal, FORTRAN, C, HTML, Java, XML and others. Each has its own strengths