Spis treści

Informatyczna Wieża Babel, czyli o różnych językach programowania

Wstęp

Aplikacje i programy, jakich dziś używamy, ukryte dla nas pod postacią miłej dla oka ikonki, zawierają tysiące linii kodu.

Wszystkie programy, którymi się dziś posługujemy, napisano w jednym z wielu języków programowania.

Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe.

Języki programowania odróżniają się od języków naturalnych większą dokładnością oraz jednoznacznością.

Komputer nie wie, co programista miał na myśli. Nie ma czasu ani miejsca na niedomówienia.

Wiele języków programowania zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodobniania jednego języka do drugiego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji.

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

Nauczysz się

1. zasad, jakie obowiązują w językach programowania.

Cele edukacyjne zgodne z etapem kształcenia

1. dokonuje podziału języków programowania;

2. wymienia najbardziej popularne języki programowania;

3. charakteryzuje wybrane języki programowania: HTML, PHP, Java, Python, C++;

4. omawia tendencje w rozwoju informatyki.

INFORMATYCZNA WIEŻA BABEL, CZYLI O RÓŻNYCH JĘZYKACH PROGRAMOWANIA - audiobook

Rozdziały audiobooka:

1. Początki programowania

2. Składnie i instrukcje

3. Podsumowanie

Notatka dla prowadzącego

Wskazówka

Podczas odsłuchiwania audiobooka, zwróć uwagę na najważniejsze osoby, które miały wpływ na programowanie.

Postaraj się zapamiętać, z czego składa się język programowania.

Audiobook można wysłuchać pod adresem: file:///tmp/puppeteerAUTRBm.html

Informatyczna Wieża Babel, czyli o różnych językach programowania

Rozdział 1

Początki programowania

Materiał przedstawia lekcję informatyki, podczas której mowa jest o ważnych postaciach i wydarzeniach z historii informatyki i programowania.

— Drodzy uczniowie. Za 2 miesiące odbędzie się szkolny konkurs informatyczny „Lovelace w Szkole”. Czy komuś coś mówi to nazwisko?

— Ada Lovelace to brytyjska matematyczka i poetka. Uważana jest za pierwszą programistkę w historii. Napisała w 1842 roku algorytm dla maszyny analitycznej Charlesa Babbage’a. Ten algorytm uznany został jako pierwszy program komputerowy. W latach 70. XX wieku opracowano język programowania Ada – od postaci Lovelace właśnie. Natomiast nagroda Ada Award przyznawana jest dziewczętom i kobietom za wybitne osiągnięcia w sektorach cyfrowych.

— Doskonale! Włączę wam teraz film o ważnych faktach z historii informatyki. Z osobami zainteresowanymi konkursem porozmawiam pod koniec lekcji.

— Niezwykle ważnym wydarzeniem w historii informatyki było powstanie maszyny Turinga w 1936 roku. Jej twórcą był brytyjski matematyk Alan Turing. To proste urządzenie algorytmiczne jest na tyle silne, że pozwala na wykonanie nawet najbardziej złożonych algorytmów. Oczywiście jest bardzo proste w porównaniu z dzisiejszymi komputerami i językami programowania.

W połowie XX wieku kolejnym ważnym wydarzeniem było stworzenie komputera ENIAC, czyli Elektronicznego Numerycznego Integratora i Komputera, przez Johna Eckerta i Johna Mauchly’ego. Maszyna używana była głównie do obliczeń związanych z balistyką, w programie rozwoju broni jądrowej, prognozowania pogody, projektowania tuneli aerodynamicznych i w badaniach promieniowania kosmicznego.

Początkowo tworzone były programy w niskopoziomowym języku programowania, bezpośrednio w kodzie maszynowym danego komputera, poprzez operacje na sekwencjach liczb. Dopiero w 1956 roku zaakceptowano projekt pierwszego tzw. języka wysokiego poziomu, Konrada Zuse niemieckiego inżyniera, konstruktora i pioniera informatyki. Wydano podręcznik języka Fortran. Pierwotnie zaprojektowany był on do zapisu programów obliczeniowych. Obecnie nadal jest rozwijanym językiem ogólnego przeznaczenia. Stosuje się go m.in. w obliczeniach naukowo-inżynierskich, numerycznych, symulacjach komputerowych.

Rozdział 2

Składnie i instrukcje

Materiał przedstawia rozmowę brata z siostrą o językach programowania.

— Cześć, co robisz?

— Piszę program komputerowy na konkurs szkolny.

— Pokażesz mi, co masz?

— A zrozumiesz coś z tego?

— Jeśli mi wytłumaczysz, to powinienem.

— Do napisania programu komputerowego potrzebny jest język programowania. Języki programowania składają się ze zbioru instrukcji, w tym słów kluczowych, oraz odpowiednich zasad składni i odpowiedniego słownictwa. Instrukcje w językach programowania określają takie czynności, jak: wprowadzanie danych, wyprowadzanie wyników, wykonywanie obliczeń, określanie warunków, czy realizacja powtórzeń. Ich postać jest zazwyczaj inna dla różnych języków. Inne są też konkretne zasady składni, ale ogólne zasady działania instrukcji są podobne.

— A są jakieś zasady, o których trzeba pamiętać niezależnie od stosowanego języka programowania?

— Jasne. Po pierwsze, język programowania jest językiem formalnym, czyli podlega jednoznacznym regułom. Po drugie, postać instrukcji musi być bardzo precyzyjna, czyli zgodna z zasadami składni. Nie może zabraknąć nawet jednego znaku. Po trzecie, kolejność zapisywania instrukcji powinna odpowiadać kolejności operacji realizujących dany algorytm. Każdy program jest bowiem wykonywany zgodnie z zapisem.

— A co to jest algorytm?

— Języki programowania tworzą programy, a programy są zapisem algorytmów. Algorytm to ciąg zdefiniowanych czynności niezbędnych do rozwiązania problemu lub wykonania określonego zadania. Algorytm za pomocą konkretnego języka programowania zapisywany jest w postaci programu komputerowego, który jest realizowany przez komputer. Rozumiesz?

— No powiedzmy…

Rozdział 3

Podsumowanie

Agnieszka podsumowuje rozmowę z bratem na temat języków programowania.

— A ile jest tych języków komputerowych?

— Bardzo dużo! Możemy je podzielić na przykład ze względu na poziom języka programowania, sposób wykonania, czy przeznaczenie efektów pracy. Najbardziej popularnymi językami komputerowymi są HTML, PHP, Java, Python i C++.

— Do czego są wykorzystywane?

— Do tworzenia prostszych stron internetowych używany jest HTML. Do aplikacji internetowych używany jest JAVA, PHP i Python. W aplikacjach komputerowych jest C++, Java i Python. Przy przetwarzaniu tekstu znowu pojawia się Python. Aplikacje na urządzenia mobilne i gry komputerowe to C++ i JAVA.

— Dużo tego… Trudno to zapamiętać.

— A to i tak zaledwie kilka języków programowania!

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

Polecenie 1

Znamy i kojarzymy Adę Lovelace - pierwsza programistkę. Czy zastanawiałeś/aś się ile kobiet miało wpływ na programowanie? Czy znasz kobiety, które na co dzień zajmują się programowaniem?

Polecenie 2

Pomyśl, ile znasz języków programowania. Czy kojarzysz do czego służą? Poszukaj w Internecie informacji na temat podziału i klasyfikacji języków programowania.

Podsumowanie

„Nauka pisania programów to gimnastyka dla mózgu. Pozwala wypracować umiejętność efektywnego myślenia o rzeczach niezwiązanych z informatyką.” – słowa te wypowiedział Bill Gates.

W dzisiejszych czasach komputery zdominowały prawie każdą dziedzinę życia, a programowanie staje się jedną z kluczowych umiejętności.

Niech ta lekcja będzie dla Was początkiem Waszej przygody z programowaniem.

Kilka ważnych informacji na koniec:

Język programowania = zasady składni + instrukcje

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

1. Język programowania jest językiem formalnym, czyli podlega jednoznacznym regułom.

2. Postać instrukcji, w tym słów kluczowych, musi być bardzo precyzyjna - zgodna z zasadami składni. W programie nie może zabraknąć ani jednego znaku.

3. Program jest wykonywany zgodnie z zapisem: kolejność zapisywania instrukcji powinna odpowiadać kolejności operacji realizujących dany algorytm.

Języki programowania można podzielić ze względu na:

1. Poziom języka programowania:

1. języki niskiego poziomu (poziom maszynowy),. np Assemblery;

2. języki wysokiego poziomu, języki uniwersalne służące do rozwiązywania szerokiego zakresu problemów (Pascal, C, Logo, Basic, itd.);

3. języki zorientowane problemowo, nastawione na wąski zakres problemów (HTML, PHP, VBA, dBase).

2. Paradygmat programowania - wzorzec programowania:

1. liniowe - BASIC, Fortran;

2. strukturalne - Pascal, C;

3. zdarzeniowe - Visual Basic;

4. obiektowe - C++, Object Pascal, Java.

3. Sposób wykonania:

1. kompilacja - kod źródłowy tłumaczony jest do języka maszynowego, tak aby był gotowy do bezpośredniego przetworzenia przez procesor komputera;

2. interpretacja - kod źródłowy na bieżąco jest tłumaczony i wykonywany przez program zwany interpreterem.

4. Języki niestrukturalne, strukturalne, obiektowe:

1. języki niestrukturalne - FORTH, BASIC;

2. języki strukturalne (program budowany jest z mniejszych elementów: procedur, funkcji itp.), np. Pascal, C, FORTRAN;

3. języki obiektowe (program składa się z obiektów, które posiadają właściwości i potrafią wykonywać operacje), np. C++, Java - języki zorientowane obiektowo.

5. Generację języków programowania:

1. języki pierwszej generacji - języki maszynowe, czyli języki procesorów; instrukcje zapisane są w postaci liczb binarnych; przykładowy kod programu:

11101010000000000000111111111111111110001001110 1100000000010100000001

2. języki drugiej generacji - języki symboliczne, asemblery. Języki niskiego poziomu, pod względem składni tożsame z maszynowymi; przykładowy kod programu:

jmp ffff:0

movax, bx

add ax, 1

3. języki trzeciej generacji - języki wysokiego poziomu, proceduralne (imperatywne); w tych językach jedna instrukcja jest tłumaczona na kilka instrukcji procesora; do tej grupy należą między innymi: FORTH, BASIC - języki niestrukturalne, Pascal, C, FORTRAN - języki strukturalne, C++, Java - języki zorientowane obiektowo; przykładowy kod programu:

If(!x)

{

printf("Nie wolno dzielić przez zero\n");

return 1;

}

4. języki czwartej generacji - języki bardzo wysokiego poziomu, nieproceduralne (deklaratywne); korzystając z tych języków programista skupia się na problemie, a nie na sposobie jego rozwiązania; przykład - język SQL; przykładowy kod programu:

SELECT Towar FROM "Faktura" WHERE Cena>=500

5. języki piątej generacji - języki sztucznej inteligencji, najbardziej zbliżone do języka naturalnego; przykład - język PROLOG.

6. Języki wewnętrzne i zewnętrzne

1. języki wewnętrzne (binarne lub asemblery),

2. języki zewnętrzne (FORTRAN, COBOL, PASCAL, C, BASIC, CLIPPER …).

7. Przeznaczenie efektów pracy

1. tworzenie aplikacji internetowych - Java, JavaScript, PHP, Ruby, Python, Asp.Net;

2. dostęp do baz danych – SQL;

3. obliczenia matematyczne – Fortran;

4. dydaktyczne – LOGO;

5. inne (uniwersalne) - Pascal, C/C++;

6. programowanie wizualne - Visual C, Visual Basic, Delphi;

7. tworzenie aplikacji komputerowych - C, C++, C#, Java, Python, Visual Basic;

8. przetwarzanie tekstu - PERL, REXX, Python;

9. programowanie sztucznej inteligencji - LISP, Prolog;

10. programowanie grafiki – OpenGL;

11. tworzenie aplikacji na urządzenia mobilne: C/C++/C#, Objective-C, Java, HTML5;

12. tworzenie prostszych w wykonaniu stron internetowych: HTML, JavaScript, CSS;

13. tworzenie gier komputerowych: C/C++/C#, Java.

Praca domowa

Polecenie 3.1

Wypisz języki programowania służące do:

1. tworzenia gier komputerowych,

2. tworzenia aplikacji komputerowych,

3. tworzenia aplikacji na urządzenia mobilne,

4. tworzenia stron internetowych,

5. obliczeń matematycznych,

6. programowania sztucznej inteligencji

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

W szarym prostokącie pokazana jest strzałka w dół symbolizująca pobieranie plików i napis „Pobierz załącznik”. Jest to przycisk umożliwiający pobranie pliku z zawartością pracy domowej i zapisanie go na dysku lokalnym.

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

Zadania

Ćwiczenie 1

Zaznacz czy informacja jest prawdziwa czy fałszywa.

Prawda

Fałsz

Za pierwszą programistkę w historii uważa się Adę Lovelace.

Ada Lovelace była lwowską chemiczką.

Od imienia Ady Lovelace powstała pierwsza na świecie gra komputerowa.

Pierwszą osobą, która stworzyła i uruchomiła program na komputerze był Konrad Zuse.

Maszynę Turinga stworzono w 1963 r.

Konrad Zuse, był niemieckim inżynierem, konstruktorem i pionierem informatyki.

Pierwszy komputer osobisty powstał w I poł. XX wieku.

Komputer ENIAC był używany m.in. do obliczeń związanych z balistyką, wytwarzaniem broni jądrowej.

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

Ćwiczenie 2

Uzupełnij luki w tekście podanymi słowami.

Do napisania programu komputerowego potrzebny jest     . Języki programowania składają się ze     , w tym     , oraz odpowiednich zasad składni i odpowiedniego słownictwa.     w językach programowania określają takie czynności jak     danych,     wyników, wykonywanie obliczeń, określanie warunków, czy realizacja powtórzeń. Ich postać jest zazwyczaj inna dla różnych języków. Inne są też konkretne zasady składni, ale ogólne zasady działania instrukcji są podobne. Język programowania jest językiem     czyli podlega     regułom. Postać instrukcji musi być bardzo precyzyjna, czyli zgodna z zasadami składni. Nie może zabraknąć ani jednego znaku. Kolejność zapisywania instrukcji powinna odpowiadać kolejności operacji realizujących dany algorytm. Każdy program jest bowiem wykonywany zgodnie z zapisem.

formalnym     wprowadzanie     język programowania     zbioru instrukcji     wyprowadzanie     jednoznacznym     Instrukcje     słów kluczowych

Źródło: Eduexpert Sp. z o.o. / Evaco Sp. z o.o., licencja: CC BY 3.0.

Słowniczek

Ada Lovelace

brytyjska matematyczka i poetka, uważana za pierwszą programistkę w historii. W 1842 r. napisała program komputerowy dla maszyny analitycznej Charlesa Babbage’a.

ENIAC

ENIAC, czyli Elektroniczny Numeryczny Integrator i Komputer (poł. XX w.) stworzony przez Johna Eckerta i Johna Mauchly’ego.

Maszyna używana do obliczeń związanych z balistyką, wytwarzaniem broni jądrowej, prognozowaniem pogody, projektowaniem tuneli aerodynamicznych i badaniem promieniowania kosmicznego.

Język programowania

zbiór zasad określających, kiedy ciąg symboli tworzy program komputerowy oraz jakie obliczenia opisuje.

https://pl.wikipedia.org/wiki/J%C4%99zyk_programowania

Maszyna Turinga

maszynę tę wymyślił w 1936r. brytyjski matematyk Alan M. Turing. Urządzenie algorytmiczne, które pozwala na wykonanie złożonych algorytmów, abstrakcyjny model komputera.

Niskopoziomowy język programowania

język programowania umożliwiający zapis rozkazów maszynowych za pomocą stosunkowo prostych oznaczeń symbolicznych.

https://pl.wikipedia.org/wiki/J%C4%99zyk_niskiego_poziomu

Table of Contents

INFORMATYCZNA WIEŻA BABEL, CZYLI O RÓŻNYCH JĘZYKACH PROGRAMOWANIA - audiobook