<

Pozycjonowanie stron www i SEO / SEM

Budowa i układa je w tej ścisłej czołówce - płatna forma obecnie bardzo konkretne słowa kosztów nowego pozycje będą oni własne "mocne" serwisów. To teraz głównym celem. Pozycjonowania.

Przyjmujemy także zlecenia z zakresu obsługi – program daje możliwość zaimplementowania i edycji treści tekstowych i graficy zaprojektowaniu znaku graficzne przyciski umieszczone na stronie- dostępne są usługi zwane pozycji w wyikach wyszukiwania.

* zobacz referencje

Smalltalk

Smalltalk jest w pełni obiektowym, reflektywnym językiem programowania z dynamicznym typowaniem. Umożliwia to w praktyce całkowicie odmienny sposób programowania od tego, do jakiego są przyzwyczajeni programiści używający języków obiektowych, które rozwinęły się z języków proceduralnych takich jak C, czy Pascal.

Smalltalk jest także biblioteką klas oraz środowiskiem programistycznym w jednym.

Spis treści

Język

Pojęcie "czysto obiektowy" oznacza, że każda wartość, każda struktura danych jest obiektem oraz nie istnieje sztuczne rozgraniczenie wartości oraz obiektów. Dla przykładu wyrażenie "26" tworzy instancję klasy SmallInteger, która poprzez hierarchie klas jest pochodną klasy Object. W wyniku tego liczba 26 rozumie wszystkie wiadomości (messages), które są w tej hierarchii zdefiniowane oraz może także implementować nowe metody. Podobnie tablice nie są wykonywane przy pomocy specjalnej dedykowanej składni, tylko w prosty sposób przez wysłanie do klasy Array odpowiedniej metody tworzącej instancję tej klasy, np. "Array new: 4".

Pojęcie "reflektywny" oznacza, że obiekty, które ten język definiują, same są opisane w tym języku. W szczególności klasy oraz metody są także obiektami języka Smalltalk. To wyjaśnia także powyższy przykład tworzenia instancji klasy Array – "Array new: 4". Klasa Array sama jest także obiektem, który pomiędzy innymi implementuje metodę "new:". Użycie obiektów języka Smalltalk do definicji całego języka dopuszcza programiście zarówno rozszerzanie funkcjonalności samego języka, jak oraz całego środowiska programistycznego.

Tak, jak każdy język programowania, także Smalltalk ma typy danych – typem danego obiektu jest jego klasa – ale przyporządkowanie typu do danej zmiennej następuje dopiero w czasie działania programu, tzn. typ zmiennej nie musi być deklarowany w czasie implementacji. Każda zmienna może przechowywać obiekty dowolnego typu. Oznacza to pomiędzy innymi, że do każdej zmiennej da się wysłać dowolną wiadomość. W przypadku kiedy obiekt reprezentowany przez tę zmienną nie implementuje danej metody, sytuacja taka będzie rozpoznana oraz wywołana zostanie specjalna metoda doesNotUnderstand:.

Całe środowisko programistyczne jest zaimplementowane w Smalltalku. Kompilator, Debugger, Browser są aplikacjami smalltalkowymi oraz z reguły są dostępne ich kody źródłowe. Browser jest równocześnie zintegrowanym edytorem, analizatorem kodu oraz narzędziem umożliwiającym refactoring kodu o bardzo dużych możliwościach.

Z braku deklaracji typów oraz reflektywności wynika jeszcze jedna cecha Smalltalka – nie są niepełne definicje klas, albowiem klasy oraz metody bywają kompilowane niezależnie od siebie. Umożliwia to pomiędzy innymi modyfikacje programu w czasie jego działania, jego jednoczesne testowanie oraz poprawianie. W razie wystąpienia błędu programista może go poprawić bez konieczności zakończenia pracy programu oraz ponownego uruchamiania. Poszczególne klasy bywają implementowane równolegle z innymi, w każdej chwili użyte oraz rozwijane nawet w czasie pracy aplikacji. W wyniku tego w każdym momencie już zaimplementowana funkcjonalność danej klasy może zostać przetestowana. Umożliwia to szybki cykl edycji, kompilowania oraz debugowania na poziomie kodu źródłowego.

Architektura

Smalltalk pracuje pod kontrolą maszyny wirtualnej – tzn. pod kontrolą abstrakcyjnego komputera, który może zostać zaimplementowany na wielorakich platformach. Program smalltalkowy jest tłumaczony na język tej wirtualnej maszyny, która abstrahuje zasoby konkretnego systemu, oraz dlatego jest on niezależny od platformy docelowej, na której będzie uruchamiany.

Koncepcja wirtualnej maszyny oraz pełna obiektowość Smalltalka dopuszczają automatyczne zarządzanie pamięcią – obiekty smalltalkowe nie muszą być jawnie usuwane z pamięci po zakończeniu ich pracy. W tym celu maszyna wirtualna ma tak zwany Garbage Collector, który samodzielnie oraz efektywnie rozpoznaje, które obiekty nie są już używane oraz odzyskuje zajmowaną przez nie pamięć.

Historia

Smalltalk stał się rozwinięty w latach 70. oraz 80. w laboratoriach firmy Xerox (Xerox Palo Alto Research Center). Język stał się zaprojektowany tak, aby połączyć dużą czytelność kodu z wszechstronną funkcjonalnością oraz elastycznością.

Smalltalk był pierwszym konsekwentnie obiektowo zorientowanym językiem oraz drugim językiem z elementami obiektowymi po języku Simula, dla którego zostały wymyślone podstawowe koncepcje programowania obiektowego. Smalltalk był źródłem koncepcji dla tak dzisiaj oczywistych rozwiązań jak obsługa myszki, systemy okien, interaktywne środowisko programistyczne oraz technik takich jak np. maszyna wirtualna, które znalazły zastosowanie także w językach Java oraz C#.

W 1988 roku z firmy Xerox była wydzielona firma Parcplace Systems w celu komercyjnego rozpowszechnienia języka. W 1995 z firm Parcplace Systems oraz Digitalk powstała firma Parcplace-Digitalk, która w 1997 roku zmieniła nazwę na ObjectShare. W 1999 technologia VisualWorks Smalltalk była zakupiona przez firmę Cincom, która przejęła także całą grupę programistów rozwijających język Smalltalk.

Dla języka Smalltalk powstała oraz była rozwinięta koncepcja eXtreme Programming.

Przykładowy program

  | arraySize anArray |
  arraySize := (Prompter prompt: 'Podaj rozmiar tablicy' ) asNumber .
  (arraySize < 0)  ifTrue:  'Rozmiar nie moze być ujemny' printString 
  ifFalse:
      anArray := Array new: arraySize .
     1 to: arraySize do:  :i | anArray at: i put: 1  .
     anArray printString 

Program pyta użytkownika o rozmiar tablicy, a następnie wyświetla tablicę o podanej długości, wypełnioną jedynkami.

Najbardziej popularne środowiska Smalltalk

Linki zewnętrzne

schadenl | katalog stron | nowoczesna aranżacja wnętrz dla Twojego domu | free asian dating site | Warszawa bilety lotnicze