Delphi

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania
Ujednoznacznienie Ten artykuł dotyczy środowiska programistycznego. Zobacz też: Delphi Corporation – firma motoryzacyjna.

Delphi – język programowania, którego można używać w środowiskach firmy Borland, Embarcadero, Microsoft (Delphi Prism), oraz w środowisku Lazarus. Narzędzia te są zintegrowanymi środowiskami programistycznymi typu RAD, działającymi zgodnie z zasadą dwustronnej edycji.

Dawniej język Delphi był nazywany Object Pascalem, lecz w świadomości społecznej programistów na całym świecie Delphi zaczęło być postrzegane z czasem jako osobny język programowania i dlatego też przy okazji premiery Delphi 6 w roku 2002 w oficjalnej dokumentacji programu została użyta po raz pierwszy nazwa "Delphi language". Standard języka Delphi obejmuje wiele bogatych funkcjonalnie klas, których nie ma w standardzie Object Pascala, a ponadto umożliwia programowanie wizualne z wykorzystaniem predefiniowanych komponentów. Object Pascal jest rozszerzeniem języka Pascal – został on rozwinięty przez firmę Apple Computer przy współpracy Larry'ego Teslera, głównego architekta, i Niklausa Wirtha, twórcy Pascala. Object Pascal wywodzi się z wcześniejszej, obiektowo zorientowanej wersji Pascala nazywanej Clascal, która była dostępna na komputery Lisa.

Programy tworzone w Delphi dla Win32 muszą zostać skompilowane do postaci kodu binarnego przed pierwszym wykonaniem. Niektóre komponenty wizualne działają już podczas tworzenia projektu, umożliwiając oglądanie efektów pracy. Delphi dla Win32 zapisuje informacje o właściwościach obiektów, udostępniając je programiście. Informacje te umożliwiają zmianę ich wartości przez programistę bez pisania kodu programu oraz są używane podczas pracy programu – technika ta zwana jest RTTI. Tworzone programy pracują na zasadzie obsługi zdarzeń, każde polecenie (np. kliknięcie myszką) generuje zdarzenie, które poprzez wewnętrzne mechanizmy programu są przesyłane do odpowiedniego komponentu, a rolą programisty jest tylko dołączenie odpowiedniego kodu umożliwiającego obsługę tego zdarzenia. Natywne programy tworzone w Delphi pod Win32 umożliwiają w prosty sposób stworzenie wydajnej aplikacji, sam język jest przyjazny użytkownikowi i podobny do języka C#[1] dla platformy .NET, który został stworzony znacznie później przez twórcę Delphi Andersa Hejlsberga, by stanowić alternatywę dla Delphi i dla Javy.

Obecnie programy tworzone w Delphi mogą również działać pod platformą .NET Framework. Język użyty w Delphi for .NET nieznacznie różni się składniowo od tego użytego dla programów Win32 i jest projektowany dla architektury platformy .NET. W zależności od wersji środowiska programistycznego można tworzyć aplikację dla .NET w wersji .NET 1.0, 1.1, 2.0, 3.0, 3.5.

Odpowiednikiem Delphi dla Linuksa było stworzone przez firmę Borland środowisko programistyczne Kylix. Jego rozwój został jednak zaniechany, gdyż charakteryzowało się ono niską jakością i wysoką ceną. Obecnie rozwijane jest na licencji GNU GPL zintegrowane środowisko programistyczne (IDE) o nazwie Lazarus wzorowane na Delphi. Lazarus jest środowiskiem wieloplatformowym, dostępnym dla różnych systemów operacyjnych.

Szerzej o Delphi[edytuj | edytuj kod]

Delphi i Kylix używają języka Delphi bazującego na Pascalu. Kompilatory języka Delphi kompilują kod Delphi do natywnego kodu x86 lub zarządzalnego kodu .NET. Delphi zawiera w standardzie języka klasy VCL/CLX/VCL.NET (Visual Component Library). W przeciwieństwie do języka Pascal, Delphi nie było tworzone dla celów edukacyjnych, lecz biznesowych, jako język, który miał połączyć prostotę i przejrzystość języka Pascal z łatwym i wygodnym tworzeniem aplikacji. Delphi umożliwia również niskopoziomowe programowanie poprzez możliwość wstawiania części kodu napisanego w języku assembler. Delphi jest językiem obiektowym. Posiada dziedziczenie po jednej klasie i po wielu interfejsach, co sprawia, że programy pisane w Delphi są czytelniejsze niż programy pisane w językach pozwalających na wielodziedziczenie. Bazową klasą obiektu jest zawsze metaklasa TObject. Obiekty są przekazywane przez referencje (tak jak w Javie i C#). Konkatenacja łańcuchów (w standardzie języka Pascal istnieje już predefiniowany typ string) przebiega w bardzo wygodny sposób za pomocą znaku '+'. Nie potrzeba ręcznie alokować pamięci dla typu string. Język ułatwia Rapid Application Development. Posiada znaczące wsparcie społeczności usenetowej. Istnieje również wiele stron WWW poświęconych Delphi.

Rozwój języka[edytuj | edytuj kod]

Wraz z rozwojem technologii informatycznych język Delphi ewoluował, zachowując jednak kompatybilność wstecz. Każdy projekt napisany w poprzedniej wersji języka jest kompilowalny w najnowszych kompilatorach.

Znaczna ewolucja Delphi nastąpiła w edycji języka na rok 2009. Zmiany, które zaszły, to:

  • Pełne wsparcie języka dla Unicode (w tym dla VCL)
  • Wprowadzenie klasy TStringBuilder dla szybszej konkatenacji łańcuchów
  • Wprowadzenie typów generycznych
  • Klasa TObject posiada wirtualne metody ToString, GetHashCode, i Equals
  • Metody anonimowe
  • Pełne wsparcie dla formatu plików PNG dla klasy TImage

Poza tym wprowadzono

  • Nowe VCL (klasy komponentów Ribbon Controls, oraz klasy kontrolek TBalloonHint, TLinkLabel, TCategoryPanelGroup, TButtonedEdit)
  • Rozszerzono możliwości kontrolek
  1. TButton (m.in. podpięcie listy obrazków (TImageList) do wyświetlania na przycisku),
  2. TEdit
  3. TProgressBar (m.in. zmiana statusu (i tym samym koloru) paska postępu – pbsNormal, pbsError, pbsPaused)
  4. TListView
  5. TTreeView
  6. TRichEdit
  7. TImageList (wsparcie formatu PNG dla listy obrazków, jednak bez możliwości wyboru koloru dla przezroczystego tła)

W wersji 2010 dodano do języka możliwość używania atrybutów [2], oraz wprowadzono kilka nowych unitów do bibliotek standardowych języka[3]

Historia środowiska programistycznego Delphi[edytuj | edytuj kod]

Delphi, opracowane przez firmę Borland, jest następcą środowiska Turbo Pascal, będącego połączeniem kompilatora języka Pascal ze środowiskiem edycyjnym.

  • Pierwsza wersja (16-bitowa) Delphi ukazała się w 1995 roku i przeznaczona była do pracy w Microsoft Windows 3.1. Było to jedno z pierwszych narzędzi typu Rapid Application Development
  • Kolejna wersja – Delphi 2 – ukazała się w roku 1996 i była środowiskiem 32-bitowym, generującym kod dla Microsoft Windows 95.
  • Delphi 3 ukazało się w roku 1997 i wprowadziło do środowiska następujące elementy: pakiety, rozproszoną obsługę baz danych, wspomaganie tworzenia aplikacji internetowych, wspomaganie tworzenia kontrolek ActiveX.
  • Delphi 4 dodało wiele nowych usprawnień IDE (jak na przykład możliwość dokowania okien), oraz usprawnienia w samym języku programowania (na przykład przeciążanie funkcji oraz metod).
  • W wersji 6 pojawiła się m.in. możliwość tworzenia przeźroczystych okien (tylko Windows 2k/XP).
  • Wersja 7 wniosła nowy komponent pozwalający na używanie stylów wizualnych z Windows XP w tworzonych programach. W roku 2001 powstała edycja przeznaczona dla Linuksa nazwana Kylix.
  • Wersja 8 (rok 2003) wprowadziła Delphi w środowisko .NET, po raz pierwszy od powstania uległo też zmianie IDE, upodobniając się do Microsoft Visual Studio .NET.
  • W edycji 2005, oprócz zintegrowania w jednym środowisku kompilatorów dla języków Delphi, Delphi.NET oraz C#, wprowadzono dalsze udoskonalenia środowiska (zwłaszcza refactoring kodu)

Na początku 2006 roku firma Borland wystawiła wszystkie przygotowane przez nią środowiska programistyczne – w tym również Delphi – na sprzedaż:

Fragment postu Davida Intersimona: To our loyal developer community:

Today, Wednesday February 8, 2006 at 1am Pacific Time, Borland announced plans to seek a buyer for our IDE product lines that include Delphi, C++Builder, C#Builder, JBuilder (and Peloton), InterBase, JDataStore, nDataStore, Kylix, and our older Borland and Turbo language products and tools. The goal is to create a standalone business focused on advancing individual developer productivity using the people inside Borland who are focused on the success of these award winning products.

Zaraz po tej informacji powstała strona [4], która gromadziła fundusze na wykupienie Delphi z rąk Borlanda, i opublikowanie go jako środowiska Open Source. Pomimo zapowiedzi sprzedaży w roku 2006 wprowadzono wersję Borland Turbo znana jako Borland Turbo Delphi /Borland Turbo C# /Borland Turbo C++ / Borland Turbo Delphi for .NET

  • 14 listopada 2006 – powstała firma-córka CodeGear, która została wyodrębniona z firmy Borland.
  • 19 marca 2007 – powstało CodeGear Delphi 2007 for Vista and AJAX.
  • 5 września 2007 – powstało CodeGear RAD Studio 2007 (Delphi, Delphi for .NET oraz C++Builder )
  • 8 marca 2008 – pojawiło się CodeGear Delphi/400 for PHP
  • 14 kwietnia 2008 – pojawiło się CodeGear Delphi for PHP
  • 7 maja 2008 roku firma CodeGear przestała być własnością Borlanda. CodeGear została sprzedana za kwotę 23 milionów dolarów firmie Embarcadero.
  • Delphi Prism – jest to wtyczka do IDE Microsoft Visual Studio, wraz z kompilatorem – stanowiący nowe środowisko programistyczne. Delphi Prism używa udoskonalonego kompilatora Oxygene firmy RemObjects. Pozwala na pisanie aplikacji .NET dla Windows, Linux i Mac. Nowy kompilator jest oczekiwaną alternatywą dla języka C# – obsługuje .NET 1.1, 2.0, 3.0, 3.5, WinForms, WPF, Silverlight, ASP.NET i LINQ. Nie obsługuje Compact Framework. W języku Delphi Prism nie można używać już VCL.NET. Firma CodeGear oficjalnie zaleca programistom piszącym w Delphi pod .NET i używających VCL.NET przejście na Win32. Autorzy Oxygene zyskali dostęp do teamu i kodu kompilatora Delphi, i mają wpływ na jego dalszy rozwój.
  • Delphi 2009 – Delphi dla Windows obsługujące Win32. CodeGear oficjalnie zapowiedziało, że ma zamiar standaryzować i rozwijać język Delphi. Do języka wprowadzono typy generyczne, metody anonimowe i obsługę składniową dla Unicode ze strony języka.
  • Delphi 2010 - wydano 25 sierpnia 2009 roku. Jest to druga wersja środowiska Delphi, która obsługuje Unicode. Nie niesie dużych zmian w stosunku do Delphi 2009. Zawiera nowy, ulepszony system RTTI. Nowy system skutkuje tworzeniem większych plików wykonywalnych niż w poprzednich wersjach Delphi. Delphi 2010 posiada wsparcie dla Windows 7, oraz dla ekranów dotykowych i gestów (nowe kontrolki VCL)
  • Delphi XE - wydano 30 sierpnia 2010 roku. Dodano kilka narzędzi do środowiska takich jak AQtime (wersja standard), CodeSite (wersja express), Beyond Compare, zapewniono integrację z Subversion w IDE, dodano kontrolki do współpracy z Windows Azure oraz do przetwarzania w chmurze obliczeniowej Amazon EC2, oraz dokonano kilku ulepszeń w języku (między innymi rozszerzono funkcjonalność TStrings i Date/Time), dodano unit RegularExpressions zawierający zbiór rekordów, które są analogiczne do klas regex w .NET Framework [5]
  • Delphi XE Starter Edition - edycja Delphi XE udostępniona 27 stycznia 2011, skierowana dla hobbystów, studentów i małych firm, zatrudniających do pięciu programistów - dostępna za niższą cenę (około 190 $) [6]

Cechy i funkcjonalność[edytuj | edytuj kod]

  • wspomaganie dla obsługi relacyjnych systemów bazodanowych
  • obsługa standardowych mechanizmów windowsowych, np. COM/ActiveX
  • szeroki zestaw gotowych do użycia komponentów
  • rozszerzalność środowiska (zarówno palety komponentów jak i samego IDE)
  • dwustronna edycja
  • budowa wizualnej części aplikacji za pomocą techniki drag and drop
  • zawiera wiele elementów mających na celu uproszczenie tworzenia aplikacji związanych z Internetem
  • szybki, efektywny kompilator
  • zawiera wiele dodatkowych narzędzi wspomagających programistów

Środowisko Delphi wraz z dołączonymi narzędziami może być uznane za język czwartej generacji.

Środowisko użytkowników[edytuj | edytuj kod]

Delphi cieszy się w Polsce stosunkowo dużą popularnością, w głównej mierze ze względu na względną prostotę i powszechność różnego rodzaju poradników dla początkujących. Grupa polskich programistów Delphi spotyka się na dorocznych zlotach, podczas których odbywają się wykłady dotyczące programowania. Ostatni zlot odbył się w lutym 2009 w Krakowie.

Przykłady oprogramowania napisanego w całości bądź częściowo przy użyciu języka Delphi[edytuj | edytuj kod]

Zobacz też[edytuj | edytuj kod]

Linki zewnętrzne[edytuj | edytuj kod]

Wikibooks-logo.svg
Zobacz publikację na Wikibooks:
Delphi