Forum: D Programlama Dili RSS
D dili hakkında herşey
Sayfa:  önceki  1  2 
acehreli (Moderatör) #16
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj ID 11127
Hoşgeldin KMLOZGUR! :)

C kadar alt düzey çünkü belleğin bitlerine teker teker hükmedebiliyoruz. (Inline assembler da var.)

Python kadar üst düzey çünkü hiç dilin foreach gibi deyimlerine bulaşmadan aşağıdaki gibi üst düzey soyutlamalar kullanılabiliyor:
import std.stdio;
import std.algorithm;
import std.range;
import std.conv;
 
void main() {
 
    auto sonuç = stdin
                 .byLine
                 .map!(s => s.splitter(','))
                 .joiner
                 .map!(to!int)
                 .array
                 .sort()
                 .take(3);
 
    writeln(sonuç);
}
Anlamı: stdin'in satır satır oku; satırları virgül karakterlerinden ayır; satırlardaki elemanları birleştir; her birisinden int değerler oluştur; onlardan bir dizi yap; diziyi sırala; ilk üç elemanını kullan.

Örnek:

$ ./deneme
4,6,5
1,3
2
[1, 2, 3]    <-- Programın yazdırdığı

(Girişi klavyeden yapıyorsanız, sonlandırmak için Linux'ta Ctrl-D'ye, Windows'da Ctrl-Z'ye basın.)

İşin güzeli, o ifadeler lego parçaları gibi kullanılabiliyor. Örneğin, sıralandıktan sonraki üç eleman değil, ilk üç elemanın sıralanmışı istense:
    auto sonuç = stdin
                 .byLine
                 .map!(s => s.splitter(','))
                 .joiner
                 .take(3)    // <-- Önceye aldık
                 .map!(to!int)
                 .array
                 .sort();
Aynı girişe karşılık şu alınır:
[4, 5, 6]

Ali
acehreli (Moderatör) #17
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Buna benzer bir konu bugün D.learn haber grubunda açıldı. Birisi Python'un bazı özelliklerinin D'de o kadar kısa yazılamadığını söyledi:

  http://forum.dlang.org/thread/ujatnyfraqahrmfokcjx@forum.d…

Doğru tabii çünkü D Python değil; :) ama ben D kodlarını da Python kadar beğeniyorum:

  http://forum.dlang.org/thread/ujatnyfraqahrmfokcjx@forum.d…

Ali
KMLOZGUR #18
Üye May 2015 tarihinden beri · 8 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Hoşbulduk. D Dili c/c++ dan daha hızlı mı yavaş mı?   D dili ile pc için bir işletim sistemi yazılabilir mi? yazılırsa sizce sonuç nasıl olur?
KMLOZGUR #19
Üye May 2015 tarihinden beri · 8 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
D Dilinin seviyesi nedir? orta seviyeli mi yüksek seviyeli mi?
acehreli (Moderatör) #20
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #18
KMLOZGUR:
D Dili c/c++ dan daha hızlı mı yavaş mı?

Dillerin tanımları açısından bu konuda fark yok. Mevcut derleyicilere bakmak gerek. Hepsinin de LLVM ve GDC'yi kullanan derleyicileri de var.

D dili ile pc için bir işletim sistemi yazılabilir mi?

Evet.

yazılırsa sizce sonuç nasıl olur?

Bu forumda veya internette aratılabilir. Ek olarak, DConf 2014'ün iki konuşmacısı D ile bir kaç yüz bayt kadarlık yerde bile işleyen program yazma girişimlerini anlatmışlardı.

Ali
acehreli (Moderatör) #21
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Yanıtlanan mesaj #19
KMLOZGUR:
D Dilinin seviyesi nedir? orta seviyeli mi yüksek seviyeli mi?

Tek orta diyemeyiz çünkü o zaman düşük veya yüksek olmadığını söylemiş oluruz. Doğru olmaz.

Assembly ve C kadar alt düzey olduğuna göre düşük, çok üst düzey soyutlamalara izin verdiği için yüksek.

Ali
KMLOZGUR #22
Üye May 2015 tarihinden beri · 8 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Assembly ve C kadar alt düzey olduğuna göre düşük, çok üst düzey soyutlamalara izin verdiği için yüksek.


öyleyse bellekte ne kadar yer kaplayacak?
acehreli (Moderatör) #23
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Çöp toplayıcılı olduğundan D'nin çalışma ortamı (D runtime) C ve C++'tan daha büyüktür.

std.stdio modülünü ve writeln'ı kullanan "Merhaba dünya" programı dmd ile derlendiğinde 1.5M yer tutuyor. 'strip deneme' yapınca .9M'ye düşüyor.

Aynı işi core.stdc.stdio ve printf ile yapınca 420K, 'strip'leyince 280K. Başka derleyiciler farklı sonuç verecektir. Denemek gerek... :)

Ali
KMLOZGUR #24
Üye May 2015 tarihinden beri · 8 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
D dili hangi dillerden özellikler aldı?
acehreli (Moderatör) #25
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4527 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Modern dillere bakıldığında bunun kolay bir yanıtı yok çünkü çok kavram çok dilde bulunuyor.

Tarihsel olarak bakarsak, D'nin yaratıcısı Walter Bright C ve C++ derleyicileri yazan birisidir. O yüzden eski D temelde C ve C++'a benzer; sanki onların hataları giderilmişi gibidir (örneğin, D'de başlı başına bir dizi (ve dilim) kavramı vardır). Ama başka çoğu modern dilden olanak almıştır. Sıralamak gerekirse, C, C++, C#, Java, Haskell, Eiffel, vs. vs. vs. :)

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Sayfa:  önceki  1  2 
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-11-19, 04:22:21 (UTC -08:00)