Neden D?

0
FZ
C++'nın en büyük ustalarından olan Andrei Alexandrescu, şimdilerde enerjisini Walter Bright tarafından tasarlanmış olan D programlama dilini geliştirmeye harcıyor. Alexandrescu, çeşitli nedenlerle C++'ya eklenemeyen çoğu dil olanağının D'ye eklenmesine yardım ederek, bir anlamda D'yi C++'nın olmayı başaramadığı dil haline getiriyor.

Kendisine özgü heyecanlı tarzını içeren bu yazısında Alexandrescu, D dilinin neden önemli olduğunu ve belki de sizin için de uygun bir dil olabileceğini göstermeye çalışıyor.
Bu yazının İngilizce aslı ilk olarak ACCU'nun yayın organlarından CVu'nun Mayıs 2009 sayısında yayınlanmıştır. Bütün hakları yazarı Andrei Alexandrescu'ya aittir. Aynı yazı, bu çevirinin yapıldığı tarihten kısa bir süre sonra Doctor Dobbs Journal'ın sitesinde de yayınlanacaktır.

Devamı: http://www.ceviz.net/c-c/neden-d_a1290.html

Görüşler

0
Dite
Kısacası D ile daha az esnek, daha rahatsız ve daha "anormal" günler sizleri bekliyor :). Benim gördüğüm tek şey şu ilk kez kod yazacak insanlar rahat edecektir çünkü çoğu 100 satırda C++ ile kendi garba collectorlarını yazabileceklerinden bile habersiz olduklarından (ki ben burada nasıl yazılacağını göstermiştim) kullandıkları dilin "sihirli" bir şekilde işleri yapması hoşlarına gidebilir.

Böyle diller tıpkı isveç çakıları gibidirler. Üzlerinde pek çok alet vardır ama aslında hiç biri gerçekten işe yaramaz ve marangozlarda o yüzden çakılardaki testereyi kullanmaz :D :D
0
Tarık
Dillerin gelişimi ve tasarlanmaları, her insanın kavramlara farklı baktığı düşünüldüğünde aslında oldukça doğal bir süreç.

Her biri onlarca ayrı uzmanlık seviyesinde milyon çeşit programcı var. Kimileri yorumlayıcılar için betik yazıyor, kimileri sistem programlıyor vs.

Kimileri kullanıcı etkileşimi, rdbms, platform bağımsızlığı vs. için en yüksek noktalarda aşağılardan habersiz gezinirken, kimileri bilmemne donanımı için donanım yazılım arasında akrobasi yapıyor. Herkesin ihtiyaçlarına göre ayrı ayrı tasarlanmış tonla dil mevcut. VB gibi sadece piyasa koparmak için geliştirilmiş, güya iş kolaylaştırıcı dilleri saymazsak yüzlerce emeğin hakkını verek anlamlı dil dünyanın her köşesinde çayır çayır kullanılmakta.

Elbetteki D dilide geliştirilecektir. Hatta tarihte geriye doğru atıf yapmayı seven topluluklar, dil tasarımcıları için isimlendirme işi Z' ye kadar bile gider.

Tüm programcıların sayı sistemlerini, hafıza yönetimini, donanım mimarilerini, bitsel işlemleri, pointer aritmetiğini biliyor olabilmesi mümkün değil. Ve bilmiyorlar diye yerilmeleride normal olmaz. Piyasanın buna ihtiyacıda yok. Kararlı durumda çalışan onlarca hazır araç gereç var, adam neden varolan dururken yenisini yaratmaya zaman harcasın? Bu araçlar şimdi sistemi kasıyor olsa bile 4-5 sene sonra donanım gelişim ivmesine bağlı olarak artık kasıntıyı hissettirmeyecek derecede gelişip hızlanacaklar.

Ha bu arada birileri yine assembly kasacak, kendi çöp toplayıcısını, bellek yöneticisini, editörünü yazacak orası ayrı. Ama doğal olarak dillerin kendi içinde çatallaşarak çoğalması devam edecek. Etsinde zaten. Neticede mükemmel dil hiçbir zaman mevcut olamayacak. Zira beklentiler ve amaçlar giderek karmaşıklaşıyor. Bir zaman sonra en yüksek ile en aşağı seviye arasında tek kişinin aşamayacağı bir karmaşıklık uçurumu ortaya çıkacak. Doğal olanda budur zaten.

Bir zamanlar nasıl bir zihniyet ise bilmiyorum, java ve türdaşlarına sıcak bakmazdım, bir süre sonra ne gereksiz bir düşünce içerisinde olduğumu hissettim(sanırım o zamanlar, gereksiz dil kavgalarının çokça yaşandığı dünlerdi.). Zira javanın varlığı ya da yokluğu benim için ne önem arzeder ki? Ben kullanmak istediğim süpersonik aşağı seviye hacker araçlarına her daim özgürce ulaşabildikten sonra.

saygılar.
0
Dite
Tabii ki haklısınız örneğin build script'lerini perl ile yazabileceken neden gidip C++ ile yazayım ? Fakat genelde hep java yada diğer benzeri dilleri kullanların savunması budur:

"Bu araçlar şimdi sistemi kasıyor olsa bile 4-5 sene sonra donanım gelişim ivmesine bağlı olarak artık kasıntıyı hissettirmeyecek derecede gelişip hızlanacaklar."

Bu pek doğru değil. Neden ? Çünkü 4-5 sene sonra sistemlerin hızlanması ile beraber ihtiyaçlarda bir o kadar artacak daha komplex multimedia uygulamarı çıkacak bu durumda gene java kullananlar "4-5 sene sonra" diyecekler, 4-5 geçtiğinde ise gene bu durum tekrarlanacak "4-5 sene sonra..." :D :D :D
0
St
Uzun bir süredir Java ile uğraşmadığınızı zannediyorum :)

Zira yazılımcıların kendilerinden kaynaklanabilecek hataları (örneğin: memory management) en az indirip işlerine güçlerine bakabildikleri, ve yığınla iş için çok kapsamlı ve sağlam kütüphanelere sahip olan Java, kendine ihtiyaç duyulan noktada en iyi performansla çalışmaya devam ederken, azıcık daha fazla hafıza ve azıcık daha fazla işlem gücü harcamak karşılığında şirketlere on binlerce insan*saat kazandırıyor.

Tarık'ın yorumuna sonuna kadar katılıyorum. Sizin beklentilerinizi, ihtiyaçlarınızı karşılıyorsa kullandığınızı dilden zevk almaya devam edin. Kısır tartışmalarla zaman harcayacağımıza sahip olduklarımızı geliştirmeye bakalım.
0
mustafa_
Görüş belirtmek için giriş yapın...

İlgili Yazılar

Açık Kodlu Özgür Bir Yazılım Projesi: FlightGear Uçuş Simülatörü

FZ

1995 yılında havacılık simülasyonları konusunda uzmanlaşmış Curtis Olson isimli bir mühedis Microsoft Flight Simulator´a bir eklenti (add-on) yapmaya çalışırken vaktinin büyük bir kısmını asıl iş yerine bu yazılımın dosya formatlarını, iç yapısını, işleyişini, vs. anlamak için enerji harcayarak geçirdiğini fark etti. Ve kendine şöyle dedi: Oturup kendi uçuş simülatörümü yazmaya başlasam, bunu açık kodlu ve GPL lisanslı olarak kamuoyuna sunsam ve sonra...

Olson´un bu çabası ABD´de çılgın bir mühendisin delidolu idealizmi olarak algılanmadı tahmin edebileceğiniz gibi. Proje başladıktan kısa bir süre NASA´daki uzay mekiği programının önemli mühendislerinden biri olan Jon Berndt de projeye destek vermeye başladı. Bu katılımı takiben, bir başka mühendis Tony Peden de projeye katılmakta tereddüt etmedi. Ve gerisi büyük hızla geldi.

FlightGear isimli bu özgür yazılım projesine destek veren deneyimli programcı ve mühendislerin yaş ortalaması 35´in üstünde. Hepsi de kendi alanlarındaki mühendislik ve fizik konularında usta isimler. Geliştirdikleri sistem uç noktadaki havacılık mühendisliği modellerini, grafik (OpenGL) ve ağ programlama tekniklerini kullanıyor. Herkesi sistemlerini incelemeye ve katkıda bulunmaya davet ediyorlar.

Mac OS X için Rebol

FZ

Rebol Technologies, REBOL programlama ortamının Mac OS X sürümünü çıkardığını duyurdu. REBOL dili ve IOS (Internet Operating System) ile ilgili daha detaylı bilgiyi buradaki belgelerden edinebilirsiniz.

HTML Form Onaylama (JavaScript ile programlamaya son!)

FZ

(GÜNCELLEME: Mozilla ile uyumlu hale getirildi) Herhangi bir web sayfası içinde herhangi bir html formu yerleştirdiğimizde bunun hemen ardından genellikle form gönderilmeden önce kullanıcının bu formu düzgün şekilde doldurup doldurmadığını kontrol etmek isteriz ("form validation"). Böylece sunucu tarafındaki kontrollere geçmeden önce doğrudan kullanıcının bilgisayarında yani istemcide hızlıca ve basit bir kontrol gerçekleştirebilir, hatalı ya da eksik bilgi girişinin bir nebze önünü kesmiş oluruz.

Supermemo

m1a2

Öğrenmek sizin için bir tutku haline gelmiş fakat "öğreniyorum, unutuyorum" çevriminden şikayetçi iseniz bu programa bakmanızı öneririm. Supermemo Polonyalı bir (moleküler) biyolog olan Dr. Piotr Wozniak tarafından, teorik temelleri bir lisansüstü tezinde ortaya çıkan bir program. Dr. Wozniak yüksek lisans çalışmasında `Unutma` olayının kimyasını inceleyerek `Active Recall` olarak adlandırdığı bir `optimum tekrarlama` şeması ve matematiksel model geliştirmiş. Modeli geliştirmekle kalmamış `dur bakayım, ben bunu bir program haline de getireyim` diyerek Supermemo programını yazmış.

Yerli montaj IRC (Chat) SERVER

anonim

Yıllarca yabancı yazılım geliştiricilerin geliştirdiği irc serverlar kullanıldı, ama artık Türk yazılım geliştirici 4 gencin geliştirdiği TR-IRCD adında bir irc (chat) yazılımı var. TRIRCD bir IRC deamon`u ve IRC servislerini (NickServ, ChanServ, OperServ) içeren bir paketten oluşuyor. Paket Bahamut ve IRCServices adında açık kodlu paketler temel alınarak geliştirilmiş. Detaylı bilgi için tr-ircd.sourceforge.net/