Temel C Programlama -54- Sonsöz

Temel C programlama derslerinin sonuna bir sonsöz ekleme gereksinimi duyuyoruz. Çoğu programlama kitaplarına baktığımızda konular tamamen anlatılsa da bu konular bittikten sonra ne yapılacağı, öğrencinin ne öğrenmesi gerektiği veya kendini nasıl geliştireceği konusunda bir bilgi yer almamakta. Aslında bunu öğrencinin kendisine bırakmaktalar ve öğrenci bunu çalışarak kendisi öğrenmekte. Fakat Türkiye’de öğrenciler ne yapacağı konusunda pek bir fikre sahip olamıyor ve bu konuda yol gösterilmeye muhtaç halde oluyorlar. Ben de şahsen neyi nasıl öğrenmem gerektiğini, kendimi nasıl geliştirebileceğimi çok daha sonraları öğrenebildim. İlk aldığım programlama kitabında bütün örneklerin baştan sona konsol üzerinde yer aldığını ve konsoldan nasıl çıkılacağı, nasıl uygulama yazılacağı, bu dilin nerelerde kullanılacağı konusunda bir bilgiye rastlamadığımdan açıkcası programcılık bana aşırı derecede zor göründü. Konsol uygulamalarını ben de anlatsam da programlama dilinin temelini anlatmanın ancak böyle mümkün olmasından dolayı tercih ettiğim bir yöntem oldu. Bu seriden sonra “Gömülü C” ve “İleri C” gibi konularda uygulamalara ve günümüzde kullanılan teknolojilere yer verip uygulamalar üzerinden C dilini anlatmaya devam edeceğim. Burada yazdıklarım sadece yolun başıdır.

Ben bütün bu dersleri öğrendim, artık ne yapmalıyım? diye soracak seviyedeyseniz öncelikle size ana kaynaklardan haber vermem gerekir. Benim yazdığım ancak “ikincil kaynak” statüsündedir ve birincil ve diğer ikincil kaynaklara sizi muhtaç bırakmaktadır. Açıkcası bu konuda hiçbir kitap size meselenin tamamını öğretecek seviyede değildir. Bu yüzden pek çok kaynağa müracaat etmeniz kendinizi geliştirme açısından en isabetlisi olur. Dikkat edin, burayı bırakıp gidip Youtube videosu izleyin demiyorum. Çünkü bir Youtube videosundan öğrenebileceklerinizin kat kat ilerisini buradan öğrenebiliyorsunuz. Fakat bizim de anlatamadığımız konular mevcut. O yüzden aşağıda vereceğim kaynaklara muhakkak bakınız.

  • C How to Program – Deitel
  • The C Programming Language – Kernighan & Ritchie
  • Expert C Programming – Van der Linden
  • 21st Century C – Klemens
  • Advanced C – Peter D. Hipson
  • Algorithims in C – Robert Sedgewick 
  • Data Structures Using C – Reema Thereja
  • The GNU C Library Reference Manual
  • Modern C – Jens Gustedt
  • The Standard C Library – P.J. Plaucher
  • C Standard 

Yukarıda standart, kütüphane kılavuzu gibi birincil kaynakların yanında ikincil kaynak statüsünde olan kitapları da görebilirsiniz. Bu kaynakları bir kenara bırakıp dördüncül kaynak statüsünde bile olan Youtube videolarını seyretmeniz sizi ileriye değil geriye götürecektir.

Ne yapabilirim? sorusuna gelecek olursak günümüzde C dilinin en popüler olduğu alan gömülü sistemlerdir. Eğer C bilginiz iyiyse hatta bu derslerde yazanları bile öğrendiyseniz gömülü sistemlerde rahatlıkla program yazabilir ve iş yapabilirsiniz. Elbette işin donanım boyutunu görmezden gelirsek durum böyledir. Sadece yazılım bilgisi ile ancak Arduino gibi platformlarda kısmen çalışabilmeniz mümkündür. Ama ben donanım öğrenmenin çok da zor olduğunu düşünmüyorum.

Bundan başka aşağıdaki awesome listelerinde pek çok yazılım alanıyla alakalı C kütüphanelerini görmeniz mümkün. Bunları inceleyerek neler yapabileceğiniz hakkında fikir edinebilirsiniz.

https://github.com/IMCG/awesome-c

https://github.com/aleksandar-todorovic/awesome-c

https://github.com/kozross/awesome-c

https://github.com/uhub/awesome-c

 

C dilini öğrenmenin en büyük avantajlarından biri de artık günümüz programlama dillerinin atasını öğrendiğiniz için diğer diller sizin gözünüzde çocuk oyuncağı gibi görünecektir. Python örneklerine göz attığınızda çok çok daha kolay bir dille karşı karşıya kalırsınız. Ya da C# veya Java dilinin C dilinden ciddi derecede esinlendiğini görürsünüz. C bilenler için en uygun dil ise C++ dilidir. C++ dilinin bu kadar popüler olmasının en temel sebebi C dili üzerine bina edilmesidir. Siz C bilginizi unutmadan sadece üzerine yeni konuları öğrenerek C++ dilini öğrenmiş oluyorsunuz. C++ dilini C dilinin modifiyeli hali olarak tanımlayabiliriz. C++ dili günümüzde daha yaygın bir kullanım alanına sahiptir. Çoğu oyun motoru C++ dili üzerine kurulduğu gibi Microsoft’un Visual C++ desteği halen devam etmektedir. C++ üzerine kurulan kütüphaneler, yazılım çatıları ve platformlar oldukça fazladır. Ülkemizde C++’yı pek öğrenmek isteyen çıkmasa da C++ dili diğer popüler programlama dillerinden daha sağlam temeller üzerinde gibi görülmekte.

Ben bu dersleri kitap yazar gibi yazsam da bol bol örnek yaptırmaktan ziyade kısa sürede mantığı kavramanız için yoğunlaştım. Çünkü asıl mesele programlama dilini anlayabilmektir. İstersem onlarca örnek de ilave edebilirdim ama yazmaya bile zor zaman buluyorum. O yüzden uygulama yönünde kendiniz biraz çaba sarf etmeli ve bulduğunuz uygulamaları denemeli ve kendi uygulamalarınızı yazmalısınız. Kütüphaneleri ve kaynak kodları inceleyip çözmeniz çok önemlidir. Sadece siz bir şeyler yapmaya çalışmayın. Yapılmış işleri de alıp inceleyin ve kendiniz de yapabilecek noktaya gelin. Nasıl kod yazılacağını, nerede ne yapılacağını bazen de başkasının eline bakarak öğrenmeniz gerekli. Başkasının eline bakma yöntemi bu meslekte hazır yazılmış kodları incelemek demektir. Bunun için internette çeşitli yerlerde kod bulabilseniz de Github sitesi sizin birinci kaynağınız olmalıdır.

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.