Hangi programlama dili nerede kullanılır? Yeni başlayanlara tavsiyeler nelerdir?

tolpp

Kilopat
Katılım
10 Mayıs 2013
Mesajlar
11
En iyi cevaplar
0
Beğeniler
27
Herkese merhaba,

Üniversiteler dahil pek çok okulun tatile girmesiyle genç arkadaşların programlama ve yazılım geliştirmeyle ilgilenmeye başlayacağını düşündüm. Yeni başlayan arkadaşların kafasında da genelde benzer sorular var. "Hangi programlama dilini seçmeliyim?" ve "Programlamaya ilk adımı nasıl atmalıyım?". Bu yazının yeni başlayan arkadaşlar için faydalı olacağını düşünüyorum.

---

Yazılım geliştirme ne büyütülecek kadar zor ne de küçümsenecek kadar basit bir süreçtir. Süreç burada anahtar kelimedir çünkü hem yazılımlar hem de yazılım geliştirme ortamları sürekli bir gelişim içerisindedir. Bu yüzdendir ki, "artık biliyorum" dediğiniz ve ilerlemeyi bıraktığınız anda kendinize en büyük kötülüğü yapmış, yazılım geliştirme kariyerinize de noktayı koymuş olursunuz.

* Gelelim ilk noktaya : Programlamaya nereden başlamalıyım?

1 - İngilizcenizi geliştirin.
"E ama Türkçe de pek çok kaynak var" diyen arkadaşlar olacaktır. Haklılar. Güzel kaynaklar var. Ancak bu durumda teknolojiyi kullanan konumundan ileri gidilmiyor. Tamamen İngilizce yüklenin demiyorum. Ancak başlangıç seviyesinde zamanınızın %60 kadarını İngilizce'ye ayırın. Bu gerçekten çok önemli, ileride hak vereceksiniz. Sıkılmayın, anlamasanız bile İngilizce kaynaklardan okumaya çalışın, kelime ezberleyin. Hem entellektüel anlamda hem de gelişiminiz açısından bu sizi bir üst seviye kişiliğe taşıyacaktır.

2 - Ne yapacağınıza karar verin
Unutmayın ki programlama dili bir amaç değil, araçtır. Önce öğreneyim, sonra yaparım düşüncesi sizi zaman kaybına uğratabilir. En iyi şeklinde adlandırılabilecek bir programlama dilinin olmadığını unutmayın. Her dilin iyi olduğu, kötü olduğu konular vardır. Peki, hangi amaç için hangi diller kullanılabilir? Birkaç güncel kullanım alanı :

  • Ben mobil uygulama geliştireceğim diyorsanız :
    • iOS --> Objective-C
    • Android --> Java
    • Windows Mobile --> .NET ile kullanılabilen bir dil (Visual C++, Visual C#, VB,F#...)
  • Masaüstü uygulama geliştireceğim diyorsanız :
    • Uygulamanız Windows üzerinde çalışacaksa
      • .NET kullanan dil (Visual C#, Visual F#, Visual C++, Visual Basic)[C# önerilir]
    • Uygulamanızın tüm ortamlarda çalışmasını istiyorsanız (Mac, Windows, Linux...)
      • Java (Önerilir)
      • Python
      • C++
  • Oyun geliştireceğim diyorsanız :
    • Lua (Önerilir)[Hem mesaüstü hem de mobil pek çok ortamda kullanılabiliyor.]
    • C# (Windows altında XNA Game Studio ile iyi işler çıkartılabiliyor.)
    • C (OpenGL gibi temel grafik kütüphaneleri ile uğraşacaksanız gerekli)
  • Elektronik cihazlara hükmedeceğim, donanımın derinliklerine ineceğim diyorsanız :
    • C
    • Assembly (Başlangıç için hiç gerek yok.)
  • Yapay zeka ile uğraşacağım, zeki sistemler yapacağım diyorsanız :
    • Haskell
    • Prolog
    • Scala
  • Benim işim web ve sunucular diyorsanız :
    • Front-end için : (Kullanıcı ile etkileşime giren kısım, görsel kısım da denilebilir)
      • HTML (Mutlaka!)(Programlama dili değil, işaretleme dilidir)
      • CSS (Mutlaka!)
      • JavaScript (İstemci taraflı programlamanın can alıcı noktasıdır.)
        • JS üzerinde ilerlendikten sonra CoffeeScript'e de bakılabilir.
    • Back-end için : (Sunucu tarafı)(Kırılma noktası)
      • Kolay öğrenip bir an önce başlamak mı istiyorsunuz?
        • PHP
        • ASP.NET + C#
      • Kolayca geliştirilebilir, kolay dağıtılabilir uygulamalar geliştirmek mi istiyorsunuz?
        • Ruby (Ruby on Rails isminde şahane bir framework var)
        • Python (Django framework'ü ile birlikte)
        • JavaScript (Günümüzün yükselen gözdesi : Node.js isimli web framework'ü var.)
        • Scala (Play! Framework ve Lift)
      • Taş gibi, sapasağlam uygulamalar istiyorsanız :
        • Java (JavaEE isimli kavram bu yüzden var.)
        • ASP.NET (Burada bulunması tartışılabilir.)
  • Hacker'lık benim geleceğim diyorsanız
    • Hepsini öğrenin.

Unuttuğum kısımlar olabilir. "Şunun için ne yapmalıyım" derseniz, güncellerim yeniden. Yukarıdakiler güncel kullanım alanlarına göre dillerin bir toplaması. Elbette tüm diller bu kadar değil. Kronolojik olarak listeye şuradan ulaşılabilir : http://en.wikipedia.org/wiki/Timeline_of_programming_languages

----

Dillerin (+) ve (-) özellikleri nelerdir?

Java
+ Tüm ortamlarda çalışabilir.
+ C'ye benzer söz dizimi vardır.
+ Stabil çalışır.
+ Çok geniş bilgi birikimi, çok geniş kütüphanesi vardır.
- Bytecode'a derleme, makina koduna yorumlama yapılır. (JVM burada devreye giriyor). Bu yüzden C'ye göre yavaş çalışır.
- Çalıştırılacak bilgisayarda JRE kurulu olmalıdır.

PHP
+ Günümüzde halen en çok kullanılan web programlama dillerinden biridir.
+ Öğrenmesi diğer dillere göre kolaydır
+ Türkçe pek çok kaynak vardır.
+/- Veri tipleri dinamik olarak belirlenir. (Programlamayı kolaylaştırır ancak hata denetimini zorlaştırır ve performansı düşürür)
- Dilin kendi içerisinde tutarsızlıkları vardır. (metod isimleri, kurallar kesin değildir, pek standart yoktur. Bu da giriş seviyesi öğrenmeyi kolay, uzmanlaşmayı zor kılar.)

C#.Net
+ Windows masaüstü uygulama denince akla ilk gelendir.
+ Visual Studio gibi işleri çok kolaylaştıran bir IDE'ye sahiptir.
+ Oldukça tutarlı, oturmuş bir dildir. C'ye benzer söz dizimine sahip diller arasında yapısal olarak en gelişmişidir denebilir.(Evet, yapısal olarak Java'dan daha iyidir :) )
+ Türkçe kaynak bulmak kolaydır.
- Microsoft'un tekelinde olan bir dildir.(Aslında tam değil de, .NET olmadan bir işe yaramaz :) Ayrıca, Microsoft'un sahip oladığı ürünler ile beraber kullanımı sıkıntılar doğurabilir. )
- Windows olmadan bir işe yaramaz.

JavaScript
*JavaScript(JS), Java ile aynı şey değildir!
+ Pek çok alanda doğrudan kullanılır. Kullanım alanı sınırsızdır denilebilir.
+ Hem iteratif hem de fonksiyonel programlama dili özelliği gösterir.
+ Yavaştır denemez. Google V8 Engine ile çalışma hızı bambaşka bir boyuta taşınmıştır.
+/- Tüm olaylar dinamik olarak gerçekleşir. Derlenmez.
- Debug yapmak zordur (kısmen).

C/C++
+ Pek çok dilin atasıdır.
+ 70'li yıllarda ortaya çıkmasına rağmen halen güncellenmektedir (C++ için bahsedersek, ANSI-C aynı :) )
+ Hızlı işlemler ve temel düzey görevler için biçilmiş kaftandır.
+ Donanıma en yakın dillerdendir. Doğrudan assembly olarak derlenir.
- Hata alınabilecek çok nokta vardır. Dil sizin için pek kontrol yapmaz. Küçücük hata çılgın sonuçlar doğurabilir.
- Debug yapmak oldukça zordur.
- Kullanımı zordur.

Python
+ Kullanımı kolay bir dildir.
+ Google tarafından çok sevilir.
- Türkçe kaynak bulmak çok kolay değildir.

Scala
+ Yükselişte olan yeni gözde dildir.
+ Hem nesne yönelimli hem de fonksiyonel dil özelliği gösterir.
+ JVM üzerinde çalışır, Java'ya ait tüm kütüphaneler kullanılabilir.
- Türkçe kaynak bulmak çok zordur.

Lua
+ Hızlı çalışan, kullanımı kolay olan scripting dilidir.
+ Oyun dünyasında pek çok noktada kullanılır
- Türkçe kaynak az sayıdadır.

------
- Nereden öğrenebilirim?
Her dilin kendine ait kullanım kılavuzu sayfası vardır. Temel referans noktalarınız bunlar olabilir. Ancak bir şekilde kitap edinmeniz daha hızlı öğrenmenizi sağlayacaktır. Eğer İngilizce de olur diyorsanız O'Reilly'nin kitaplarını tavsiye ederim. Çoğu kitap malum ortamlarda bulunabiliyor.

Bunun yanında http://www.codecademy.com/ yeni başlayanlar için mükemmel bir kaynak. JS, Python, Ruby derslerine buradan bakabilirsiniz.

HTML/CSS için http://www.w3schools.com/ 'u öneririm.

Ve elbette, yegane kaynağımız internet :)

-----
Sorularınız :
Eğer yeniyseniz, ya da henüz başlamamışsanız soru sormaktan çekinmeyin. Konu altında ya da özel mesaj ile sorularınızı iletebilirsiniz. Çok daha acilse çekinmeden tolpp(at)hotmail.com adresine mail atın. Java konusunda iyiyim, diğerleri hakkında da bilgi birikimim var.
----

En en özet : En iyi diye bir programlama dili yoktur. Ancak JavaScript pek çok şey için güzel bir başlangıç olabilir.
 

Bulut Uzer

Kilopat
Katılım
2 Ocak 2013
Mesajlar
857
En iyi cevaplar
1
Beğeniler
348
Yer
İstanbul
"(Programlamayı kolaylaştırır ancak hata denetimini zorlaştırır ve performansı düşürür)" ne konuda bir performans düşüşünden bahsediyorsunuz acaba? Burada ki performans düşüşü kişiye bağlı bir durum olarak bahsetmek daha doğru olmaz mı? Son maddede belirtmişsiniz "uzmanlaşmayı zor kılar" diye ama yinede belirtmek de fayda var. Kişilerin kod yapısına ve kullandığı platforma göre performans düşüşü yaşayabileceğinin. Bilgilendirme için teşekkür ederim.
 
KS
tolpp

tolpp

Kilopat
Katılım
10 Mayıs 2013
Mesajlar
11
En iyi cevaplar
0
Beğeniler
27
"(Programlamayı kolaylaştırır ancak hata denetimini zorlaştırır ve performansı düşürür)" ne konuda bir performans düşüşünden bahsediyorsunuz acaba? Burada ki performans düşüşü kişiye bağlı bir durum olarak bahsetmek daha doğru olmaz mı?
Buradaki performans düşüklüğünden kasım, yazılan programların çalışma hızı. Değişken tiplerinin dinamik olarak belirlendiği programlama dillerinde bu durum söz konusudur.
Örneğin;
C'de integer bir değişkeni "int a = 10;" diyerek tanımlarsınız. PHP'de ise "$a=10;" denemiz yeterlidir. C'de verinin tip kontrolü program derlenirken belirlenir. Yani daha program çalışmadan "a" değişkeninin tipinin "int" olduğu bellidir. Ancak PHP de bu denetlemeler programın çalışması sırasında yapılır. Bu da performans düşüklüğüne sebep olur.

Aslında bu uygulamalar içerisinde rahatsız edici bir gecikmeye sebebiyet vermez. Bu fark ancak CPU yüklü işlemlerde farkedilebilir. Bu yüzdendir ki 2-3 gün sürecek matematik işlemlerini kimse PHP kullanarak yapmaz.

Performansa etki eden diğer faktörde PHP'nin bir scripting dili olmasıdır. Kodlar alt seviyeye derlenmediği için daha yavaş çalışır. Ancak PHP, sonuç olarak yalnızca bir dildir. Bu yüzden; örneğin, bu derlenmeme olayından rahatsız olan Facebook, scripting dili olan PHP'yi HipHop compiler ile derler.

Son maddede belirtmişsiniz "uzmanlaşmayı zor kılar" diye ama yinede belirtmek de fayda var. Kişilerin kod yapısına ve kullandığı platforma göre performans düşüşü yaşayabileceğinin. Bilgilendirme için teşekkür ederim.
Uzmanlaşmayı zor kılar dememin sebebi de PHP'de çok alakasız metod isimlerinin, çok alakasız yapıların olması. Çok basit bir örnekle, "array_key_exists('değer',$array)" metodu ilk parametre olarak string, ikinci olarak obje alırken, "property_exists($class,'değer')" metodu ilk olarak class, ikinci olarak string alır. Bu gibi durumlar pek çok farklı varyasyonu ezberlemeyi gerektirir :)
 
Son düzenleyen: Moderatör:

hacistar

Hectopat
Katılım
27 Aralık 2013
Mesajlar
307
En iyi cevaplar
0
Beğeniler
43
Hobi olarak C#'a baslamayi dusunuyorum. Fakat bu dil ile ne yazilabilir, masaustu uygulama derken.. Acaba yol gosterebilir misiniz?
 

byanigli

Kilopat
Katılım
3 Ocak 2014
Mesajlar
579
En iyi cevaplar
0
Beğeniler
263
Yer
İzmir, Turkey, Turkey
Ben C'de başlamasını tavsiye ederim ki hatta yönelge bile verebilirim .
1. kütüphanenin tanımlanması printf kullanması
2. Değişkenlerin tanımlanması ve operatörlerinin printf ile kullanılması
3. scanf kullanımı ve alınan verileri ekrana yazdırılması
4.Dongüler ve Veri kontrolleri
4a. İf yapısı
4b. Swicth case yapısı
4c. for döngüsü
4d. while döngüsü
4.e do-while döngüsü
5. Fonksiyonlarin tanımlanması
5a. İtrative fonksiyonlar (return degeri döndürenler)
5b. recursive fonksiyonlar (fonksiyon icinde bir daha kendi fonksiyonunu cağırma)
5c. void fonksiyonlar (retun degeri döndürmeyen boş fonksiyonlar)
5d. main fonksiyonunda fonksiyonları çagırma ve yazdırma
6. Diziler ve matrixler (arrayler)
7 . Pointerler (verilerin ramde saklandıgı yollari gösterir)
ve C dili biter hayırlı ugurlu olsun ve birde daha sonradan geliştirilen kütüphaneler vardir ama onlar sadece işimizi kolaylaştırır mesala math.h kütüphanesindeki pow(x.y) komutu x .ye göre kuvvetini alır ama biz onu recursive fonksiyon ve bir döngü ile yaptırabiliriz :)
 

ahmeterol

Hectopat
Katılım
31 Aralık 2012
Mesajlar
573
En iyi cevaplar
0
Beğeniler
34
Yer
İstanbul
Ben okulda Miracle C adlı programın eğitimini aldım do-while döngüsü , if-else yapısı ve diğer şeyleri biliyorum. C# visual studio oluyor sanırım , peki c++ falan ne oluyor aralarında ne fark var ve benim okulda gördüğüm miracle c programı arasında ki fark ?
 

byanigli

Kilopat
Katılım
3 Ocak 2014
Mesajlar
579
En iyi cevaplar
0
Beğeniler
263
Yer
İzmir, Turkey, Turkey
Miracle C degil C egitimi aldın , bilgisayar ne printfden ne scanfden nede for'dan do'dan onun anladıgı dil 2lik sayi dilleridir , 0 ve 1 yani . Miracle'da bizim yazdıklarımızı 1 ve 0 dönüştürüyor. her programlamla dili belirgin amaçlara göre çıkarılmıştır bu yüzden ortaya farklar dogmuştur . Hangi dili kullanırsan kullan algoritman hep aynıdır.
 

nurulhack

Decapat
Katılım
15 Aralık 2015
Mesajlar
1
En iyi cevaplar
0
Beğeniler
0
biraz fazla geç oldu ancak bu yola yeni atıldım aklımda çok güzel bi oyun fikri var ancak hangi oyun motorunda yapabilceğim hakkında bi fikrim yok eğer hala aktifsen , yazarsan bu konu hakkında konuşabilirmiyiz birçok sorum olacak
 
Katılım
27 Ocak 2020
Mesajlar
1.054
En iyi cevaplar
0
Beğeniler
611
Herkese merhaba,

Üniversiteler dahil pek çok okulun tatile girmesiyle genç arkadaşların programlama ve yazılım geliştirmeyle ilgilenmeye başlayacağını düşündüm. Yeni başlayan arkadaşların kafasında da genelde benzer sorular var. "Hangi programlama dilini seçmeliyim?" ve "Programlamaya ilk adımı nasıl atmalıyım?". Bu yazının yeni başlayan arkadaşlar için faydalı olacağını düşünüyorum.

---

Yazılım geliştirme ne büyütülecek kadar zor ne de küçümsenecek kadar basit bir süreçtir. Süreç burada anahtar kelimedir çünkü hem yazılımlar hem de yazılım geliştirme ortamları sürekli bir gelişim içerisindedir. Bu yüzdendir ki, "artık biliyorum" dediğiniz ve ilerlemeyi bıraktığınız anda kendinize en büyük kötülüğü yapmış, yazılım geliştirme kariyerinize de noktayı koymuş olursunuz.

* Gelelim ilk noktaya : Programlamaya nereden başlamalıyım?

1 - İngilizcenizi geliştirin.
"E ama Türkçe de pek çok kaynak var" diyen arkadaşlar olacaktır. Haklılar. Güzel kaynaklar var. Ancak bu durumda teknolojiyi kullanan konumundan ileri gidilmiyor. Tamamen İngilizce yüklenin demiyorum. Ancak başlangıç seviyesinde zamanınızın %60 kadarını İngilizce'ye ayırın. Bu gerçekten çok önemli, ileride hak vereceksiniz. Sıkılmayın, anlamasanız bile İngilizce kaynaklardan okumaya çalışın, kelime ezberleyin. Hem entellektüel anlamda hem de gelişiminiz açısından bu sizi bir üst seviye kişiliğe taşıyacaktır.

2 - Ne yapacağınıza karar verin
Unutmayın ki programlama dili bir amaç değil, araçtır. Önce öğreneyim, sonra yaparım düşüncesi sizi zaman kaybına uğratabilir. En iyi şeklinde adlandırılabilecek bir programlama dilinin olmadığını unutmayın. Her dilin iyi olduğu, kötü olduğu konular vardır. Peki, hangi amaç için hangi diller kullanılabilir? Birkaç güncel kullanım alanı :

  • Ben mobil uygulama geliştireceğim diyorsanız :
    • iOS --> Objective-C
    • Android --> Java
    • Windows Mobile --> .NET ile kullanılabilen bir dil (Visual C++, Visual C#, VB,F#...)
  • Masaüstü uygulama geliştireceğim diyorsanız :
    • Uygulamanız Windows üzerinde çalışacaksa
      • .NET kullanan dil (Visual C#, Visual F#, Visual C++, Visual Basic)[C# önerilir]
    • Uygulamanızın tüm ortamlarda çalışmasını istiyorsanız (Mac, Windows, Linux...)
      • Java (Önerilir)
      • Python
      • C++
  • Oyun geliştireceğim diyorsanız :
    • Lua (Önerilir)[Hem mesaüstü hem de mobil pek çok ortamda kullanılabiliyor.]
    • C# (Windows altında XNA Game Studio ile iyi işler çıkartılabiliyor.)
    • C (OpenGL gibi temel grafik kütüphaneleri ile uğraşacaksanız gerekli)
  • Elektronik cihazlara hükmedeceğim, donanımın derinliklerine ineceğim diyorsanız :
    • C
    • Assembly (Başlangıç için hiç gerek yok.)
  • Yapay zeka ile uğraşacağım, zeki sistemler yapacağım diyorsanız :
    • Haskell
    • Prolog
    • Scala
  • Benim işim web ve sunucular diyorsanız :
    • Front-end için : (Kullanıcı ile etkileşime giren kısım, görsel kısım da denilebilir)
      • HTML (Mutlaka!)(Programlama dili değil, işaretleme dilidir)
      • CSS (Mutlaka!)
      • JavaScript (İstemci taraflı programlamanın can alıcı noktasıdır.)
        • JS üzerinde ilerlendikten sonra CoffeeScript'e de bakılabilir.
    • Back-end için : (Sunucu tarafı)(Kırılma noktası)
      • Kolay öğrenip bir an önce başlamak mı istiyorsunuz?
        • PHP
        • ASP.NET + C#
      • Kolayca geliştirilebilir, kolay dağıtılabilir uygulamalar geliştirmek mi istiyorsunuz?
        • Ruby (Ruby on Rails isminde şahane bir framework var)
        • Python (Django framework'ü ile birlikte)
        • JavaScript (Günümüzün yükselen gözdesi : Node.js isimli web framework'ü var.)
        • Scala (Play! Framework ve Lift)
      • Taş gibi, sapasağlam uygulamalar istiyorsanız :
        • Java (JavaEE isimli kavram bu yüzden var.)
        • ASP.NET (Burada bulunması tartışılabilir.)
  • Hacker'lık benim geleceğim diyorsanız
    • Hepsini öğrenin.

Unuttuğum kısımlar olabilir. "Şunun için ne yapmalıyım" derseniz, güncellerim yeniden. Yukarıdakiler güncel kullanım alanlarına göre dillerin bir toplaması. Elbette tüm diller bu kadar değil. Kronolojik olarak listeye şuradan ulaşılabilir : http://en.wikipedia.org/wiki/Timeline_of_programming_languages

----

Dillerin (+) ve (-) özellikleri nelerdir?

Java
+ Tüm ortamlarda çalışabilir.
+ C'ye benzer söz dizimi vardır.
+ Stabil çalışır.
+ Çok geniş bilgi birikimi, çok geniş kütüphanesi vardır.
- Bytecode'a derleme, makina koduna yorumlama yapılır. (JVM burada devreye giriyor). Bu yüzden C'ye göre yavaş çalışır.
- Çalıştırılacak bilgisayarda JRE kurulu olmalıdır.

PHP
+ Günümüzde halen en çok kullanılan web programlama dillerinden biridir.
+ Öğrenmesi diğer dillere göre kolaydır
+ Türkçe pek çok kaynak vardır.
+/- Veri tipleri dinamik olarak belirlenir. (Programlamayı kolaylaştırır ancak hata denetimini zorlaştırır ve performansı düşürür)
- Dilin kendi içerisinde tutarsızlıkları vardır. (metod isimleri, kurallar kesin değildir, pek standart yoktur. Bu da giriş seviyesi öğrenmeyi kolay, uzmanlaşmayı zor kılar.)

C#.Net
+ Windows masaüstü uygulama denince akla ilk gelendir.
+ Visual Studio gibi işleri çok kolaylaştıran bir IDE'ye sahiptir.
+ Oldukça tutarlı, oturmuş bir dildir. C'ye benzer söz dizimine sahip diller arasında yapısal olarak en gelişmişidir denebilir.(Evet, yapısal olarak Java'dan daha iyidir :) )
+ Türkçe kaynak bulmak kolaydır.
- Microsoft'un tekelinde olan bir dildir.(Aslında tam değil de, .NET olmadan bir işe yaramaz :) Ayrıca, Microsoft'un sahip oladığı ürünler ile beraber kullanımı sıkıntılar doğurabilir. )
- Windows olmadan bir işe yaramaz.

JavaScript
*JavaScript(JS), Java ile aynı şey değildir!
+ Pek çok alanda doğrudan kullanılır. Kullanım alanı sınırsızdır denilebilir.
+ Hem iteratif hem de fonksiyonel programlama dili özelliği gösterir.
+ Yavaştır denemez. Google V8 Engine ile çalışma hızı bambaşka bir boyuta taşınmıştır.
+/- Tüm olaylar dinamik olarak gerçekleşir. Derlenmez.
- Debug yapmak zordur (kısmen).

C/C++
+ Pek çok dilin atasıdır.
+ 70'li yıllarda ortaya çıkmasına rağmen halen güncellenmektedir (C++ için bahsedersek, ANSI-C aynı :) )
+ Hızlı işlemler ve temel düzey görevler için biçilmiş kaftandır.
+ Donanıma en yakın dillerdendir. Doğrudan assembly olarak derlenir.
- Hata alınabilecek çok nokta vardır. Dil sizin için pek kontrol yapmaz. Küçücük hata çılgın sonuçlar doğurabilir.
- Debug yapmak oldukça zordur.
- Kullanımı zordur.

Python
+ Kullanımı kolay bir dildir.
+ Google tarafından çok sevilir.
- Türkçe kaynak bulmak çok kolay değildir.

Scala
+ Yükselişte olan yeni gözde dildir.
+ Hem nesne yönelimli hem de fonksiyonel dil özelliği gösterir.
+ JVM üzerinde çalışır, Java'ya ait tüm kütüphaneler kullanılabilir.
- Türkçe kaynak bulmak çok zordur.

Lua
+ Hızlı çalışan, kullanımı kolay olan scripting dilidir.
+ Oyun dünyasında pek çok noktada kullanılır
- Türkçe kaynak az sayıdadır.

------
- Nereden öğrenebilirim?
Her dilin kendine ait kullanım kılavuzu sayfası vardır. Temel referans noktalarınız bunlar olabilir. Ancak bir şekilde kitap edinmeniz daha hızlı öğrenmenizi sağlayacaktır. Eğer İngilizce de olur diyorsanız O'Reilly'nin kitaplarını tavsiye ederim. Çoğu kitap malum ortamlarda bulunabiliyor.

Bunun yanında Learn to Code - for Free | Codecademy yeni başlayanlar için mükemmel bir kaynak. JS, Python, Ruby derslerine buradan bakabilirsiniz.

HTML/CSS için W3Schools Online Web Tutorials 'u öneririm.

Ve elbette, yegane kaynağımız internet :)

-----
Sorularınız :
Eğer yeniyseniz, ya da henüz başlamamışsanız soru sormaktan çekinmeyin. Konu altında ya da özel mesaj ile sorularınızı iletebilirsiniz. Çok daha acilse çekinmeden tolpp(at)hotmail.com adresine mail atın. Java konusunda iyiyim, diğerleri hakkında da bilgi birikimim var.
----

En en özet : En iyi diye bir programlama dili yoktur. Ancak JavaScript pek çok şey için güzel bir başlangıç olabilir.
Abi bence bilgileri güncelle. Aradan 7 yıl geçmiş.
 



Yukarı