Programla Dilleri

Bir önceki yazımızda, programlama işinin programlama dilleri aracılığıyla yapıldığını söylemiştik. Şimdi bu programlama dillerinin hangileri olduğuna, aralarındaki farklara değinelim. Bu esnada bu dillerin ne olduğu hakkındaki fikirlerimiz daha da netleşecektir.

Programlama Nedir yazımızda, programlama dillerinden bahsetmiştik. Makine dilinin ne olduğunu, assembly dediğimiz çevirici dillerin ortaya çıkışını ve daha sonra daha üst seviye dillerin varlığından da bahsetmiştik. Biz artık makine dili ve assembly konusunu bir kenara bırakıyoruz. Bunlar artık “uzman sistem yazılımcılarının” ilgi alanına giriyor. Günümüzde, yüksek seviyeli diller bir çok yazılımcı için yeterli olmakta.

Nedir bu yüksek seviyeli diller? Assembly dillerinin ortaya çıkmasıyla, yazılımcılar kendi assembly kütüphanelerinden, daha anlaşılır diller türetmeye başladı. Günümüzde halen kullanım alanı bulan Basic 1964’de, Pascal 1970’de, C programlama dili ise 1972’de ortaya çıkmıştır. Günümüze değin bazı değişiklikler gösterip, yeni türevlerle geçseler de, dil yapıları hemen hemen aynı kalmaya devam etti.

Delphi, çıktığı 90’lı yıllar kadar yaygın kullanıma sahip olmasa da, hala benim en sevdiğim programlama aracı özelliğini koruyor.

Öncelikle; bir programlama dilini kullanmanın yollarından bahsedelim. Teoride; bir programı herhangi bir metin editöründe yazabilirsiniz. Ardından yazdığınız dilin “compiler programını” edinip, text olarak yazdığınız metni “makine diline” çevirip, uygun mimariye sahip tüm bilgisayarlarda çalıştırabilirsiniz.

Yani bir metin editörü (notepad) ve bir compiler teoride programı yazıp makine dilinde çalışacak hale getirmeniz için (Windows yüklü bilgisayarlar için EXE) yeterlidir.

Ancak pratik şartlarda, bu pek mümkün olmaz. Neden mümkün olmaz?

Birincisi kullandığınız bir çok komut ve fonksiyon, farklı kütüphanelerde bulunur. Nedir bu kütüphaneler? Kütüphaneler, yaygın kullanılan programların daha önce yazılıp içine doldurulduğu dosyalardır. Onlar sayesinde, aynı işi yapacak programları tekrar tekrar yazmak yerine, daha önce yazılmış fonksiyonları kullanırız.

Örneğin C dilinde ekrana yazı yazdırmak için gerekli komut printf komutudur. Ve bu komutun kullanılması için stdio.h kütüphanesine ihtiyaç duyulur. Yani siz gidip tekrar ekrana yazı yazdırabilecek komutu, makine dilinde yazmaya uğraşmayın diye, başka yazılımcılar yazıp stdio.h kütüphanesine koymuştur. Siz programınıza “stdio.h kütüphanesini barındır” (C komutu: #include <stdio.h>) dediğinizde aynı kodları tekrar yazmaktan kurtulur ve her ekrana yazı yazdırmak istediğinizde stdio.h içinde bulunan “printf” komutunu yazabilirsiniz. 

C dilinde ekrana “Merhaba dünya!” yazmak için gerekli kod aşağıdadır:

#include <stdio.h>
int main()
{
  printf(“Merhaba dünya!”);
  return 0;
}

Ancak, sizin metin editöründe yazdığınız kod bundan ibaret olsa bile, compiler, oluşturduğu makine kodlarının içine printf komutunun makine dilindeki karşılığını da koyacaktır. O karşılığı da kullandığınız stdio.h kütüphanesinden alacaktır. Bu durumda yazdığınız kodun ve compilerın yanında, bir de stdio.h kütüphane dosyasına ihtiyacınız olacaktır, programınızın derlenip makine diline çevirilmesi için.

İkinci olarak; büyük programları basit bir metin editöründe yazmak oldukça zordur. Bir çok kod dosyası ve kütüphaneyi içerin bir programı; basit metin editörleri kullanarak geliştirmek, oldukça zahmetli olacağı için bu iş için özel hazırlanmış editörler kullanmak yazılımcıyı bir çok zahmetten kurtaracaktır.

Üçüncü olarak; metin üzerinde görsel tasarımlar yapmak yerine, program tasarımlarını “görerek” yapmak, hem yazılımcıya hız, hem de yazdığımız programlara görsellik katacaktır.

Visual Studio IDE’si bir çok dilde program geliştirmemize imkan tanıyan bir platformdur.

Bu gibi gerekliliklerden dolayı, zamanla yazılımcılar için, bütün yazılım araçlarını içeren programlama editörleri çıkmaya başladı. Örneğin artık C# dilinde program yazmak isteyen programcılar; Microsoft Visual Studio programını indirip onun içindeki editör, derleyici, hata ayıklayıcı, kütüphane gibi araçları kullanıyorlar. Veya günümüzde her ne kadar karıştırılsa da Delphi diye bir programlama dili bulunmuyor. Esasında Delphi, bir programla IDE‘si. Yeni bir integrated development environment. Türkçesiyle entegre geliştirme ortamı. Delphi kullanıcılarının yazılım yaptığı dilin esas adı ise Object Pascal.

Her neyse; nihayetinde günümüzde yazılımlarımızı IDE adını verdiğimiz programların içindeki editörle yazıyoruz.

Peki bu dillerin birbirinden farkı nedir? Programlama dillerinin farklı, halkların dillerinin birbirinden farkıyla aynı şey. Aynı işi yapmak için birinde farklı, diğerinde farklı ifadeler kullanıyoruz. Lisan olarak hepsinin temeli İngilizce’ye dayanıyor ancak; C‘de ekrana bir şey yazdırmak için “print”, Pascal‘da “write”, PHP‘de “echo” kelimesini kullanıyoruz. Veya birinde programla bloglarımızı süslü parantezle ({), başka birinde ise “begin” kelimesiyle başlatıyoruz.

Dolayısıyla programlamayı bilmek, algoritmayı kurmayı bilmek, programlamanın nasıl yapılacağını bilmek anlamına geliyor. Dillerse, bu bildiğimiz yöntemleri “yazıya” dökmekten ibaret.

Yüzlerce farklı programlama dili olmasına rağmen, günümüzde bir çoğu ya çok az kullanılıyor, ya da hiç kullanılmıyor. Gelin şimdi popüler bir kaç programlama dilinden biraz bahsedip, ekrana “Hello, world!” yazdıracak bir program yazalım.

 

ARDUINO

Arduino esasında bir programlama dili değil. Bir elektronik devrenin adı. Ancak programlanabilir bir devre olması ve kendine has bir dilinin bulunması sebebiyle buraya ekledim. Arduino’da C temelli bir dil kullanıyoruz. Cihazın bir ekranı olmadığı için ekrana değil, seri porta yazdırma işlemi yapalım buyrun:

void setup()
{
Serial.begin(9600);
Serial.println(“Hello, world!”);
}

void loop()
{

}

 

ASP

Günümüzde ASP.net’in çıkmasıyla kullanım alanı oldukça kısıtlanmış olsa da, ASP’den buradan bahsetmeden geçmek olmaz. Esasında ASP de bir programlama dilinin adı değil. Bir sayfa üretim motoru teknolojisinin adı. ASP içinde farklı diller kullanabiliyoruz. Ancak ben buraya günlük hayattaki yaygın kullanım şekli olan VBScript ile bir ASP sayfasına yazı yazdıracağım.

<%
Response.write “Hello World!”
%>

 

BASIC

En basit ve en yaygın programlama dillerinden birisi. 1964 yılında ortaya çıktıktan sonra, Microsoft tarafından da desteklenmesiyle yaygınlığını yıllarca korumayı başardı. Bir “eğitim dili” olmasına rağmen, profesyonel hayatta da BASIC ve türevlerinin kullanım alanı bulunuyor.

10 REM Hello World in BASIC
20 PRINT “Hello World!”

 

C

Programlama deyince akla ilk gelen dillerden biri muhakkak C’dir. 1972 yılında ortaya çıkmasından beri; C ve türevleri programcılar arasında halen çok yaygın kullanılıyor. ANSI C dediğimiz, orijinal C, günümüzde sistem programcılığı dışında pek yaygın kullanılmasa da, bir çok yaygın dilin C’den türediğini unutmamak gerekiyor. Ayrıca Linux dünyasında halen C’nin önemli bir yer kapladığını da belirtmek gerekli.

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
puts(“Hello World!”);
return EXIT_SUCCESS;
}

 

C++

C’nin 1979 yılında “nesneye dayalı” bir hale gelmesiyle C with Classes, yani C++ ortaya çıktı. Kısa süre içinde C’nin tahtını sallayıp, özellikle Windows işletim sistemleri içinde en yaygın kullanılan dil haline geldi. C dilini kapsamakla birlikte, C’de olmayan “sınıflar” mantığını dile kazandırmıştır.

#include <iostream.h>

main()
{
cout << “Hello World!” << endl;
return 0;
}

 

C#

C temelli bir dil olan C# bugün oldukça yaygın bir kullanıma sahip olan Microsoft .Net teknolojisinin en popüler dili. Benim de en fazla uğraştığım dillerden biri olan C#, .Net’in sunduğu bütün imkanları oldukça hızlı bir şekilde kullanmamızı sağlıyor.

class HelloWorld
{
static void Main()
{
System.Console.WriteLine(“Hello, World!”);
}
}

 

COBOL

Bugün artık pek rastlamasak da, geçmişin “popüler” dillerinden biri olan Cobol’u da listemize alalım dedik. Biraz da benim lisede “Cobol dersi” görmem sebebiyle olabilir 🙂

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MAIN SECTION.
DISPLAY “Hello World!”
STOP RUN.

 

DELPHI

Yukarıda aslında bahsettim. Delphi dilin değil, IDE’nin adı. Ancak akıntıya karşı kürek çekmenin bir anlamı yok. Object Pascal adındaki dili çoğumuz Delphi diye anıyoruz. Her ne kadar Borland’ın, Microsoft tarafından satın alınmasıyla o efsanevi yükselişi sona erse de; halen bu yetenekli yaramaz, bir çok popüler dili zorlamaya devam ediyor. Benim hayatımdaki yeri de çok önemlidir. Kendisinin sayesinde çok iyi paralar kazandım. Bugün belki arabama binerken bile Delphi’nin yaratıcılarına teşekkür etmem gerekiyor.

Program Hello_World;

{$APPTYPE CONSOLE}

Begin
  WriteLn(‘Hello World’);
End.

 

JAVA

90’lardan itibaren hayatımıza girmeye başlayan Java, özellikle “platform bağımsızlık” kavramıyla gündeme geldi. Bir çok alanda kendine yer bulsa da, en popüler olduğu alan Android işletim sistemi. Windows için C++ neyse, Android için de JAVA o.

class HelloWorld {
  static public void main( String args[] ) {
    System.out.println( “Hello World!” );
  }
}

 

PASCAL

1970’li yıllarda ortaya çıkmasıyla, o yılların C ve Basic dışında en popüler dili haline gelen Pascal, bugün kendine pek kullanım alanı bulamasa da, yerini halefi Delphi’ye bırakarak, adının varlığını sürdürüyor.

program HelloWorld(output);
begin
  WriteLn(‘Hello World!’);
end.

 

PHP

Web sayfalarının 2000’li yıllardaki patlamasında ve internetin bu kadar yetenekli haline gelmesinde rakibi ASP ile birlikte en önemli aktörlerden biri de PHP’dir. Yıllarca Facebook’a onun sayesinde girdik nihayetinde.

<?php
  echo ‘Hello World!’;
?>

 

PYTHON

Son yılların basit ve yetenekli gözdesi Python’da tabi ki listemizde olmayı hakediyor. 1991 yılında ilk ortaya çıktığında Unix ve Linux platformlarında popülerleşmeye başlasa da, zaman içinde her platformda gözde bir dil haline geldi.

print(“Hello World”)

 

One thought on “Programla Dilleri

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir