Programlama dillerinin dünya genelinde kullanımı ve popülaritesi

Hârp

Öğrenci
Katılım
4 Nisan 2014
Mesajlar
11
Reaksiyon puanı
1
Puanları
0

falcon291

Profesör
Katılım
6 Eylül 2012
Mesajlar
1,360
Reaksiyon puanı
45
Puanları
228
Güzel liste ama eklemek istediğim birkaç şey var:
1. SQL Yazılım dili değildir, düzelteyim anladığımız anlamda yazılım dili değildir. Ama öte yandan programcı olmak isteyen herkesin bilmesi gereken bir dildir. Birgün her programcı bu dili bilmeye ihtiyaç duyar.
2. C makina diline en yakın kodu yazmanızı sağlayan aygıt sürücülerinin yazıldığı bir dildir. Avantajı budur, dezavantajı da budur. Benim gözümde öğrenilmesi gereken bir dildir.
3. Makina dili işin özüdür. Sağlam bir temel için çok kısa olsa da birşeyler yazılmasını yine tavsiye ederim.
4. Visual Basic ve Basic sülalesi gerek basitliği, gerekse de gücü nedeniyle buradakilerin çoğu eminim burun kıvırsa kesinlikle bilinmesi artıdır.
4. C++, Java, C# sülalesi aslında çok da farklı olmayan bir gruptur. Nesne yönelimli üç aşağı beş yukarı benzer yapıda dillerdir. C++ nesne yönelimin uc noktasıdır. Java, C# bu uc noktayı daha geriye çeken ve nispeten basitleştiren dillerdir.

Sözün kısası bence ilk öğrenilmesi gereken dil Visual Basic'dir. Sonrasında C öğrenilir ve C'den sonra makina diline girilir. Bunlar temeldir. Sonra nesne yönelimli dillere başlamak gerekir. C++ diyeceğim, ama gerçekten gerek var mı o kadar emin değilim. Java ya da C# ile devam edilir. Bu arada paralelde SQL öğrenmek, ayrıca ihtiyaca göre Javascript ve sonrasında PHP gibi diller mantıklı olabilir. Tabi SQL'den sonra Oracle'ın PL/SQL'ini de eklemek lazım.

Kİşisel görüştür. Şu sıralar Visual Basic'ten para kazanıyorum. Visual Basic, C, makina dili, C++ ile kodlar yazdım, Java kodları ile debelendim. Bir ara C# kodlarını değiştirdim. C++'ı bir yerlere getirdim, ama daha ileri gitmedim. Şu sıralar bir de Javascript'imi ilerletme ve SQL bilgimi tekrar eski seviyesine geçirip, hafiften PL/SQL'e bulaşma çabası içerisindeyim.
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
508
Reaksiyon puanı
2
Puanları
18
Güzel liste ama eklemek istediğim birkaç şey var:
1. SQL Yazılım dili değildir, düzelteyim anladığımız anlamda yazılım dili değildir. Ama öte yandan programcı olmak isteyen herkesin bilmesi gereken bir dildir. Birgün her programcı bu dili bilmeye ihtiyaç duyar.
2. C makina diline en yakın kodu yazmanızı sağlayan aygıt sürücülerinin yazıldığı bir dildir. Avantajı budur, dezavantajı da budur. Benim gözümde öğrenilmesi gereken bir dildir.
3. Makina dili işin özüdür. Sağlam bir temel için çok kısa olsa da birşeyler yazılmasını yine tavsiye ederim.
4. Visual Basic ve Basic sülalesi gerek basitliği, gerekse de gücü nedeniyle buradakilerin çoğu eminim burun kıvırsa kesinlikle bilinmesi artıdır.
4. C++, Java, C# sülalesi aslında çok da farklı olmayan bir gruptur. Nesne yönelimli üç aşağı beş yukarı benzer yapıda dillerdir. C++ nesne yönelimin uc noktasıdır. Java, C# bu uc noktayı daha geriye çeken ve nispeten basitleştiren dillerdir.

Sözün kısası bence ilk öğrenilmesi gereken dil Visual Basic'dir. Sonrasında C öğrenilir ve C'den sonra makina diline girilir. Bunlar temeldir. Sonra nesne yönelimli dillere başlamak gerekir. C++ diyeceğim, ama gerçekten gerek var mı o kadar emin değilim. Java ya da C# ile devam edilir. Bu arada paralelde SQL öğrenmek, ayrıca ihtiyaca göre Javascript ve sonrasında PHP gibi diller mantıklı olabilir. Tabi SQL'den sonra Oracle'ın PL/SQL'ini de eklemek lazım.

Kİşisel görüştür. Şu sıralar Visual Basic'ten para kazanıyorum. Visual Basic, C, makina dili, C++ ile kodlar yazdım, Java kodları ile debelendim. Bir ara C# kodlarını değiştirdim. C++'ı bir yerlere getirdim, ama daha ileri gitmedim. Şu sıralar bir de Javascript'imi ilerletme ve SQL bilgimi tekrar eski seviyesine geçirip, hafiften PL/SQL'e bulaşma çabası içerisindeyim.
Üstat makina dili dediğin binary tabanda (ikili sayı) kod değil mi? Biz nasıl yazıcaz 1 ve 0'lardan oluşan kodu?
 

falcon291

Profesör
Katılım
6 Eylül 2012
Mesajlar
1,360
Reaksiyon puanı
45
Puanları
228
Makina dili ile kastettiğim Assembly dilidir. Yoksa elbette teorik olarak kağıt kalem alıp, komutları yazarak, hesaplayarak makina dilinde program yazmak mümkündür. Ama 10-20 satırdan sonra bu mümkün olmayacak kadar zor bir hale gelir. Assembly dlinde komutların adları ve parametreleri kullanılan ve yine bir compile işlemine ihtiyaç duyan bir dildir. PC'ler için artık assembly ile neredeyse hiç program yazılmıyordur tahmin ediyorum (driverlar dışında) ama entegre programlamak için hala assembly dili kullanılıyor ve kullanılmaya da devam edecek.

http://www.hep.wisc.edu/~pinghc/x86AssmTutorial.htm x86 yani PC'ler için assembly hakkında bilgi var.
 

penguin

Profesör
Katılım
11 Haziran 2009
Mesajlar
3,494
Reaksiyon puanı
201
Puanları
243
Bence programlama dillerindeki en büyük sorun komut ve komut kullanım parametrelerinin ezberlenmek zorunda kalınıyor oluşu. Üzerinde çalıştığım ve henüz prototip aşamasında olan bir dilden örnek vereyim. Mesela bir karakter katarının ilk boşluk karakterine kadar olan kısmını yakalamak için programlama dillerinde aşağı yukarı şu tip bir komut gerekir.

$str = 'Merhaba Dünya';
$substr = substr($str, 0, strlpos($str, ' '));
print $substr; /* Merhaba */

İngilizce kısaltmalardan oluşmuş komutları ve alacağı parametreleri sırasıyla ezberlemek gerekiyor. Oysa aynı işlem şu şekilde daha hızlı ve kolayca yapılabilirdi.

{'Merhaba Dünya'.[0-?:' ']};

Üç satırda yapılan iş tek satıra indi ve üstelik ezber gerektirecek hiç bir şey yok. Ne İngilizce, ne de parametre sırasını bilmek gerekmiyor. Kolay okunan, hata olasılığı düşük, konuşma dillerinden bağımsız ve çok daha az yer kaplayan bir dil. Pek çok açıdan daha avantajlı görünüyor öyle değil mi?

Ve en büyük programcı kabuslarından biri de işlevlerin hangi kütüphane dosyası içerisinde olduğunu bilmek ve ilgili kütüphaneyi programa dahil etmeyi unutmamak. Bu sorumluluğun da programcının değil derleyicinin üzerinde olması gerekir.
 

nobody946

Doçent
Katılım
4 Mayıs 2012
Mesajlar
508
Reaksiyon puanı
2
Puanları
18
[MENTION=70321]penguin[/MENTION] Usta eğer bunu yapabilirsen harika olur :)
 

falcon291

Profesör
Katılım
6 Eylül 2012
Mesajlar
1,360
Reaksiyon puanı
45
Puanları
228
Senin yapmaya çalıştığın javascript'de regular expression olarak geçiyor, yeni birşey değil. Ve ama düşündüğün kadar kullanışlı ve kolay değil.
 

penguin

Profesör
Katılım
11 Haziran 2009
Mesajlar
3,494
Reaksiyon puanı
201
Puanları
243
Senin yapmaya çalıştığın javascript'de regular expression olarak geçiyor, yeni birşey değil. Ve ama düşündüğün kadar kullanışlı ve kolay değil.

RegExp işlevleride var ama sadece karakter katarları üzerinde işlem yapmıyor. {...} ifadesi diğer dillerdeki print'e karşılık geliyor. Yine mesela regexp ile foreach, for, do-while tipi döngüler oluşturamazsın. Ben ise döngüyü şu şekilde oluşturuyorum.

[0;100;1]:
/* işlemler */
[];

ya da

[$i=0;100;2]:
/* işlemler */
[];

Gördüğün gibi döngü oluşturmak için herhangi bir anahtar kelime gerekmedi. İlk kullanımda değişken bile gerekmedi. Benim 0'dan 100'e kadar 1 adım aralıklı döngü oluşturmak istediğimi anladı. Geçerli adıma döngü içerisinde ?_ ile ulaşılabiliyor. İkinci kullanımda ise isteğe bağlı olarak bir değişken kullandım ve adım aralığını 2'ye çıkardım.
 

kmurat

Müdavim
Müdavim
Katılım
8 Şubat 2014
Mesajlar
8,589
Çözümler
3
Reaksiyon puanı
3,755
Puanları
1,358
Basic'te daha mantıklı algılanıyor bu tür işlemler ve de daha basitleştirilmişler.

Örnekler:

Kod:
print "Merhaba Dünyalılar !"

Kod:
a$ = "Merhaba Dünyalılar !"
print a$

Kod:
a$ = "Merhaba Dünyalılar !"
for i = 1 to 10
   print a$
next i

Geleneksel 16 bitlik Basic (Beyzik olarak okunur) derleyici (veya İde'lere) alternatif olarak Just Basic'i bir deneyebilirsiniz. Bir de açık kaynaklı bir sürü alfa veya beta aşamasında olan derleyiciler (veya deneyler) bulabilirisniz.

(Tabii, Projenize de devam edin.)
 

falcon291

Profesör
Katılım
6 Eylül 2012
Mesajlar
1,360
Reaksiyon puanı
45
Puanları
228
RegExp işlevleride var ama sadece karakter katarları üzerinde işlem yapmıyor. {...} ifadesi diğer dillerdeki print'e karşılık geliyor. Yine mesela regexp ile foreach, for, do-while tipi döngüler oluşturamazsın. Ben ise döngüyü şu şekilde oluşturuyorum.

[0;100;1]:
/* işlemler */
[];

ya da

[$i=0;100;2]:
/* işlemler */
[];

Gördüğün gibi döngü oluşturmak için herhangi bir anahtar kelime gerekmedi. İlk kullanımda değişken bile gerekmedi. Benim 0'dan 100'e kadar 1 adım aralıklı döngü oluşturmak istediğimi anladı. Geçerli adıma döngü içerisinde ?_ ile ulaşılabiliyor. İkinci kullanımda ise isteğe bağlı olarak bir değişken kullandım ve adım aralığını 2'ye çıkardım.

Penguin kardeş, senin dediğin bir for konup C'de yapılıyor, derdin bir for koymamaksa başına ve böyle operatörlerle bu işin daha iyi olduğunu iddia ediyorsan, söyleyeceğim birşey yok. Tüm dillerin bu şekilde oluşmalarının bir nedeni vardır ve kodun kısa olması daha okunur olmasının tersi sonuç doğurur.
 
Üst