Merhaba sevgili Eclipse Türkiye
kullanıcıları sizlere bugün C'nin üstün bir özelliğinden
bahsedeceğim. Fakat buna başlamadan önce Bir çok programlama
dilinin ağa babası olarak kabul edilen C'nin mazisine değinmemek
mümkün değildir. C makine dillerinin zorluklarını aşmak için
1972 yılında Ken Thompson ve Dennis Ritchie tarafından
geliştirilmiştir. Program geliştirildikten sonra Unix işletim
sistemi bu dille yazılmıştır. Bugün Linux İşletim sisteminin
çekirdeği de Unix'tir ve halen C programlama dili bu çekirdeği
geliştirmek için kullanılmaktadır. 1990
yılından sonra ANSI(Amerikan Standartları) tarafından ücretsiz
bir dil olarak standartlaştırılmış ve halka arz edilmiştir.
C neden diğer
programlama dillerine göre bunca yıl geçmesine rağmen üstünlük
gösterir ?
C programlama dili kullanıcının
herşeyi bildiğini kabul eder, buna mutakıben kullanıcının
sisteme zarar verme, sistemi kötüye kullanma hatta sistemi
diskalifiye etmek dahil herşeye izin verir ta ki işletim sistemi
dur diyene kadar. Adeta Hacker'lar için geliştirilmiş bir dildir.
Java, C#, C++ gibi C Programlama dilinin öz evlatları size herşeyi
yapmanıza izin vermez. Günümüz de bile bir çok alan da halen C
Programlama dili kullanılmaktadır. Örnek verecek olursak; Füze
ateşleme sistemlerinden tutun, PİC'lerle(Mikro Denetleyiciler)
çalışan oyuncak arabalara kadar yine pic yönetimi ile çalışan
sulama sistemleri dahil aklınıza gelebilecek her alanda C
programlama dili kullanılmaktadır. Yani işin özeti şu; İyi bir
hacker, iyi bir güvenlik uzmanı olmanın yolu C programlama dilini
iyi bilmekten geçer diyebiliriz. Nedeninden daha önce de
bahsetmiştim ama yine değinmek isterim. Çok ileri bir programcı
zekasına sahipseniz, Eğer C'nin tüm fonksiyonlarını adınız
gibi öğrenirseniz C programlama dili ile bir bilgisayarın Ram
belleğini yakmak veyahut ram bellekten bios'a müdehale etmek
mümkündür.
Değerli Eclipse Turkiye kullanıcıları,
sizlere dört satırlık bir kod bloğu
paylaşacağım C programlama dili ile neler yapabileceğimi
görebileceksiniz.
Gelelim Kod'umuza;
/*C ile Ram bellek'ten Veri
Okuma...*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
char dizi [2];
int i;
for(i=0;i<=9000;i++){
printf("%c",dizi[i]);
}
system("PAUSE");
return 0;
}
Kodları inceleyecek olursak;
char
türünde 2 karakter uzunluğun bir array(dizi) belirledik.
Integer(Tam Sayı) türünde ise bir de sayaç belirledik. Sonra for fonksiyonu ile 0'dan -
9000'ne kadar saydırdık ve bu işlemi %c ile yaptık, %c karakter
karakter verileri okutturmadır. Şimdi yukarıda dizinin 2
karakterden oluştuğunu biliyoruz fakat biz 9000 tane karakter
saydırıyoruz ? Yolunda gitmeyen birşeyler var diye
düşünebilirsiniz ve düşündüğünüzde de haklısınız çünkü
günümüz teknolojisi ile yazılan hiç bir programlama dili size bu
derece de özgürlük tanımaz.
Örneğin Java;
Java'da bu programı yazdığınız da
size aşağıda ki hatayı bildirecektir.
Exception in thread "main"
java.lang.NullPointerException
at tr.Run.main(Run.java:11)
İşte burada C'nin bize sağladığı
büyük bir özgürlükle karşılaşıyoruz burada for ile dizinin
içinden taşıyoruz yani; 8998 tane karakteri Ram dünyasının
içinde yer alan diğer verileri okutuyoruz. C programlama dili
gerçekten kötü kullanılması halinde çok büyük bir silah
olabilir. İyiye kullanıldığın da ise insanlık için güzel
şeyleri ortaya koyabilir.
Evet bugün ki yazım bu kadar hayırlı
günler diliyorum gelecek dersimiz de C'nin daha yıkıcı
yönlerinden bahsedeceğim, bizi takip etmeye devam edin.
Not; Bu makale Emrah DEDEOĞLU
tarafından yazılmıştır. İçerisin de kullanılan örnekler denenmiştir ve olumlu sonuç alınmıştır.
0 yorum:
Yorum Gönder