Diller ve dil seçimi ile ilgili sorularım

Başlatan Lupus, 03 Mart 2012 - 00:55:40

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Lupus

Pekala öncelikle biraz kendimden bahsedeyim ki durumu daha iyi kavrayabilesiniz.

1 Yıldır aktif olarak Javascript Geliştiriciliği yapıyorum. PHP ve Javascript'in OOP mimarisine hakimim ve şu ana kadar hep Windows üzerinde geliştirme yaptım. Javascript ile yazılım yapmak eğlenceli ama artık internet ortamı dışında da birşeyler yapmak istiyorum. (Gerçi plugin falan yazıyorum ama o sayılmaz herhalde : )

Velhasıl, bu yeni denizlerde yelken açmak için bir gemiye ihtiyacım var. Yani bir dile.
Etrafımda C#'çı bol ve omuzlarının üzerinden gördüğüm kadarıyla syntex çok benziyor.  Ancak gönlümün derinlerinde yatan dil GO.
Tabi ki GO çok ilkel bir dil (Çıplak daha doğru bir kelime olabilir.). Ve dökümantasyonu benim anlamakta zorluk çektiğim kavramlarla yazılmış ve zayıf (Bir acemi için). Bu nedenle C++ makul göründü gözüme. Dil yapıları benim kadar uzaktan bakan biri için benzer gözüküyor.

Buraya kadar olan kısıma yorum yaparsanız sevinirim.

Şimdi sorulara geçelim.

  • Acaba yukarıdaki benzetmeler doğrumudur? Yani C++'ın GO 'ya benzemesi. Javascript, C# benzetmesi (ikisi de '.' notation falan)
  • C++ 'ın nesne tabanı ne alemdedir? İleri seviye javascript bilgim bir işe yarar mı?
  • C++'ın performansının eşsiz olduğu söyleniyor doğru mudur?
  • Qt4 gerçekten tüm platformlarda sorunsuz çalışıyor mu? (Bunu yazarken ana sayfasına bir göz attım ancak Android diye bir kelime göremedim) Ve Qt4 gibi başka alternatifler de var mı? (javascript geliştirirken C# çılarda en kıskandığım şeylerden biri adamların VS'nin tasarım ekranına bir düğme yerleştirip sonra onun eventlerine direk handler atamaları ve bu işlemlerin sadece birkaç saniye sürmesi olmuştur. Qt 'nin çok güzel bir IDE'iı var ve ben de C# çıları ubuntuma kurduğum Qt Creator IDE ile çatlatmak istiyorum.  Bir de Qt framework'ü performansa ne kadar etki ediyor.
  • Esas soru: Linux'de C# mı? C++'mı? Güzel IDE tavsiyeleri de hoş karşılanmaktadır. (Visual Studio'yu çok kıskanıyorum demiş miydim?) :) 

Şimdiden teşekkürler.

furkankalkan

Javascript le hemen hemen hiç benzememesine rağmen ben C++ öneririm. Platform genişliği ve QT ile birlikte döküman bolluğu tam istediğiniz gibi.
Lover
twitter.com/furkan_kalkan1

Lupus

QT gerçekten tutulan bir Framework müdür peki?

travego0403

Alıntı yapılan: Lupus - 03 Mart 2012 - 16:34:23
QT gerçekten tutulan bir Framework müdür peki?
KDE masaüstü ve araçları Qt ile geliştiriliyor. Ayrıca ilk kullanım alanı sanırsam Symbian(Nokia telofonlarının) işletim sistemi içindi. Qt ile program geliştirmenin de oldukça zevkli olduğunu da söyleyeyim.

Bildiğiniz gibi C# .NET platformunun en önemli dili hatta göz bebeği. İçerisinde bir çok hazır sınıf ve kütüphane mevcut. Buda program geliştiriciye bir çok kolaylık ve pratiklik sağlıyor. Visual Studioda cabası. İşte bütün bunlar C#'ı çekici kılıyor fakat .NET Windows platformu içindir. Buda Linux için eksi bir yön. Tabi ki .Net platformunu Linux üzerinde çalıştırmak için Mono projesi yürütülüyordu. Ne kadar başarılı bilmiyorum. Son zamanlarda Ubuntu da Mono bağımlılığından kurtulmak için varsayılan müzik oynatıcısını değiştiriyor.

Masaüstü programlamada programlama çok farklı alanlara kayar. Örneğin sistem programlama, oyun programlama, veritabanı uygulamaları, grafik programlama gibi. İşte bu alanlarda hepsinin öncü olduğu diller var. Sistem programlama için C/C++ kimse geçemez.Oyun programlamada hem hız hemde nesne yönelimli olması açısından C++.

Aslında C++, Java, C# söz dizimi(syntax) C den gelmektedir. Bu yüzden hepsi birbirine benzer. Örneğin Phyton çok farklı söz dizimine sahiptir. Aynı şekilde Lisp'te çok farklıdır. Java ve C# tamamen Nesne Yönelimli Programlamaya yöneliktir. C++ ise hem nesne yönelimli hemde spagetti(herhalde böyle geçiyor) programlamaya olanak sağlar. Bu yüzden biraz karışıktır söz dizimi. Biraz ileri konulara girdiğiniz zaman fark edebiliyorsunuz yoksa temel konularda herhangi bir zorluk çekmiyorsunuz.  Aynı php gibi herhalde oda bildiğim kadarıyla NYP de yapabilirsiniz, eski karışık yöntemlede.

Tabi bunlar benim gördüklerim. Sen bakarsın çok farklı görürsün. En iyi tavsiyem fazla vakit kaybetmeden bir ucundan başla, olmazsa değiştirsin. :)
"Matematik bir dildir ve bu dilde şairlere fizikçi denir." Richard Feynman

furkankalkan

Forumumuzda bile bir çok Qt bilen insan var. Herhangi bir sorununuz olduğunda stackoverflow dan hızlı bir şekilde yardım alabilirsiniz. Bu arada Qt Android için pek popüler değil ama C++ bildikten sonra sorun yok.
Lover
twitter.com/furkan_kalkan1

WhiteScars

Neden java yok yukardaki seçeneklerde?

Ayrıca programlama dilini bir araç olarak görün. Genel olarak programlama konseptlerini biliyorsanız diller arası geçiş yapmak çok kolaydır. Sadece dile uygun yazım biçimini ve nasıl çalıştığını bilmek yeterlidir.

İnsanoğluna bırakabileceğiniz en güzel miras tecrübelerinizdir.