Rehber Hangi Programlama Dili Seçilmeli?

The Tribal Chief

Hectopat
Katılım
26 Nisan 2020
Mesajlar
6.780
Makaleler
44
Çözümler
9
Merhabalar,

Sürekli "Hangi dil ile başlamam gerekir?" sorusunu görüyoruz. Elimden geleni kadarı ile bir açık getirmek istiyorum.

Hangi işletim sistemi kullanmalıyım?
En çok kullanılan sistem Windows'tur. Bu nedenle çoğu firma Windows için uygulama çıkartıyorlar. Örnek vermek gerekirse; GTA 5 Linux için yok. Varsa da hiç duymamışımdır. Apple'ın işletim sistemini destekliyor mu bilmiyorum. Hiç kullanmadım. Windows benim için daha iyi. Sebebi ise dediğim gibi en çok Windows tutuluyor ve buna göre uygulama ve oyun çıkartıyorlar. Linux'ta .exe uzantılı dosyalar Wine uygulaması ile çalışıyor ancak hepsi değil. Bazı diller Linux için iyi olabilir. Buna en popüler dillerden olan Python'u örnek verebilirim.

Hangi dil ne işe yarıyor?
Buna tek tek cevap vermeye kalkarsak bitmek bilmez. Buna dillerin seviyesinden ve en popüler dillerden bahsederek yapabiliriz.

Yazılım dili seviyeleri nedir?
Yazılım dilleri daha rahat anlayabilmek için yapılmış bir şeydir diye düşünüyorum şahsen.

Yazılım dili seviyeleri ve örnek diller nelerdir?
Yazılım dilleri beş seviyeye ayrılır; makine dili, düşük, orta, yüksek ve çok yüksek seviyeli dil.
1- Makine dili: Her şeyin başı makine dilidir. Derleyicilerinin(VS örnek verilebilir) ve yorumlayıcının(Python) dönüp dolaştığı yerdir. İşletim sisteminden tutup WEB tasarıma kadar her şey makine dilidir. Makine dili "00000001" "01000010" şeklinde karman çorman gibi sayılar oluşturur. Her harf, sayı veya özel karakter tek tek buna dönüşüyor. Makine dili ile her şey yapılabilir. Ancak yazması çok zor bir dil. O yüzden bu dil hiç tavsiye edilmiyor.

2- Düşük seviyeli dil: Bunu görünce aklınıza direk Assembly dili gelsin. Diller kolaydan zora "Makine dili> düşük seviyeli dil>orta seviyeli dil> yüksek seviyeli dil>çok yüksek seviyeli dil" olarak gider. Dilin seviyesi arttıkça kullanım dalı kısıtlanır ve dili anlamak daha kolay olur. Assembly ile hemen hemen her şeyi yazabilirsiniz ama bir WEB sitesini Assembly ile 5 saatte yapılırken PHP ile 1 saat sürer. Dili kullanım alanı kısıldıkça da hızı ve anlaşılması yönünden avantaj verir. Ancak Assembly ile işletim sistemi yapılırken PHP ile işletim sistemi yapılamaz. Dediğim gibi dil kolaylaştıkça ve seviyesi arttıkça alanı kısıtlanır.

3- Orta seviyeli dil: Genellikle işletim sistemi ve masaüstü uygulaması yapmak için kullanılır. C ve C++ dilleri en popüler 2 dildir.

4- Yüksek seviyeli dil: Dediğim gibi dilin seviyesi yükseldikçe daha rahat ve hızlı yazılır ancak etki alanı azalır. Bu dile örnek olarak Python, C#, Pascal gibi diller sayılabilir. Bu seviyeli dil işletim sistemi yazamaz ancak masaüstü programını daha hızlı yazar.

5- Çok yüksek seviyeli dil: Anlayacağınız gibi etki alanı en az fakat program yazmak için en hızlı seviye dilidir.


Masaüstü uygulaması, işletim sistemi, gömülü sistemler, WEB sitesi, oyun yapımı gibi alanlar uzar da uzar. Saydığım veya saymadığım alanlardan seçip sadece birinden yükselin. Yatay programlama değil dikey programlama öğrenin. Yani sadece bir alanda profesyonel olmaya çalışın.

Örnek olarak masaüstü uygulaması yapalım diyelim ve gereken şeyler nelerdir ona bakalım: Masaüstü uygulaması çoğu yazılım dili ile yazılabilir. Ama ben makine dili ve düşük seviyeli dili önermem. Onun yaptığı çoğu şeyi yapan orta seviyeli dili seçerim. Burada kullanılacak olan en popüler diller C ve C++'dır. En iyi yazılım diye bir şey yoktur. Sadece en popüler dil diye bir şey vardır. Orta seviyeli dil bana göre yüksek veya çok yüksek dilden daha iyidir. Dediğim gibi dilin seviyesi arttıkça etki alanı kısalır ve derinlemesine uygulama yapamazsınız.
 
Dilleri böyle sınıflandırmak bence yanlış olur. Her dilin bir oluşturulma ve kullanma amacı var. Zorluk olarak kıyaslamak da saçmalık, syntaxları aynı olan diller çokça mevcut.
Ayrıca dil seçimini popülerliğe göre değil ne yapmak istediğinize göre seçmelisiniz, ardından popülerlik gelir. Website yapacak birisine Javasc yerine C++ önermek saçmalık olur.
 
WEB sitesini Assembly ile 5 saatte yapılırken PHP ile 1 saat sürer.
Assembly ile web sitesi yazmak 5 saat mi sürer? 5 hafta ya da 5 ay olmasın? Web protokollerini bile baştan yazacağınızı düşününce daha uzun da sürebilir...
 

Geri
Yukarı