Bir program belli komutların mantıksal biçimde sıralı olrak bilgisayara verilemesi ile oluşur. Bazı durumlarda bir komutun çalışması önceki komutla doğrudan ilgilidir. Bu bölümde koutların bilgisayara iki yolla nasıl verildiğini göreceğiz. Bu yollardan biri yorumlayıcılar teknik ismi ile interpreters, diğer yolu ise derleyiciler yani compilers.Programlamada bilgisayarların insan dilini anlaması oldukça zor olduğu için genellikle bilgisayarın anlayacağı şekilde dizayn edilmiş diller kullanılır.
Yorumlayıcılar komut satırı içeren bir ortam sağlarlar ve girilen komutları yorumlayarak işlem yaparlar.Daha karmaşık işlemler için gerekli komutları bir dosyaya kaydedip sıra ile çalıştırmasını sağlayabilirsiniz.Bundan sonra yorumlayıcıya dosyayı verip uygulamanızı yorumlayıcı yardımı ile çalıştırırsınız. Eğer herhangi bir yerde hata olursa yorumlayıcı programın çalışmasını durdurur ve sizi hata ayıklama programına (debugger) atar.
Bu şekilde program yazmanın avantajı verdiğiniz komutların sonucunu anında görebilmeniz , hata oluştuğu durumlarda anında müdahale edebilmenizdir. Bu tür programların en büyük dezavantajı programınızı farklı kimselerle paylaşmak istediğinizde ortaya çıkar, çünkü programın çalışabilmesi için aynı yorumlayıcı(interpreter) programın diğer bilgisayarda da olması gerekmektedir.Aynı yorumlayıcı olsa bile o kişinin yorumlayıcıyı nasıl kullanılacağını bilmeleri gerekir.Ayrıca ortaya çıkabilecek hatalar yüzünden hata ayıklama programına (debugger) geçilmesi kullanıcıları hiç memnun etmeyecektir. Yorumlayıcılar çok fazla hafıza kullanırlar aynı zamanda yavaştırlar bu yüzden derleyiciler kadar etkili değildirler.
Bize göre interpreterlar programcılığa başlamak için ideal olan diller.Bu tip ortamlar Lisp,Smalltalk,Perl , Basic dillerinde bulunur. UNIX in kanuk sistemleri csh ve sh gibi programlarda aynı zamanda bir yorumlayıcı olarak nitelendirilebilir.Birçok insan bu tip "script"leri belli rutinleri gerçekleştirmede kullanıyor.Aslında UNIX in felsefesinin bir parçası da bir işe yarar küçük programı bağlantılı çalıştırarak büyük vazifeleri yerine getirmektir.
Yorumlayıcıdan yorumlayıcıya program üretimi değişiklik arz etmektedir.Bu konuda her yorumlayıcının ilgili sitelerinden , dökümanlarından yeterli bilgiye ulaşabilirsiniz.
Aşağıda bulunan listede FreeBSD port ağacı içinde bulunan derleyiciler açıklamaları ile birlikte verilmiştir.
Kurulum , yardım , port ağacı kullanımı için (http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html) adresine bakabilirsiniz.
BASIC
Yeni başlayanların bütün amaçları için kısa bir dil olan Basic 1950 lerde üniversite öğrencilerine programlamayı öğretmek için geliştirildi. 1980 lerde dikkate değer her bilgisayarda bulunuyordu. Basic çoğu programcı için bir başlangıç oldu. Ayrıca Visual Basic dilinin temellerini oluşturdu.
Bywater Basic yorumlayıcısı port ağacı altında lang/bwbasic dizininde, Phil Cockroft's Basic (Bir zamanların Rabbit Basic'i) yorumlayıcısı(interpreter) lang/pbasic dizini altında bulunur.
Lisp
Lisp 1950 lerde "sayı tabanlı" programlama dillerine alternatif olarak geliştirilmiş bir programlama dilidir. Lisp sayi tabanlı olmak yerine liste tabanlı olmayı tercih etmiştir. Zaten ismi de "List Processing" yani liste işleme kelimlerinin kısaltılması ile oluşmuştur.Yapay zeka uygulamalarında çok popüler bir dildir.
Lisp güçlü ve çok yönlü bir programlama dili olmasına rağmen büyük ve hantal bir dildir.
Bir çok Lisp uygulaması UNIX altında çalışabilir. FreeBSD port ağacında GNU Common Lisp lang/gcl dizininde , CLISP (Bruno Haible ve Michaell Stoll) lang/clisp dizini altında,Aynı zamanda bir derleyici içeren ve Lisp komutları ile C kodu üretip bunu derleyen CMUCL lang/cmucl altında ve basit bir Lisp olan simpler Lisp lang/slisp altında bulunur.
rol Perl
Sistem yöneticilerinin script yazmak için çokça kullandığı , İnternet sunucularında CGI scriptlerini çalıştırmak için kullanılan bir dildir.
Perl port ağacı altındalang/perldizininde bulunur.Kurulumu 4.X tabanlı sistemler için /usr/bin/perl altına gerçekleşir.
Scheme
Lisp in bir versiyonu , Lisp e göre daha küçük ve temiz olan bir dildir. Üniversitelerde öğrencilere öğretmesi kolay olduğundan yaygın olarak kullanılan Scheme ;üzerinde çalışmak , araştırma yapmak için yeterince kolaydır.
Python
Python bir nesne tabanlı , yorumlayıcı sistemli bir dildir.Programlamaya başlamak için en güzel programlama dillerinden bir tanesidir. Çünkü kullanımı çok kolaydır. Fakat çok büyük kompleks programlar yapmak için elverişli değildir.
Port ağacı içinde son versiyonuna lang/python yolu ile ulaşılabilir.
Ruby
Saf bir nesne yönelimli programlama dili olan Ruby gün geçtikçe popüler olmaktadır. Söz diziminin anlaşılmasındaki kolaylık , kod yazarken duyulan esneklik büyük programları kolayca yazmaya olanak sağlamaktadır.
Ruby port ağacında lang/ruby18 dizininden bulunabilir.
Tcl ve Tk
Platformlar arası taşınabilirliği sebebi ile son zamanlarda popüler olan dillerden biri olan Tcl ile küçük uygulamaların yanında (Tk ile arayüz desteği ile) yüksek özelliklere sahip tam donanımlı programları da yazabilirsiniz.
Port ağacında birden fazla versiyonu bulunmaktadır. Tcl 8.4 lang/tcl84 adresinden elde edilebilir.
Derleyiciler biraz daha farklı çalışır. Öncelikle verilecek komutlar bir editör programı ile dosyaya kaydedilir. Sonra dosya derleyiciye gönderilerek çalıştırılabilir programlar elde edilir.Eğer bu aşamada hata çıkarsa derleyici hatanın nerede olduğunu ve hangi sebepten kaynaklandığını listeler. Derlenmemiş program herhangi bir şekilde çalıştırılamaz.Derlendiği durumda programı herhangi bir ek programa ihityaç duymadan direk kabuk(shell) komutları ile çalıştırabilirsiniz.
Açıkça görüleceği üzere kullanımı interpreterlar kadar kolay değildir. Ama interpreterla yapamayağımız bir çok işi bu tip programlama dillerinde gerçekleştirebiliriz. Bu tip diller makina dilinde program ürettiğinden kendi işletim sisteminizi bile yazmanız mümkündür. Ayrıca eğer zaman konusunda çok etkili bir program yazmak istiyorsanız derlenen programlama dillerini tercih etmelisiniz.Bu dillerde yazılan programların dağıtımı oldukça kolaydır. Sadece çalıştırılabilir dosyayı vermeniz yeterlidir.Gerisi sadece işletim sistemine kalmış ayarlar olacaktır.
C , C++ , Pascal bu tür dillerdendir. C ve C++ bütün programcıların bilmesi gereken bir dil iken Pascal daha çok eğitim amaçlı kullanılmaktadır ve yeni başlayanlar için oldukça kullanışlı bir dildir.FreeBSD temel sistemde Pascal'ı desteklemezken port ağacında bulunan GNU Pascal Compiler (GPC) ve Free Pascal Compiler programları sırası ile lang/gpc ve lang/fpc klasörlerinden ulaşılabilir.
Düzenle-derle-çalıştır-hata ayıkla döngüsü çoğu zaman yorucu ve sıkıcı bir iş olabilir. Bu yüzden geliştiriciler genellikle IDE(Integrated Development Environments) yani bütün bu özellikleri bir arada içeren bir program kullanmayı tercih ederler.FreeBSD standart kurulumda IDE ile gelmesede port ağacından KDevelop IDE si kurulabilir dizini devel/kdevekop tur. Ayrıca çok gelişmiş bir metin editörü olanEmacsta bir IDE olarak kullanılabilir , bu konuda detaylı bilgi 2.7 Bölümünde verilmiştir.