Oprogramowanie (z ang. software) - to różnego rodzaju programy komputerowe, aplikacje, których celem jest funkcjonalność i użyteczność.

  1. Edytory dokumentów:
    1. Edytory tekstu - dzielą się na proste i bardziej skomplikowane programy oferujące poza edycją tekstu, wstawianie grafiki. Do tych prostych należą: w środowisku Unixowym - vi (edytor konsolowy), pod Windowsem - notatnik, natomiast te bardziej rozbudowane to np. pod Windowsem - Word należący do pakietu Office czy WordPad - domyślnie instalowany, zaś dla systemów Unixowych - Writer w pakiecie Open Office oraz dość zaawansowana Aurora dla systemu DOS.
    2. Pakiety biurowe - są zestawem programów przeznaczonych do celów głównie biurowych. Do najpopularniejszych należą: Microsoft Office (Windows) i Open Office (różne platformy: Linuks, Unix, Windows, Solaris). W skład pakietu wchodzą:

Program

Microsoft Office

Open Office

Edytor tekstu

Word

Writer

Arkusz kalkulacyjny

Excel

Calc

Edytor prezentacji

PowerPoint

Impress

Program do obsługi/ tworzenia baz danych

Access

Base

Edytor HTML

FrontPage

Wizualny edytor HTML

Edytor grafiki/publikacji

Publisher

Draw

Program pocztowy

Outlook

-

Etc. wg. wersji

    1. Edytory HTML - czyli programy do tworzenia dokumentów HTML. Powszechnie używanymi są: Pajączek, Tiger (płatne pod Windowsa) czy Bluefish (Linuks).
    2. Skład tekstu - to m.in. programy do tworzenia czcionek - FontForge czy programy do profesjonalnego składania tekstów naukowych - TeX.
  1. Programy multimedialne:
    1. Edytory graficzne - przeznaczone do modyfikacji i tworzenia obrazów są klasyfikowane pod względem techniki ich tworzenia, stąd można wyróżnić programy przeznaczone do grafiki wektorowej (obrazy są zapamiętane jako figury geometryczne) i rastrowej (obraz jest przedstawiany w postaci dwuwymiarowej tablicy pikseli). Następny wyróżnik stanowi wymiar, w jakim prezentujemy obraz (2D - płaski obraz, 3D - obraz przestrzenny). Przykładowe programy do:
      • Grafiki wektorowej / 2D: CorelDraw, Adobe Illustrator, AutoCAD
      • Grafiki bitmapowej (rastrowej): Adobe Photoshop, GIMP, ACDSee, IrfanView
      • Grafiki 3D: 3D Studio, Blender
    1. Edytory dźwięku - programy edytujące pliki dźwiękowe (np. Audacity) albo komponujące muzykę (np. Tracker).
    2. Edytory video - programy służące do montażu filmów cyfrowych. Popularnym programem jest Pinnacle Studio.
    3. Odtwarzacze multimedialne - odtwarzanie plików multimedialnych, obsługa zarówno plików dźwiękowych jak i video, możliwość korzystania z internetowych stacji radiowych i telewizyjnych. Do znanych programów tego typu należą: Windows Media Player, Winamp, iTunes, QuickTime.
  1. Programy archiwizujące - programy wykonujące kopie zapasowe różnego typu danych, czyli archiwizację (z ang. backup) w celu zabezpieczenia na wypadek ich zniszczenia. W ramach tworzenia kopii dane ulegają dodatkowo kompresji (zmniejszeniu objętości). Najczęściej stosowane programy to: WinRAR, WinZip, Filip.
  2. Bazy danych - programy przeznaczone do magazynowania dużej ilości danych w sposób trwały, przeglądania, modyfikowania, dodawania i usuwania danych oraz kontroli i ochrony przed błędnymi operacjami czy niedozwolonym dostępem. Bazy danych operują głównie na danych tekstowych i liczbowych, ale jest możliwe też przeprowadzani operacji na danych binarnych takich, jak muzyka czy grafika.

Dane są zazwyczaj przechowywane w postaci tabel i formularzy.

Przykładowe programy obsługujące bazy danych: Access (Microsoft Office), Base (Open Office), SQL, PostgreSQL, Oracle, etc.

  1. Języki programowania - stanowią narzędzie do tworzenia własnych aplikacji bądź modyfikacji już istniejących.

Wyróżniamy:

    1. Języki niskiego poziomu - zbliżone do kodu maszynowego tzn. są niemal bezpośrednio "zrozumiałe" dla komputera, przez co ich kompilacja nie jest tak skomplikowana jak dla języków wysokiego poziomu. Najbardziej znanym językiem niskiego poziomu jest Asembler.
    2. Języki wysokiego poziomu - ich składnia jest przyjazna dla programisty, natomiast niezrozumiała dla komputera, przez co proces kompilacji jest bardziej skomplikowany. Do tych języków zaliczamy: C, C++, C#, Java, PHP.
  1. Programy edukacyjne - wspomaganie procesu nauczania i nauki a nawet ich zastąpienie, alternatywa dla tradycyjnych metod uczenia się. Ich różnorodność sprzyja dotarciu do wielu użytkowników o indywidualnym podejściu do nauki. Do programów edukacyjnych należą: encyklopedie multimedialne, gry logiczne i strategiczne, testy, symulacje, etc,
  2. Programy do obliczeń naukowo - technicznych - m.in. Maple - rozwiązuje zaawansowane problemy matematyczne, Matlab - wykonywanie obliczeń naukowych i inżynierskich oraz tworzenie symulacji i wizualizacji, Derive - obliczenia symboliczne podparte dwu- i trójwymiarowym obrazowaniem, Gnuplot - tworzenie wykresów w 2 i 3 wymiarach.
  3. Programy specjalistyczne - przeznaczone dla różnych branż, wspomagające ich rozwój i zarządzające nimi, np. programy do projektowania domów, wnętrz i ogrodów, wspomagające biuro nieruchomości, gabinety lekarskie, giełdę, programy bankowe, finansowe, związane z księgowością itd.
  4. Programy związane z siecią:
    1. Poczta elektroniczna - aby możliwe była obsługa poczty elektronicznej potrzebny jest program serwerowy np. Sendmail, qmail, program do wysyłania i odbioru poczty, np. Microsoft Outlook, Netscape Messenger, KMail oraz skrzynka np. udostępniane przez portale: wp.pl, o2.pl, onet.pl, itd.
    2. Komunikatory - programy umożliwiające komunikację w sieci Internet drogą tekstową, głosową czy przez videokonferencję. Niektóre z nich łączą wszystkie 3 możliwości. Najpopularniejsze z nich to: gadu-gadu (mało stabilny), tlen.pl, konnekt, skype (komunikator głosowy), Jabber czy Kadu (pod Linuksem).
    3. Zdalny dostęp - umożliwia połączenie się klienta z serwerem za pomocą protokołu telnet czy szyfrowanego ssh na przykładzie PuTTY.
    4. Pobieranie i współdzielenie plików - polega to na wyszukiwaniu w sieci plików i znajdowanie do nich źródeł. Znane programy to: BitTorrent, eMule itd.
    5. Przeglądarki internetowe - programy zajmujące się obsługą dokumentów HTML, XHTML, XML, CSS technologii: JavaScript, PHP, Java, Macromedia Flash, ciasteczek (Cookies) czy plików multimedialnych (często za pomocą wtyczek). Do popularnych przeglądarek należą: Opera, Firefox, Konqueror czy IE (Internet Explorer).
  5. Programy związane z bezpieczeństwem:
    1. Programy antywirusowe - ich celem jest zarówno ochrona przed potencjalnymi atakami programów wirusowych, jak i wykrywanie, zwalczanie oraz usuwanie wirusów, które już znalazły się w komputerze. Programy te zazwyczaj zawierają co najmniej dwie opcje (różne nazewnictwo):
      • Skanowanie - badanie plików na obecność wirusów i innych zagrożeń; sprawdza w zależności od wybranej opcji: cały komputer, pocztę elektroniczną, konkretne dyski czy pliki, które wydają się nam podejrzane
      • Autodiagnostyka - można ją ustawić automatycznie przy starcie systemu, na bieżąco będzie sprawdzać ochronę komputera i wyświetlać komunikaty ostrzegawcze w razie jakiś nieprawidłowości

Do innych usług programów antywirusowych należą: ciągła aktualizacja nowych definicji wirusów, ochrona przed szkodliwym oprogramowaniem (z ang. malware), ochrona danych i prywatności użytkownika (sprawdzanie nieautoryzowanego dostępu), także zawierają zapory sieciowe. Do znanych programów należą: Kaspersky Anti-Virus, Panda Platinum, Norton AntiVirus.

  1. Zapory sieciowe (z ang. firewall) - większość programów antywirusowych w swoim pakiecie zawiera ten program. Służy on do zabezpieczania komputerów i sieci przed intruzami, tzn. blokuje dostęp do komputera, na którym jest zainstalowany przed niepożądanymi osobami, programami śledzącymi. Przykładowe firewalle: Sygate Personal Firewall, ZoneAlarm czy Norton Personal Firewall.
  2. Filtry antyspamowe - wykrywają, co jest spamem, czyli niechcianą pocztą i na tej podstawie filtrują przesyłane maile.
  3. Szyfrowanie - w celu ochrony danych, prywatności. Można szyfrować zarówno dyski, różnego rodzaju pliki na komputerze, jak wykorzystać do przesyłania informacji w sposób bezpieczny (szyfrowany transfer) np. korzystając z protokołu ssh.