Delphi: Porovnání verzí

Z WoWResource Wiki
Přejít na: navigace, hledání
 
Řádek 1: Řádek 1:
{{Název s křížkem|C#}}
 
'''C#''' (vyslovované anglicky jako '''C Sharp''', /siː ʃʌɹp/, doslova to označuje [[nota|notu]] cis) je vysoko úrovňový [[objektově orientované programování|objektově orientovaný]] [[programovací jazyk]] vyvinutý firmou [[Microsoft]] zároveň s platformou [[.NET Framework]], později schválený standardizačními komisemi [[ECMA]] a [[Mezinárodní organizace pro normalizaci|ISO]]. Microsoft založil C# na jazycích [[C++]] a [[Java]] (a je tedy nepřímým potomkem jazyka [[C (programovací jazyk)|C]], ze kterého čerpá syntaxi).
 
  
C# se využívá hlavně k tvorbě databázových programů, webových aplikací, [[webová služba|webových služeb]], formulářových aplikací ve [[Microsoft Windows|Windows]] apod.
+
'''Delphi''' je [[vývojové prostředí|integrované grafické vývojové prostředí]] firmy [[Borland]]  určené pro tvorbu aplikací na platformě [[Microsoft Windows|MS Windows]] v jazyce [[Object Pascal]] (objektové nástavbě [[Pascal (programovací jazyk)|Pascal]]). Obsahuje systém [[RAD]] (Rapid Application Development), který umožňuje vizuální návrh [[grafické uživatelské rozhraní|grafického uživatelského rozhraní]], na jehož základě je automaticky vytvářena kostra [[zdrojový kód|zdrojového kódu]], což výrazně urychluje vývojový cyklus.  
  
==Cíle jazyka ==
+
Programování v Delphi je z velké části založeno na použití komponent. Komponenta je malý program (balíček funkcí), který vykonává určitou činnost (například zobrazuje text nebo obrázky, přehrává multimédia, komunikuje s databází, zprostředkovává FTP přenos, atd…).
Standard ECMA definuje současný design C# takto:
 
* C# je jednoduchý, moderní, mnohaúčelový a objektově orientovaný programovací jazyk.
 
* Jazyk a jeho implementace poskytuje podporu pro principy [[softwarové inženýrství|softwarového inženýrství]] jako jsou: hlídání hranic polí, detekce použití neinicializovaných proměnných a automatický [[garbage collector]]. Důležité jsou také jeho vlastnosti jako: robustnost, trvanlivost a programátorská produktivita.
 
* Jazyk je vhodný pro vývoj softwarových komponent distribuovaných v různých prostředích.
 
* Přenositelnost zdrojového kódu je velmi důležitá, obzvláště pro ty programátory kteří jsou obeznámeni s [[C (programovací jazyk)|C]] a [[C++]].
 
* Mezinárodní podpora je též důležitá.
 
  
==Používané platformy==
+
Velkou předností Delphi proti některým konkurenčním produktům jsou knihovny komponent, které jsou jejich součástí (např. VCL, CLX, Indy …). Dodávané komponenty významně usnadňují tvorbu aplikací. Další komponenty lze stáhnout z internetu (některé jsou zadarmo, některé se musí koupit). V Delphi lze vytvářet vlastní komponenty.
  
Jazyk C# je navržen tak, aby co nejvíce zohledňoval strukturu [[Common Language Infrastructure]] (CLI), se kterou je používán. Většina základních typů v C# přímo odpovídá základním typům v platformě CLI. Návrh jazyka ale nevyžaduje, aby [[překladač]] generoval [[Common Intermediate Language]] (CIL) nebo jíný konkrétní formát. Teoreticky je možné, aby překladač vytvářel strojový kód podobný běžným překladačům jazyka C++ a jiných, ale v praxi všechny překladače jazyka C# generují CLI.
+
== Související články ==
 
+
* [[Kylix]] – projekt snažící se umožnit přenos aplikací v Delphi z Windows na platformu [[Linux]], v roce 2006 ukončen
== Historie a verze jazyka ==
+
* [[C++Builder]] – obdoba Delphi pracující s jazykem [[C++]]
 
+
* [[Eclipse (vývojové prostředí)|Eclipse]] – vývojové prostředí pro jazyk [[Java]]
=== C# 1.0 ===
+
* [[Delphi for PHP]] - vývojové prostředí pro [[PHP]] s technologií [[AJAX]]
 
 
První verze vydaná v roce společně s .NET Frameworkem 1.0 obsahovala základní podporu objektového programování, ve které vycházela z jazyka C++ a zkušeností s jejich aktualizací v jazyce Java.
 
 
 
=== C# 2.0 ===
 
 
 
Na další verzi se čekalo až do konce roku 2005. Mezi její nové vlastnosti patří:
 
 
 
* Nativní podpora generik vycházející z podpory na úrovni CLI.
 
* Částečné a statické třídy.
 
* Iterátory.
 
* Anonymní metody pro pohodlnější užívání delegátů (odkazů na metody).
 
* Nullovatelné hodnotové typy a operátor koalescence.
 
 
 
=== C# 3.0 ===
 
 
 
Vyjde v roce 2008 společně s .NET Frameworkem 3.5 a Visual Studiem 2008, jeho specifikace je však již hotová. Bude obsahovat poměrně revoluční změny, které však nebudou vyžadovat změnu podkladového IL, takže aplikace v něm psané půjdou spouštět i na počítačích vybavených toliko druhým Frameworkem.
 
 
 
* [[LINQ]] (Language Integrated Query) zavede několik nových klíčových slov převzatých z jazyka SQL, za pomocí kterých se půjde dotazovat na objekty reprezentující databáze, XML soubory, nebo cokoliv dalšího.
 
* Lambda metody jsou jednodušší metodou zápisu anonymních metod.
 
* Inicializátory objektů a kolekcí.
 
* Rozšiřující metody.
 
* Anonymní třídy umožňující např. rychlé vytvoření objektů přenášejících informace vyžádané z databáze přes LINQ.
 
* Klíčové slovo var, nutná to podmínka pro využití anonymních tříd.
 
* Výrazové stromy (expression trees) umožňující za jistých podmínek kompilátoru místo vyhodnocení výrazu vytvoření jeho objektové reprezentace.
 
 
 
== „Ahoj, světe!“ ==
 
Následující jednoduchá aplikace vypíše „[[Ahoj světe|Ahoj, světe!]]“ na [[standardní výstup]] [[konzolová aplikace|konzolové aplikace]].
 
 
 
<source lang="csharp">
 
using System;
 
 
 
namespace MojeKonzolováAplikace
 
{
 
  class HlavníTřída
 
  {
 
    static void Main(string[] args)
 
    {
 
      Console.WriteLine("Ahoj, světe!");
 
    }
 
  }
 
}
 
</source>
 
 
 
Rozeberme krátce jednotlivé příkazy. Třídy, základní jednotky objektového programování, jsou v C# rozděleny pro lepší orientaci a jednoznačnost názvů do jmenných prostorů. Na počátku zdrojového kódu jmenujeme příkazem using jmenné prostory, jež budeme používat — nebudeme pak muset rozepisovat jejich název, všechny třídy z nich jsou nám hned přístupny.
 
 
 
Na dalším řádku příkazem namespace říkáme, že chceme zařadit kód vymezený následujícími složenými závorkami do jmenného prostoru MojeKonzolováAplikace. Hned poté definujeme klíčovým slovem class třídu Hlavní třída, její obsah bude opět vymezen dalšími složenými závorkami. Kód není nutné odsazovat (bílé znaky se ignorují), jen je to praktické.
 
 
 
Všimněme si také, že identifikátory mohou obsahovat písmenka s háčky a čárkami — je tomu tak již od prvních verzí jazyka.
 
 
 
== Vývojová prostředí ==
 
* [[Microsoft Visual Studio|Microsoft Visual Studio]] – oficiální nástroj od společnosti [[Microsoft|Microsoft]]
 
* [[Turbo Csharp Explorer|Turbo C# Explorer]] – nástroj od společnosti [[Borland]]  
 
* [[SharpDevelop|SharpDevelop]] – OpenSource nástroj fungující jen v [[Microsoft Windows]]
 
* [[MonoDevelop]] [[multiplatformní software|multiplatformní]] OpenSource nástroj využívající [[Mono (platforma)|Mono]] a [[Gtk Sharp|Gtk#]]
 
* [[Baltík|Baltík]] – Programovací nástroj pro začátečníky v C#
 
  
 
== Externí odkazy ==
 
== Externí odkazy ==
* [http://www.zive.cz/h/Programovani/AR.asp?ARI=134680 Srovnání Visual C#, Turbo C# a SharpDevelop na serveru zive.cz]
+
* [http://www.codegear.com/ www.codegear.com] – domovské stránky společnosti [[CodeGear]], která převzala po společnosti Borland vývoj nástrojů RAD
 +
* [http://www.borland.com/ www.borland.com] – domovské stránky společnosti [[Borland]]
 +
* [http://www.borland.cz/ www.borland.cz] – české stránky
 +
* [http://www.lazarus.freepascal.org/ www.lazarus.freepascal.org] Lazarus - opensource IDE pro FreePascal (multiplatformní alternativa k Delphi)
 +
* [http://www.turboexplorer.com/delphi www.turboexplorer.com] – domovské stránky Turbo Delphi
  
  

Aktuální verze z 28. 11. 2007, 21:19

Delphi je integrované grafické vývojové prostředí firmy Borland určené pro tvorbu aplikací na platformě MS Windows v jazyce Object Pascal (objektové nástavbě Pascal). Obsahuje systém RAD (Rapid Application Development), který umožňuje vizuální návrh grafického uživatelského rozhraní, na jehož základě je automaticky vytvářena kostra zdrojového kódu, což výrazně urychluje vývojový cyklus.

Programování v Delphi je z velké části založeno na použití komponent. Komponenta je malý program (balíček funkcí), který vykonává určitou činnost (například zobrazuje text nebo obrázky, přehrává multimédia, komunikuje s databází, zprostředkovává FTP přenos, atd…).

Velkou předností Delphi proti některým konkurenčním produktům jsou knihovny komponent, které jsou jejich součástí (např. VCL, CLX, Indy …). Dodávané komponenty významně usnadňují tvorbu aplikací. Další komponenty lze stáhnout z internetu (některé jsou zadarmo, některé se musí koupit). V Delphi lze vytvářet vlastní komponenty.

Související články

  • Kylix – projekt snažící se umožnit přenos aplikací v Delphi z Windows na platformu Linux, v roce 2006 ukončen
  • C++Builder – obdoba Delphi pracující s jazykem C++
  • Eclipse – vývojové prostředí pro jazyk Java
  • Delphi for PHP - vývojové prostředí pro PHP s technologií AJAX

Externí odkazy