Gömülü sistemler alanında bilinmesi gereken temel şeylerden biri ANSI C programlama dilidir. Belki C dilini duymuşsunuzdur ama ANSI de ne diye soruyor olabilirsiniz. Kısaca açıklayayım:
ANSI – Amerikan Ulusal Standartlar Enstitüsü’nün adıdır. ANSI C ile bu kurumun yayınlamış olduğu C programlama dili standartıdır. En geniş kullanımı olan standart 89 yılında yayınlanmıştır. Bu standart ayrıca ANSI C89 olarak da bilinmekte. Şu an birçok derleyici bu standarta göre tasarlanmıştır.
C ve C++ dilleri farklı olsalar da genellikle bir arada anılıyorlar. Bu konudan daha önceki “C ve C++” farklı programlama dilleridir” yazımda bahsetmiştim. Gömülü sistemler alanında en çok kullanımı bulunan dil C’dir. C dili prosedürel bir dil iken C++ nesneye yönelik bir dildir. Diller değerlendirilirken bu iki fark gözetilmelidir.
C dili hem assembly gibi donanıma yakın hem de üst seviye dillerin özelliklerine sahip bir dil olduğundan mikroişlemci / mikrodenetleyici tabanlı sistemlerin programlanmasında vazgeçilmez hale gelmiştir. Dolayısıyla gömülü sistemler alanında çalışma yapmak için bu dili öğrenmek de kaçınılmazdır.
ANSI C öğrenmek denildiğinde sadece bir dil öğrenmekten değil aynı zamanda işlemcilerin çalışma mantığını da öğrenmekten bahsediyoruz. Çoğu zaman donanımla direk olarak konuşan sürücüler yazmak zorunda kalındığında o donanımın yapısı ve çalışma biçimi iyice kavranmadan bunu gerçekleştirmek çok zordur. C dili bize assembly dilinin gücüne yakın bir şekilde ve aynı zamanda onun zorluklarından sıyrılarak programlama yapma olanağı sağlamaktadır.
ANSI C çalışmaya herhangi bir mikrodenetleyici kullanmadan başlayabilirsiniz. Bunun için internette ücretsiz derleyiciler bulunabiliyor. Bunlardan en yaygın kullanılan bir tanesi DEV-C’yi bu linkten indirebilirsiniz. Dev-C ile C çalışmalarınızı gerçekleştirerek dili iyice kavrayabilirsiniz.
İnternette bulunan bazı Türkçe C programlama kaynakları:
http://www1.gantep.edu.tr/~bingul/c/
http://www.cprogramlama.net/dersler/+
http://www.cagataycebi.com/programming/#c
http://www.kadifeli.com/fedon/stdcprtr.php
Son olarak şunu da tekrar belirtmek istiyorum ki “C ve C++ farklı programlama dilleridir“. Çoğu zaman her ikisi bir arada anıldığından yanlış anlaşılmalar yol açılabiliyor. Genellikle C/C++ adı altında verilen derslerde sadece C dilinin bir bölümü anlatılıyor. Eğer aldığınız derslerde “nesne” ismi geçmiyorsa C++’ın yanından bile geçmiyorsunuz demektir. C++ öğrenmek istiyorsanız öncelikle iyi bir C tabanı edindikten sonra bunu yapmalısınız. Şunu da unutumayın ki C dilini öğrendikten sonra C++, Java, C# gibi dilleri öğrenmeniz de hiç zor olmayacaktır.
Kaynaklar:
Wikipedia ANSI C: http://en.wikipedia.org/wiki/ANSI_C
ANSI C Specification: http://eli-project.sourceforge.net/c_html/c.html
[ad#ad-1]
merhaba hocam ben pic gördüm üniversitede hep her şey yarım kaldı . ben bu işi c dilinde ileriye götürmek istiyorum bunun için geniş detayli bir kitap varsa önerirmisiz ?
Merhaba, genel olarak Deitel’in kitapları iyidir, C programlama kitabı Türkçe’ye de çevrilmişti. Kaan Arslan’ın C Programlama kitabını da önerebilirim.
yazı oldukça yararlı ancak C programlamanın temelini aldıktan sonra C++ daha doğrusu nesne yönelimli yaklaşım da parelel olarak yürütülmelidir kanımca,yoksa işleve dayalı programalaya alışmış birinin nesneye dayalı programlamaya geçmesi biraz uğraştıracaktır ,iyi günler dilerim…