• Artykuły
  • Forum
  • Ciekawostki
  • Encyklopedia
  • Semantyka - informatyka



    Podstrony: [1] 2 [3] [4] [5]
    Przeczytaj także...
    Perl – interpretowany język programowania autorstwa Larry’ego Walla początkowo przeznaczony głównie do pracy z danymi tekstowymi, obecnie używany do wielu innych zastosowań. Wzorowany na takich językach jak C, skryptowe: sed, awk i sh oraz na wielu innych.Interpreter – program komputerowy wykonujący inne programy. Jest kluczowym elementem znacznej części implementacji języków skryptowych oraz języków kompilowanych do kodu bajtowego.
    Przeznaczenie[ | edytuj kod]
    Memetyczna ewolucja niektórych języków programowania według deklaracji autorów lub oficjalnych specyfikacji

    Obecnie na świecie istnieją tysiące języków programowania i każdego roku powstają nowe. Od języków naturalnych odróżniają się wysoką precyzją oraz jednoznacznością. Człowiek podczas komunikacji między sobą stale popełnia niewielkie błędy lub pozostawia niedomówienia wiedząc, że drugi rozmówca najczęściej go zrozumie. Maszyny wykonują zadania dokładnie, dlatego każdą czynność trzeba opisać ściśle krok po kroku, ponieważ komputer nie potrafi dociec, co programista miał na myśli.

    Kod bajtowy (ang. bytecode) – nazwa reprezentacji kodu używanej przez maszyny wirtualne oraz przez niektóre kompilatory. Kod składa się z ciągu instrukcji (których kody operacji mają zwykle długość jednego bajta, stąd nazwa), które nie odpowiadają bezpośrednio instrukcjom procesora i mogą zawierać instrukcje wysokiego poziomu (takie jak np. stwórz obiekt klasy X, połącz dwa łańcuchy itd.), jednak w przeciwieństwie do kodu źródłowego wymagają analizy tylko pojedynczych poszczególnych operacji.Urządzenie wejścia-wyjścia, urządzenie we/wy, urządzenie I/O (ang. input/output device) służy do komunikacji systemu komputerowego z jego użytkownikiem lub innym systemem przetwarzania danych. Urządzenie wejścia-wyjścia służy często do zamiany wielkości fizycznych na dane przetwarzane przez system lub odwrotnie. Np. mysz komputerowa przetwarza ruch ręki, odbiornik GPS aktualne położenie geograficzne, a monitor komputera przetwarza dane komputerowe na obraz.

    Wiele języków zostało zaprojektowanych od zera, lecz powszechna jest praktyka rozwijania już istniejących rozwiązań oraz celowego upodabniania jednego języka do innego. Pozwala to na szybsze opanowanie nowego języka przez programistów mających już doświadczenie w tworzeniu aplikacji. Potrzeba istnienia wielu różnorodnych języków wynika z dużej liczby sytuacji, w których są one wykorzystywane – każda posiada pewne specyficzne wymagania:

    Wyrażenia regularne (ang. regular expressions, w skrócie regex lub regexp) – wzorce, które opisują łańcuchy symboli. Teoria wyrażeń regularnych jest związana z teorią języków regularnych. Wyrażenia regularne mogą określać zbiór pasujących łańcuchów, mogą również wyszczególniać istotne części łańcucha.Programowanie komputerów to proces projektowania, tworzenia, testowania i utrzymywania kodu źródłowego programów komputerowych lub urządzeń mikroprocesorowych (mikrokontrolery). Kod źródłowy jest napisany w języku programowania, z użyciem określonych reguł, może on być modyfikacją istniejącego programu lub czymś zupełnie nowym. Programowanie wymaga dużej wiedzy i doświadczenia w wielu różnych dziedzinach, jak projektowanie aplikacji, algorytmika, struktury danych, znajomość języków programowania i narzędzi programistycznych, wiedza nt. kompilatorów, czy sposób działania podzespołów komputera. W inżynierii oprogramowania, programowanie (implementacja) jest tylko jednym z etapów powstawania programu.
  • wielkość programów waha się od niedużych skryptów pisanych przez amatorów do potężnych aplikacji rozwijanych przez setki programistów
  • doświadczenie użytkowników waha się od nowicjuszy lub programistów okazjonalnych wymagających przede wszystkim prostoty, do ekspertów potrafiących zrobić użytek z oferowanych możliwości
  • tworzone programy muszą spełniać określone wymagania dotyczące szybkości, skalowalności oraz wielkości
  • istniejące języki mogą być zbyt rozbudowane do pewnych zadań
  • programy mogą nie zmieniać się z biegiem lat lub być poddawane stałym modyfikacjom
  • programiści mają różne gusta – każdy z nich ma swój ulubiony język, w którym pisze mu się najwygodniej.
  • Z tych powodów nie powiodły się do dziś próby stworzenia języka uniwersalnego.

    Gramatyka formalna – sposób opisu języka formalnego, czyli podzbioru zbioru wszystkich słów skończonej długości nad danym alfabetem.Komputer (z ang. computer od łac. computare – liczyć, sumować; dawne nazwy używane w Polsce: mózg elektronowy, elektroniczna maszyna cyfrowa, maszyna matematyczna) – maszyna elektroniczna przeznaczona do przetwarzania informacji, które da się zapisać w formie ciągu cyfr albo sygnału ciągłego.

    Obecnie panuje tendencja do tworzenia języków umożliwiających rozwiązywanie problemów na wyższym poziomie abstrakcji. Pierwsze języki programowania były mocno związane z konkretnym sprzętem. Z biegiem czasu wynalezione zostały nowe techniki tworzenia oprogramowania znacznie poprawiające przenośność oraz opracowane algorytmy pozwalające automatycznie realizować zadania, którymi dotąd musiał zajmować się programista. Skraca to czas tworzenia aplikacji i zmniejsza liczbę okazji do popełnienia błędu, lecz w niektórych sytuacjach odbija się to negatywnie na wydajności (np. język Java).

    C# (C Sharp, dosłownie "C-krzyżyk", "cis") – obiektowy język programowania zaprojektowany przez zespół pod kierunkiem Andersa Hejlsberga dla firmy Microsoft.PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.

    Elementy języka[ | edytuj kod]

    Kolorowanie składni jest często wykorzystywane w edytorach kodu do wizualnego różnicowania poszczególnych elementów składni, co ułatwia czytanie kodu. Na obrazku pokolorowany kod w języku Python.

    Postać programu wyrażona w języku programowania określana jest jako kod źródłowy. Na język programowania składa się kilka elementów:

    XML (ang. Extensible Markup Language, w wolnym tłumaczeniu Rozszerzalny Język Znaczników) – uniwersalny język formalny przeznaczony do reprezentowania różnych danych w strukturalizowany sposób.Struktura danych (ang. data structure) - sposób uporządkowania informacji w komputerze. Na strukturach danych operują algorytmy.

    Składnia[ | edytuj kod]

    Aby dany ciąg znaków mógł być rozpoznany jako program napisany w danym języku, musi spełniać pewne reguły, zwane składnią. Składnia opisuje:

  • rodzaje dostępnych symboli
  • zasady, według których symbole mogą być łączone w większe struktury.
  • Składnia najczęściej opisywana jest w formalnym zapisie będącym połączeniem wyrażeń regularnych oraz notacji BNF lub EBNF. Poniżej przedstawiony jest przykład prostej gramatyki wzorowanej na języku Lisp:

    wyrazenie ::= atom | lista
    atom ::= liczba | symbol
    liczba ::= [+-]?['0'-'9']+
    symbol ::= ['A'-'Z''a'-'z'].*
    lista ::= '(' wyrazenie*')'
    

    Zapis ten określa wygląd i budowę kolejnych symboli:

    W informatyce przepływ sterowania oznacza kolejność, w jakiej pojedyncze wyrażenia lub instrukcje są wykonywane w paradygmacie programowania imperatywnego. W języku programowania instrukcja przepływu sterowania może zmienić przepływ sterowania tak, aby wyrażenia wykonywane były w innej kolejności, niż ta, w jakiej są wypisane w kodzie źródłowym. Pojęcie przepływu danych jest prawie zawsze ograniczane do pojedynczego wątku aplikacji, ponieważ dotyczy ono wykonywania instrukcji po jednej naraz.Notacja Backusa-Naura (ang.) Backus-Naur Form, BNF – metoda zapisu reguł gramatyki bezkontekstowej – metoda definiowania języka formalnego.
  • wyrażeniem nazwiemy atom i listę
  • atomem nazwiemy każdą liczbę lub symbol
  • liczbą nazwiemy ciąg cyfr, który może zaczynać się opcjonalnie od znaku + lub
  • symbolem nazwiemy dowolną sekwencję dużych i małych liter alfabetu łacińskiego
  • listą nazwiemy parę nawiasów, w której może się znaleźć zero lub więcej wyrażeń.
  • Przykładowe ciągi, które spełniają podane reguły składni to: „12345”, „()”, „(a b c232 (1))”.

    Plik danych, plik komputerowy, zwykle krótko plik – uporządkowany zbiór danych o skończonej długości, posiadający szereg atrybutów i stanowiący dla użytkownika systemu operacyjnego całość. Nazwa pliku nie jest jego częścią, lecz jest przechowywana w systemie plików.Asembler (z ang. assembler) – termin informatyczny związany z programowaniem i tworzeniem kodu maszynowego dla procesorów. W języku polskim oznacza on program tworzący kod maszynowy na podstawie kodu źródłowego (tzw. asemblacja) wykonanego w niskopoziomowym języku programowania bazującym na podstawowych operacjach procesora zwanym językiem asemblera, popularnie nazywanym również asemblerem. W tym artykule język programowania nazywany będzie językiem asemblera, a program tłumaczący – asemblerem.

    Zauważmy, że na etapie przetwarzania składni w ogóle nie jest brane pod uwagę znaczenie poszczególnych symboli. W praktyce kod poprawny składniowo nie musi być poprawny semantycznie. Występuje tu analogia do języków naturalnych. Zdanie „Bźdźiągwy się mucioszą” jest poprawne pod względem gramatycznym, lecz nie posiada żadnego znaczenia, ponieważ zostały w nim użyte nieistniejące słowa.

    HTML (ang. HyperText Markup Language) – hipertekstowy język znaczników, obecnie szeroko wykorzystywany do tworzenia stron internetowych.Pamięć operacyjna (ang. internal memory, primary storage) – pamięć adresowana i dostępna bezpośrednio przez procesor, a nie przez urządzenia wejścia-wyjścia procesora. W pamięci tej mogą być umieszczane rozkazy (kody operacji) procesora (program) dostępne bezpośrednio przez procesor i stąd nazwa pamięć operacyjna. W Polsce często pamięć ta jest utożsamiana z pamięcią RAM, choć jest to zawężenie pojęcia, pamięcią operacyjną jest też pamięć nieulotna (ROM, EPROM i inne jej odmiany) dostępna bezpośrednio przez procesor, a dawniej używano pamięci o dostępie cyklicznym.

    Semantyka[ | edytuj kod]

    Semantyka języka programowania definiuje precyzyjnie znaczenie poszczególnych symboli oraz ich funkcję w programie. Semantykę najczęściej definiuje się słownie, ponieważ większość z jej zagadnień jest trudna lub wręcz niemożliwa do ujęcia w jakikolwiek formalizm. Część błędów semantycznych można wychwycić już w momencie wstępnego przetwarzania kodu programu, np. próbę odwołania się do nieistniejącej funkcji, lecz inne mogą ujawnić się dopiero w trakcie wykonywania.

    Język D – wieloparadygmatowy język programowania umożliwiający programowanie obiektowe, imperatywne oraz metaprogramowanie. Został opracowany przez Waltera Brighta, twórcę pierwszego natywnego kompilatora C++, Zortech C++. D powstał jako obiektowy następca języka C, jednak w przeciwieństwie do C++ zachowuje ze swoim poprzednikiem jedynie binarną kompatybilność. D posiada wiele cech obecnych w C++, a jego składnia oraz możliwości są wzorowane na Javie, C# oraz Eiffel. Pierwsza stabilna wersja języka ukazała się 2 stycznia 2007 roku. 17 czerwca 2007 roku opublikowano po raz pierwszy eksperymentalną wersję 2.0.Robot – mechaniczne urządzenie wykonujące automatycznie pewne zadania. Działanie robota może być sterowane przez człowieka, przez wprowadzony wcześniej program, bądź przez zbiór ogólnych reguł, które zostają przełożone na działanie robota przy pomocy technik sztucznej inteligencji. Roboty często zastępują człowieka przy monotonnych, złożonych z powtarzających się kroków czynnościach, które mogą wykonywać znacznie szybciej od ludzi. Domeną ich zastosowań są też te zadania, które są niebezpieczne dla człowieka, na przykład związane z manipulacją szkodliwymi dla zdrowia substancjami lub przebywaniem w nieprzyjaznym środowisku.

    Typy danych[ | edytuj kod]

    Każdy język operuje na jakimś zestawie danych, dlatego niezbędne jest podzielenie danych na odpowiednie typy, zdefiniowanie ich właściwości oraz operacji, jakie można na nich realizować. Większość języków posiada typy danych do reprezentowania:

  • liczb całkowitych w różnych zakresach
  • liczb zmiennoprzecinkowych (reprezentacje liczb rzeczywistych o różnym stopniu dokładności)
  • ciągów tekstowych.
  • Od strony sprzętowej wszystkie te informacje wyrażane są za pomocą sekwencji zer i jedynek. Język programowania nakłada jedynie odpowiednie ograniczenia i zasady ich przetwarzania. Zjawisko konwersji wartości jednego typu na inną nazywa się rzutowaniem.

    Visual Basic to język programowania wysokiego poziomu i narzędzie programowania firmy Microsoft. Składnia jest oparta na języku BASIC, ale unowocześniona. Zawiera kilkaset instrukcji, funkcji i słów kluczowych. Nie jest językiem w pełni obiektowym, gdyż nie udostępnia np. możliwości dziedziczenia, czy polimorfizmu. Wykorzystuje technologię ActiveX.Drukarka – urządzenie współpracujące z komputerem oraz innymi urządzeniami, służące do przenoszenia danego tekstu, obrazu na różne nośniki druku (papier, folia, płótno itp.). Niektóre drukarki potrafią również pracować bez komputera, np. drukować zdjęcia wykonane cyfrowym aparatem fotograficznym (po podłączeniu go do drukarki lub po włożeniu karty pamięci z zapisanymi zdjęciami do wbudowanego w drukarkę slotu).

    Biblioteki standardowe[ | edytuj kod]

    Dla większości języków zdefiniowana jest także biblioteka standardowa zawierająca podstawowy zestaw funkcji pozwalających realizować wszystkie najważniejsze operacje, np.:

  • obsługę wejścia-wyjścia
  • obsługę plików
  • obsługę wielowątkowości
  • zarządzanie pamięcią operacyjną
  • podstawowe typy danych oraz funkcje do zarządzania nimi
  • operacje na ciągach tekstowych.
  • Użytkownicy traktują bibliotekę standardową często jako część języka, lecz od strony twórców są to osobne twory. Przykładowo, programiści piszący w języku D mają do dyspozycji zarówno oficjalną bibliotekę Phobos, jak i alternatywny projekt Tango.

    Program komputerowy (ang. computer program) - sekwencja symboli opisująca obliczenia zgodnie z pewnymi regułami zwanymi językiem programowania. Program jest zazwyczaj wykonywany przez komputer (np. wyświetlenie strony internetowej), czasami bezpośrednio – jeśli wyrażony jest w języku zrozumiałym dla danej maszyny lub pośrednio – gdy jest interpretowany przez inny program (interpreter). Program może być ciągiem instrukcji opisujących modyfikacje stanu maszyny ale może również opisywać obliczenia w inny sposób (np. rachunek lambda).Library of Congress Control Number (LCCN) – numer nadawany elementom skatalogowanym przez Bibliotekę Kongresu wykorzystywany przez amerykańskie biblioteki do wyszukiwania rekordów bibliograficznych w bazach danych i zamawiania kart katalogowych w Bibliotece Kongresu lub u innych komercyjnych dostawców.

    Wykonywanie kodu[ | edytuj kod]

    Aby program napisany w danym języku mógł być wykonany, niezbędne jest odpowiednie przetworzenie jego kodu źródłowego:

  • kompilacjakod źródłowy jest tłumaczony do postaci języka maszynowego, czyli sekwencji elementarnych operacji gotowych do bezpośredniego przetworzenia przez procesor komputera. Jeżeli dany język programowania podlega kompilacji, określany jest mianem kompilowanego języka programowania
  • interpretacja – kod źródłowy jest na bieżąco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli język podlega interpretacji, nazywany jest interpretowanym językiem programowania.
  • Wykonanie polegające na kompilacji do kodu maszynowego zapewnia najwyższą wydajność programom, lecz wygenerowany kod jest ściśle powiązany z platformą sprzętową. Ponadto kompilowane języki są bardziej zbliżone do sposobu funkcjonowania sprzętu, przez co programowanie w nich jest trudniejsze. Języki interpretowane zapewniają większą przenośność programów, które często są niezależne od platformy i systemu operacyjnego. Aby programy wyrażone w języku interpretowanym można było uruchomić na innej platformie, wystarczy napisać dla niej interpreter. Jednak taki sposób wykonywania odbija się negatywnie na wydajności. Alternatywnym rozwiązaniem jest kompilacja programów do postaci pośredniej, tzw. kodu bajtowego. Jest ona wykonywana przez wirtualne maszyny tłumaczące elementarne rozkazy kodu bajtowego na rozkazy procesora.

    Definicja intuicyjna: Kod źródłowy to zapis programu komputerowego w formie czytelnej dla człowieka umożliwiający jego modyfikację i rozwój.Biblioteka standardowa to biblioteka zawierająca podstawowe funkcje, dostarczana wraz kompilatorem lub interpreterem danego języka programowania. Dla niektórych języków, np. ANSI C, istnieje formalna specyfikacja zawartości i działania biblioteki standardowej.


    Podstrony: [1] 2 [3] [4] [5]



    w oparciu o Wikipedię (licencja GFDL, CC-BY-SA 3.0, autorzy, historia, edycja)

    Warto wiedzieć że... beta

    JavaScript, JS – skryptowy język programowania, stworzony przez firmę Netscape, najczęściej stosowany na stronach internetowych. Pod koniec lat 90. XX wieku organizacja ECMA wydała na podstawie JavaScriptu standard języka skryptowego o nazwie ECMAScript. Głównym autorem JavaScriptu jest Brendan Eich.
    Język formalny – jest to podzbiór zbioru wszystkich słów nad skończonym alfabetem. Język formalny jest kluczowym pojęciem w informatyce, logice matematycznej i językoznawstwie. Język formalny nie jest uściśleniem pojęcia języka naturalnego i nie powinien być z nim mylony.
    GNU R to język programowania i środowisko do obliczeń statystycznych i wizualizacji wyników. Jest to projekt GNU podobny do języka i środowiska S stworzonego w Bell Laboratories (dawniejsze AT&T, obecnie Lucent Technologies) przez Johna Chambersa i jego współpracowników. R jako implementacja języka S została stworzona przez Roberta Gentlemana i Rossa Ihakę na uniwersytecie w Auckland . Nazwa pochodzi od pierwszych liter imion twórców oraz jest nawiązaniem do języka S. W tej chwili GNU R rozprowadzany jest w postaci kodu źródłowego oraz w postaci binarnej wraz z wieloma dystrybucjami Linuksa. Dostępna jest także wersja dla Microsoft Windows i Mac OS.
    Rozszerzona notacja Backusa-Naura (ang. Extended Backus-Naur Form) jest sposobem wyrażenia gramatyki bezkontekstowej, czyli opisem języków formalnych. Jest rozszerzeniem notacji BNF.
    Ruby to interpretowany, w pełni obiektowy i dynamicznie typowany język programowania stworzony w 1995 roku przez Yukihiro Matsumoto (pseudonim Matz). W języku angielskim ruby oznacza rubin.
    Procesor (ang. processor), także CPU (ang. Central Processing Unit) – urządzenie cyfrowe sekwencyjne, które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy. Wykonuje on ciąg prostych operacji (rozkazów) wybranych ze zbioru operacji podstawowych określonych zazwyczaj przez producenta procesora jako lista rozkazów procesora.
    Hardware Description Language, HDL (ang.) – język opisu sprzętu, wykorzystywany do opisu układów cyfrowych w technice cyfrowej.

    Reklama

    Czas generowania strony: 0.024 sek.