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.

Odpowiednik Delphi produkcji firmy Borland dla Linuksa nosił nazwę Kylix. Jego produkcja została zaniechana, gdyż charakteryzował się niską jakością. 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