Derleyici terimi bir araç olarak kullanılır. Herhangi bir programlama diline kaynak dil, başkaca bir dile de hedef del dediğimiz zaman kaynak dil ile yazılan bir bilgisayar kodudur. Öncelikli olarak kaynak kodunu üst düzey bir programlama dilinden daha düşük bir dile örneğin montaj dili, nesne kodu veya makine koduna çeviren programlar için kullanılır.
Derleyicinin birçok farklı türü bulunmaktadır. Derlenen program CPU veya işletim sistemi derleyicinin çalıştığı bilgisayardan farklı bir bilgisayarda çalışabiliyorsa derleyici çarpraz derleyicidir diyebiliriz. Düşük seviyeden yüksek seviyede bir dile çeviri yapan programa da bir dekomplerdir. Üst düzey diller arasında çeviri yapan bir programa genellikle kaynaktan kaynağa derleyici veya derleyici denir.
Bir derleyici aynı zamanda önişleme, sözcüksel analiz, ayrıştırma, anlamsal analiz (sözdizimine dayalı çeviri), girdi programlarının ara gösterime dönüştürülmesi, kod optimizasyonu ve kod üretimi gibi işlemleri yapar. Derleyiciler bu işlemi yaparken verimli ve doğru dönüşüm yapmayı Hedefler bu yüzden derleyici davranışının yanlış olmasından kaynaklanan program hatalarını izler ve bunlara geçici çözümler bulmak için çabalar derleyicilerin doğruluğunu sağlamak içinse büyük çaba sarf etmek gerekir.
Derleyiciler genellikle bir dili diğer dile çevirirken de ifade biçimi ve dil değişikliği olmadan çeviren bir programdır. Bilim adamları ve mühendisler tarafından geliştirilen ve teorik bilgi işlem kavramları ile de popüler hale gelen programlama ve yazılım sayesinde bugün birçok şeye erişme imkânımız çok kısa sürede mümkün. 2. Dünya savaşı sonrasında bilgisayar mimarilerinin uygulanabilir bir soyutlama yapabilmek için montaj illerini oluşturdu daha sonradan da önemli teknik aksaklıklar yaşadılar. Özellikle de ilk bilgisayarların sınırlı bellek kapasitesi ilk derleyicilerin tasarlanmasında teknik zorluklara sebep oldu. Bu nedenle de derleme işleminin birkaç küçük programa bölünmesi gerekiyordu. Genellikle kullanım kolaylığı sağlamak amacıyla böyle bir yönteme başvurulmuş ve derleyiciler geliştirilmiştir.
Aslında bu sayede geliştiriciler; yani derleyici kullanarak aynı işlevi farklı programlama dilini kullanarak gerçekleştirmek isterler. Üstelik bu derleyicilerin olması da birden çok programlama dilinin ve geliştiricilerin alternatif fillerle çalışmasına yardımcı olmaktadır.
Bir programcının yüksek seviyeli bir program kullanılarak yapılması daha önemlidir çünkü yüksek seviyeli dillerin geliştirilmesi doğal olarak dijital bilgisayarların sunduğu özelliklerden kaynaklanmaktadır. Üst düzey diller de dil mimarisinin oluşturulmasına dikkat edildiği için resmi diller kategorisinde değerlendirilir. Bir dildeki dizilimler de dilbilgisi adı verilen bir dizi kurala göre tanımlanır.
1940’larda Konrad Zuse, Plankalkül (“Plan Calculus”) adlı bir algoritmik tasarım tasarlandı.1970’lere kadar da gerçek bir uygulama gerçekleşmese de daha sonradan matematiksel hesaplamalar için üretilen bir dil geliştirildi. Dijital bilgi işlemin yıllar boyunca üst düzey dil tasarımı; çeşitli uygulamalar için yararlı programlama araçları sağladır. Mühendislik ve bilim uygulamaları için FORTRAN (Formula Translation) ilk üst düzey dil olduğundan ve COBOL (Ortak İş Odaklı Dil), A-0 ve FLOW-MATIC’ten ev uygulamaları için baskın üst düzey dil haline geldi. Derleyiciler (compiler) ile Yorumlayıcılar (Interpreter) arasında önemli farklılıklar bulunmaktadırGenel olarak da bilinen kanının tersine de derleyici veya yorumlayıcı özelliği yoktur.
Nesne yönelimli programlamada kullanılan bir dil olan Java programlama dili bayt kodunu talimatlara dönüştürmek için Java sanal makinesinin veya bayt kodu yorumlayıcısının sağlandığı herhangi bir sistemi platformunda çalıştırılabilir yaptı. Bu sanal makineyi kullanarak, bayt kodu isteğe bağlı olarak tam zamanında bir derleyici tarafından yürütme platformunda yeniden derlenebilir.
Derleyiciler oldukça önemlidirler çünkü büyük bir zaman tasarrufu sağlanan araçlardandır. İşlevsel birçok yararı bulunmakla birlikte esas amacı çevirme yapmaktır. Makine dili dediğimiz bilgisayarların algılanmasını sağladığı. Bu dili diğer programlama dilleriyle yazılmış yazılımlardan dönüştürür. Eğer böyle bir dönüştürücü olmasaydı büyük bir ihtimalle oldukça zor ve yavaş zahmetli bir şekilde çeviriler yapılırdı. Bu sayede de bilgisayarlar; derleyici sayesinde daha az daha zahmetsiz bir kullanım pratikliğine kavuşur.