Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Programlama etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

4 Şubat 2014 Salı

Python' a geliş serüvenim...

Merhaba arkadaşlar uzun zamandır okul nedeniyle yayın yapamıyordum ve bir köşeye çekilip gerçekten neler yapabileceğimi kavradım. Kodlama üzerinde çalıştım. C' yi ("si" diye okunuyor.) denedim aslında C güzel bir dil fakat sıradan bir bilgisayar kullanıcı için bayağı zor çünkü kütüphaneleri iyi kavramak ve kütüphane elemanlarını iyi öğrenmek gerekiyor. Gerçekten iyi bir sistemci olmak isteyenler C' yi öğrenip JAVA' ya geçiş yapmaları akıllıca bir davranış olur. Ben en büyük amaçlarımdan biri olan "Kendi İşletim Sistemini Kodlama" konusunda gelişmem için bazı konularda araştırmalar yaptım ve Assembly ile bunun yapılması kanaatine vardım. Ama Assembly çok zordu hatta baktığımda hiçbir şeyi anlamayıp Assembly' den korktum ve gerçekten de tavsiye etmem. C ile sistem kodlarken bir sistem kernel'i (yani çekirdeğini) kodlamak 1.000.000 satır oluyor ise Assembly' de bu sayı 1.000.000.000 u bulabilir (Rakamlar sadece örnek için verilmiştir. Bu sistem özelliklerine, işlemci yapısına göre değişebilir... Rakamları dikkate almayınız, sadece kıyaslama için örnek olarak verilmiştir ve sayılar bu kadar büyük rakamları bulabiliyor). Yani bir işletim sisteminde C ile kodlamak büyük bir avantaj çünkü Assembly' de her işlemci yapısı için ayrı olarak kodlanması gerekiyor yani her işlemci mimarisi için ayrı ayrı Assembly türleri var. Ama AT&T Labaratuvarlarında B dilinden türetilen bir dil olan C ise her çekirdek yapısı için ayrı ayrı işlemci mimarisine çevirmek yerine direkt olarak her mimaride çalışabilen uygulama çıkabiliyor. Assembly' de şu fayda var mesela Assembly de 10 KB olan bir dosya C' de 750 KB olabiliyor (Bu rakamlar tahmini olarak yazılmıştır.). Ama Assembly' de daha çok kod yazmak gerekirken C' de daha az kod yazmak bir avantaj olduğu için programcılar boyutlara önem vermek yerine kolaylığa önem verir. Şimdi örneklerle açıklayalım.