Typowanie dynamiczne

Z Wikipedii, wolnej encyklopedii
Przejdź do nawigacji Przejdź do wyszukiwania

Typowanie dynamiczne to przypisywanie typów do wartości przechowywanych w zmiennych w trakcie działania programu. Przy zastosowaniu typowania dynamicznego, zmienne nie posiadają typów przypisanych statycznie, czyli przed uruchomieniem programu np. w trakcie kompilacji. W takiej sytuacji typ zmiennej wynika z wartości jaką dana zmienna przechowuje. Jest to jeden ze sposobów na zwolnienie programisty z obowiązku deklarowania typów zmiennych. Ułatwia to operacje na zmiennych, utrudnia natomiast kontrolę integralności programu. Zmienna może w różnych momentach wykonania programu przechowywać wartości różnych typów.

PHP – obiektowy język programowania zaprojektowany do generowania stron internetowych i budowania aplikacji webowych w czasie rzeczywistym.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.

Przykład[ | edytuj kod]

Poniższy przykład w PHP pokazuje, że zmienna $a w zależności od wyniku losowania może zawierać albo liczbę, albo napis.

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.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.
$chceszNapis=rand(0,1);
if ($chceszNapis)
   $a = "ala";
else
   $a = 4;
var_dump($a);

Języki stosujące dynamiczne typowanie[ | edytuj kod]

  • Lisp
  • Perl
  • Python
  • MATLAB
  • R
  • PHP
  • Ruby
  • Erlang
  • Tcl
  • JavaScript
  • OZ
  • Smalltalk
  • Lua
  • Clojure
  • Zobacz też[ | edytuj kod]

  • Typowanie statyczne
  • MATLAB – program komputerowy będący interaktywnym środowiskiem do wykonywania obliczeń naukowych i inżynierskich, oraz do tworzenia symulacji komputerowych.Typowanie statyczne – nadawanie typów zmiennym w czasie kompilacji programu, poprzez deklaracje tych typów lub ich inferencje.




    Warto wiedzieć że... beta

    Smalltalk jest w pełni obiektowym, reflektywnym językiem programowania z dynamicznym typowaniem. Umożliwia to w praktyce zupełnie inny sposób programowania od tego, do jakiego są przyzwyczajeni programiści używający współczesnych języków obiektowych (np. Java), które rozwinęły się z wcześniejszych języków proceduralnych takich jak C, czy Pascal.
    Python – język programowania wysokiego poziomu ogólnego przeznaczenia i rozbudowanym pakiecie bibliotek standardowych, którego ideą przewodnią jest czytelność i klarowność kodu źródłowego. Jego składnia cechuje się przejrzystością i zwięzłością.
    Erlang jest językiem programowania zaprojektowanym z myślą o zastosowaniach współbieżnych, a także środowiskiem uruchomieniowym dla aplikacji w nim napisanych. Sekwencyjny podzbiór Erlanga jest językiem funkcyjnym z wartościowaniem zachłannym, jednokrotnym przypisaniem oraz dynamicznym typowaniem. Część współbieżna bazuje na teoretycznym modelu znanym jako Actor model. Język został zaprojektowany pod kątem tworzenia rozproszonych systemów wymagających długotrwałej pracy oraz odporności na awarie. Obsługuje mechanizm hot-swappingu pozwalający na aktualizację kodu aplikacji bez jej zatrzymywania.
    Tcl (Tool Command Language) – język skryptowy o składni częściowo podobnej do języków skryptowych powłok, oraz częściowo do Lispu. Jest znany z pakietu Tk (Tk Toolkit), który pozwala na pisanie przenośnych graficznych interfejsów użytkownika (GUI) dla wielu systemów operacyjnych oraz pakietu Expect, który pozwala na automatyzację zadań.
    Lisp – rodzina języków programowania z długą historią i charakterystyczną składnią. Zaprojektowany przez Johna McCarthy’ego na MIT w 1958 roku. Pierwszym interpreterem języka Lisp była implementacja funkcji eval wykonana przez studenta McCarthy’ego – Steve’a Russella. Lisp jest drugim z kolei pod względem wieku językiem programowania wysokiego poziomu pozostającym w użyciu (starszy jest tylko Fortran). Podobnie jak Fortran, Lisp ulegał na przestrzeni czasu licznym zmianom. Powstało również wiele jego dialektów. Dziś do najpopularniejszych należą trzy: Common Lisp, Scheme i Clojure.
    Zmienna - konstrukcja programistyczna posiadająca trzy podstawowe atrybuty: symboliczną nazwę, miejsce przechowywania i wartość; pozwalająca w kodzie źródłowym odwoływać się przy pomocy nazwy do wartości lub miejsca przechowywania. Nazwa służy do identyfikowania zmiennej w związku z tym często nazywana jest identyfikatorem. Miejsce przechowywania przeważnie znajduje się w pamięci komputera i określane jest przez adres i długość danych. Wartość to zawartość miejsca przechowywania. Zmienna zazwyczaj posiada również czwarty atrybut: typ, określający rodzaj danych przechowywanych w zmiennej i co za tym idzie sposób reprezentacji wartości w miejscu przechowywania. W programie wartość zmiennej może być odczytywana lub zastępowana nową wartością, tak więc wartość zmiennej może zmieniać się w trakcie wykonywania programu, natomiast dwa pierwsze atrybuty (nazwa i miejsce przechowywania) nie zmieniają się w trakcie istnienia zmiennej. W zależności od rodzaju języka typ zmiennej może być stały lub zmienny. Konstrukcją podobną lecz nie pozwalającą na modyfikowanie wartości jest stała.

    Reklama