Historia programowania

Pojęcia informatyki

Pritesh Patel

Computer Scientist & Data Scientist for over 20 years

Wprowadzenie do języków programowania

Animacja przedstawiająca kompilację pętli for do kodu binarnego

  • Cel: Przekazywanie instrukcji do komputera.
  • Ogólnie
    • Języki wysokiego poziomu: łatwe do czytania i pisania przez ludzi.
    • Języki niskiego poziomu: zbliżone do kodu maszynowego, trudniejsze do odczytania, ale dające większą kontrolę.
  • Wysoki poziom

    • Logo języka programowania Java
  • Niski poziom

    • Logo języka programowania C
    • Logo języka programowania Forth
Pojęcia informatyki

Programowanie funkcyjne, proceduralne i niskopoziomowe

  • Programowanie funkcyjne
    • Funkcje matematyczne (funkcje czyste – np. posprzątanie biurka)
    • Niezmienność (brak efektów ubocznych – np. brak zmian w szafce na dokumenty)
  • Programowanie proceduralne
    • Sekwencja poleceń (instrukcje krok po kroku – np. posprzątanie biurka, przeniesienie pliku do szafki)
    • Zmienne dane (efekty uboczne – np. nowe pliki w szafce lub podpisanie dokumentu)
  • Programowanie niskopoziomowe
    • Dostęp do wewnętrznych mechanizmów (manipulacja sprzętem – np. zmiana termostatu w biurze)
    • Niezmienność (efekty uboczne – np. termostat, rozmieszczenie plików w szafce)
  • Przykłady
    • Funkcyjne: (Lisp, Scheme)
    • Proceduralne: (Python, Java)
    • Niskopoziomowe: (C, Assembly)
Pojęcia informatyki

Ewolucja języków programowania

Animacja przedstawiająca etapy rozwoju programowania w czasie

Przykłady:

  • LLM (duże modele językowe):GPT-4, Claude-3, Google Gemini
  • Języki wysokiego poziomu:Python, Java, Cobol, Javascript
  • Języki asemblera:x86, ARM
  • Język maszynowy:binary
  • Sprzęt: Brak programowania – to rdzeń sprzętowy wykonujący pracę
Pojęcia informatyki

Paradygmaty programowania

Zrzut ekranu przedstawiający powiązany kurs o paradygmatach programowania

Pojęcia informatyki

Czas na ćwiczenia!

Pojęcia informatyki

Preparing Video For Download...