Ze względu na rozmiar projektu i charakter pracy programowanie dzielimy na:
indywidualne, zespołowe, interaktywne
W systemach równoległych i rozproszonych, w których występuje wiele komputerów/procesorów/wątków biorących udział w obliczeniach, wyróżniamy rodzaje programowania:
równoległe, współbieżne, wielowątkowe, rozproszone
Ze względu sposób podejścia do hierarchii projektu programistycznego wyróżniamy programowanie :
modularne,
zstępujące=analityczne (top-down) i wstępujące=syntetyczne (down-top)