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.

StarLogo: The Next Generation

FZ

Dağıtık ve paralel modelleme, simulasyon ve benzeri işler için tam teşekküllü bir ortam sunan StarLogo sisteminin 3 boyutlu ortama yönelik geliştirme yapmayı sağlayan sürümü StarLogo The Next Generation çıktı. MIT tarafından desteklenen ve geliştirilen projenin programlamayı daha geniş ve genç bir kitleye yayması, karmaşık sistemlere dair düşünme ve modelleme yetilerini geliştirmesi hedefleniyor.

POCO C++ Kütüphanesi Örnekleri

mustafa_

POCO C++ kütüphanesi açık kaynak kodlu, daha basit ve hızlı olarak ağ merkezli(network-centric) portatif uygulamalar geliştirmeyi sağlar.

C++ dilinin geliştiricisi Bjarne Stroustrup'un belirttiği gibi:
"İyi bir kütüphane olmadan,çoğu ilginç görevlerin C++'da yapılması zordur, ancak iyi bir kütüphane ile hemen hemen herhangi bir görevin yapılması kolaydır."

Haiku OS R1 Alfa 1 duyuruldu

madanadam

Openbeos'un devamı olan ve BeOS işletim sistemini geliştirmek amaçlı kurulan Haiku işletim sisteminin ilk resmi sürümü duyuruldu.

Python 2.3 çıktı

tongucyumruk

Python'un birçok yenilik içeren 2.3 sürümü çıktı. Özellikle "iteration" konusundaki yeniliklerin göze çarptığı yeni sürümdeki değişikliklerden bazıları şöyle:
  • Kaynak kodu dosyalarında karakter seti belirtilebiliyor
  • Evrensel yeni satır karakteri desteği eklendi
  • Zip dosyalarından modül alabilme yeteneği
  • Windows sistemlerde Unicode dosya isimlerine erişim
  • Jeneratör desteği
  • Gerçek bir boolean veri tipi
  • enumerate() ve sum() fonksiyonları