Delphi adalah sebuah IDE Compiler untuk bahasa pemrograman Pascal dan lingkungan pengembangan perangkat lunak. Produk ini dikembangkan oleh CodeGear sebagai divisi pengembangan perangkat lunak milik Embarcadero, divisi tersebut sebelumnya adalah milik Borland. Bahasa Delphi, atau dikenal pula sebagai object pascal (pascal dengan ekstensi pemrograman berorientasi objek (PBO/OOP)) pada mulanya ditujukan hanya untuk Microsoft Windows, namun saat ini telah mampu digunakan untuk mengembangkan aplikasi untuk Linux dan Microsoft .NET framework (lihat di bawah). Dengan menggunakan Free Pascal yang merupakan proyek opensource, bahasa ini dapat pula digunakan untuk membuat program yang berjalan di sistem operasi Mac OS X dan Windows CE
Pada tanggal 8 Februari 2006,
Borland mengumumkan akan melepas seluruh jajaran produk pengembangan
aplikasi komputernya termasuk di antaranya Delphi, untuk itulah Borland
membentuk perusahaan baru dengan nama CodeGear sehingga terpisah dari
Borland .
Saat ini Delphi menjadi bagian dari jajaran IDE milik Embarcadero
Technologies setelah Embarcadero Technologies mengakuisisi CodeGear. Hal
ini disebabkan karena kerugian yang terus menerus selama 2006 rugi
bersih sebesar $53.1 juta, 2007 rugi bersih $61 juta. Sehingga pada
tahun 2008 saat CodeGear menderita rugi bersih $22.3 maka CodeGear
dijual ke Embarcadero seharga $23 juta untuk menutupi rugi bersih ini
Bahasa pemrograman
Perbedaan fitur yang utama antara Delphi, Kylix dengan IDE-IDE yang
lain adalah keberadaan bahasanya (Bahasa pemrograman delphi), VCL/CLX
(Visual Component Library), Penekanan konektifitas database yang sangat
baik, dan banyaknya komponen-komponen pihak ketiga yang mendukungnya.
Aspek penting yang perlu dicatat tentang Bahasa pemrograman Delphi termasuk:
- Penanganan object sebagai reference/pointer secara transparan
- Properti sebagai bagian dari bahasa tersebut; baik, sebagai getter dan setter (atau accessor and mutator), yang secara transparan mengenkapsulasi akses pada field-field anggota dalam kelas tersebut.
- Property index dan Default yang menyediakan akses pada data kolektif
- Pendelegasian (type safe method pointer) yang digunakan untuk memproses event yang dipicu oleh component
- Pendelegasian implementasi interface pada Field ataupun property dari class.
- Implementasi penanganan windows message dengan cara membuat method dalam class dengan nomer/nama dari windows message yang akan dihandle.
- COM bersifat sebagai interface yang independen dengan implementasi class sebagai reference counted
- Kompilasi yang dapat menghasilkan kode yang berjalan secara native x86 ataupun managed code pada arsitektur framework .NET.