Co i jak?

Spis treści Poprzednia strona: Wstęp Następna strona: Kim jest programista?

Celem programowania jest „ożywianie maszyn”, czyli wykorzystanie sprzętu komputerowego (i ogólnie elektronicznego) w celu rozwiązywania konkretnych problemów, ponieważ są one dla ludzi albo zbyt złożone, albo zbyt czasochłonne. Dla rozwiązywania prostych problemów nie należy w ogóle siadać do komputera. Programowaniem zajmują się programiści. Celem tego kursu jest zrobienie z Ciebie programisty(-stki). Aby pomóc Ci lepiej się wczuć w tę rolę, będę często pisał w liczbie mnogiej „my programiści” 🙂

Sposób w jaki programujemy zależy od odpowiedzi na trzy podstawowe pytania:

  1. Co chcemy osiągnąć (jaki problem rozwiązać)?
  2. Jak chcemy to osiągnąć (jaki algorytm zastosować)?
  3. Jakim dysponujemy sprzętem komputerowym?

Rozwój technologii zmierza w kierunku uniezależnienia się od odpowiedzi na pytania 2 i 3 oraz na skoncentrowaniu się na pytaniu 1. Programowanie jest podobne do architektury: jest jednocześnie inżynierią i sztuką. Z tego powodu nie każdy nadaje się na programistę, przynajmniej na razie, kiedy technologia nie pozwala całkowicie pozbyć się odpowiedzi na pytania 2 i 3. Sztuka przejawia się w innowacyjności i prostocie rozwiązań skomplikowanych problemów. Informatyka jest nauką eksperymentalną i bazuje na odkryciach. Niektóre rozwiązania się przyjmują, a inne odchodzą w zapomnienie. Historia programowania jest mocno związana z historią języków programowania, poziomem ich abstrakcji i ich możliwościami. W celu klasyfikacji języków programowania ze względu na poziom abstrakcji wyróżnia się różne generacje języków programowania:

  • 0GL – poziom sygnałów elektrycznych
  • 1GL – kod maszynowy
  • 2GL – assembler
  • 3GL – języki ogólnego przeznaczenia (C, C++, C#, Java, VB, Object Pascal)
  • 4GL – języki wyspecjalizowane (SQL, HTML, XML, XSLT, CSS, YACC)
  • 5GL – języki deklaratywne do rozwiązywania problemów (zwykle optymalizacyjnych) zadanych wyłącznie przez warunki brzegowe (Prolog, języki sztucznej inteligencji oparte o język Lisp)

Ponieważ język C# należy do grupy 3GL, tą grupą będziemy się w tym kursie zajmować i zwracać uwagę na elementy 4GL i 5GL, które pojawiają się od czasu do czasu w językach 3GL.

Spis treści Poprzednia strona: Wstęp Następna strona: Kim jest programista?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *