Systemy, aplikacje, czy gry video to efekt finalny długiego procesu, jakim jest tworzenie oprogramowania. Analizy, badania, modyfikacje, kolejne testy, zmiany koncepcji to tylko kilka typowych etapów, z jakim wiąże się programowanie. Samo tworzenie oprogramowania dzieli się zaś na sześć głównych kategorii.

Tworzenie aplikacji mobilnych

Co oczywiste aplikacje mobilne są dedykowane telefonom oraz tabletom. Tworzy się je chociażby z wykorzystaniem JavaScript i udostępnia na takich platformach jak Google Play oraz App Store. Tworzenie oprogramowania pod postacią aplikacji wymaga uwzględnienia różnej specyfikacji urządzeń, a zwłaszcza różnic dotyczących wielkości ekranu.

Od lat znaczenie aplikacji mobilnych wzrasta, a ich zastosowanie się rozszerza.  Niektóre aplikacje (np. bankowe) służą praktycznym celom. Wiele z nich tworzonych jest jednak po to, by dostarczać rozrywki. Przykładowo przez aplikację można grać w gry automaty, czy też obstawiać sportowe zakłady bukmacherskie.

Dane dowodzą, że tworzenie aplikacji mobilnych bywa wysoce dochodowym zajęciem, wymagającym relatywnie niewielkich nakładów finansowych. Stworzenie aplikacji jest znacznie prostsze i szybsze niż gier komputerowych. Dochody są zaś czerpane np. z mikropłatności oraz reklam.

Inżynieria oprogramowania

Pojęcie inżynierii oprogramowania ma szerokie znacznie. Obejmuje ono wszystkie aspekty związane z tworzeniem i rozwojem oprogramowania. W mowie potocznej zdarza się kratować inżynierie oprogramowania jako synonim informatyki. Podobnie z resztą wielu ludzi nie widzi różnicy pomiędzy informatykiem a programistą.

Warto więc wiedzieć, że informatyka skupia się na tym, jak działają komputery. Tymczasem inżynieria oprogramowania jest szerszym pojęciem. Obejmuje ona cały proces tworzenie oprogramowania, włączając planowanie, testy, wdrażanie i modyfikowanie. Celem inżynierii jest tworzenie oprogramowania, które ma spełniać konkretne cele.

Przyjmuje się też kilka fundamentalnych dla inżynierii zasad. Po pierwsze oprogramowanie powinno być efektywne, czyli wykorzystywać dokładnie tyle zasobów sprzętowych, ile jest konieczne. Po drugie, dobre oprogramowanie powinno być intuicyjne i dopasowane pod potrzeby użytkowników. Zasadą przyświecającą inżynierii oprogramowania jest też rozwojowość. Programy powinno być edytowalne, tak by stale można je było dopasowywać do ciągle zmieniających się wymagań i preferencji użytkowników.

Programowanie komputerów

Komputer jest urządzeniem stworzonym do przetwarzania informacji. By sprzęt mógł spełnić swoje zadanie, konieczne jest jego zaprogramowanie. Programowanie komputerowe polega więc na pisaniu swoistych instrukcji, które następnie są interpretowane przez komputer i prowadzą do wykonania konkretnych zadań.

Programowanie komputerów jest realizowane na podstawie jednego z języków programowania. Programiści do tego celu mogą używać między innymi C, C++, Visual Basic, Java, Delphi, PHP, czy Python. Dla programowania komputerów duże znacznie ma debugowanie. Polega ono na eliminacji błędów.

Tworzenie stron internetowych (web development)

Początki stron internetowych sięgają 1991 roku. Wtedy to stworzono prymitywną (patrząc z dzisiejszej perspektywy) stronę WWW, czyli World Wide Web. Po roku łącznie na świecie działało kilkanaście stron, a w 1994 roku był ich już kilka tysięcy. Obecnie naliczyć można miliardy stron internetowych, choć tylko część z nich jest aktywna.

Sam web development dzieli się na dwie kategorie. Podstawą działania strony jest Back End, czyli wszystko to, co dzieje się w tle. Z kolei Front End to widoczna (a czasem słyszalna) część strony, z którą Internauta wchodzi w interakcję. Back End wykorzystuje chociażby Javę i PHP. Z kolei do Front Endu używa się zwałszcza HTML, CSS oraz JavaScript.

Tworzenie aplikacji internetowych (webowych)

Wykonując aplikację internetową, celem jest stworzenie komputerowego programu pracującego na serwerze. Ten program za pośrednictwem sieci komputerowej komunikuje się z hostem komputera. Cały proces przebiega za pośrednictwem przeglądarki internetowej, takie jak Google Chrome, Opera, czy Mozilla Firefox. Za przykład aplikacji webowej można podać system dokonywania zakupów w sklepach internetowych.

Początki rozwoju aplikacji internetowych sięgają przełomu XX i XXI wieku. Wtedy to coraz szerzej wykorzystywano HTML oraz PHP. Nieco później szybki rozwój zanotowała technologia JavaScript. To właśnie ona pozwoliła na stworzenie bardziej rozbudowanych i funkcjonalnych stron, gdzie użytkownik uzyskał dodatkowe możliwości interakcji.

Tworzenie gier video

Pierwszą grę komputerową stworzono już kilka lat po II wojnie światowej, a bazowała ona na zasadach popularnej gry w kółko i krzyżyk. Rozwój gier przebiegał stopniowo wraz z pojawieniem się kolejnych możliwości, takich jak np. szansą projektowania gier 3D. Dziś zawód projektanta gier, którego początki wiążą się z Japonią, jest uważany za prestiżowy. Wszakże wielu specjalistów IT programowaniem zaczęło się interesować podczas grania w gry video.

Sam proces tworzenia gier video dzieli się na kilka etapów. Na samym początku pojawia się pomysł  i koncepcja produktu finalnego. Na etapie przedprodukcyjnym projektuje się poszczególne elementy świata gry i tworzy harmonogram prac.

W fazie produkcji pisany jest kod źródłowy regulujący działanie całej gry. Ten etap jest też czasem przygotowania oprawy graficznej i dźwiękowej. Wtedy to następują pierwsze testy. Testerzy oceniają poszczególne elementy gry i znajdują błędy. Umożliwia to stopniowe optymalizowanie kodu. Często w testach uczestniczą nie tylko osoby bezpośrednio zaangażowane w projekt, ale też ochotnicy, czyli po prostu gracze.

Na samym końcu gra zostaje wydana i trafia do sprzedaży. Nie jest to jednak koniec pracy. Programiści dalej pracują nad optymalizacją, eliminowaniem błędów i poprawą wydajności. Wynika to z tego, że niektóre błędy i problemy są zauważone dopiero przez użytkowników końcowych.