Biz insanların ihtiyaçları sınırsız ve süreklidir. Hepimizin gidermek zorunda olduğu, gidermeyi arzu ettiği çok sayıda ihtiyacı vardır. Ve bu ihtiyaçlar sürekli olarak artma eğilimindedir. Öyle ki ihtiyaclarımız için elektronik sistemler üretip, bu sistemlere komut yazmaya bile gerek duyduk.
Tarihte insanoğlunun ihtiyaçlarını daha hızlı ve kolay bir şekilde yapma arzusu birçok bilimsel keşifle sonuçlanmıştır. Merak duygusuyla başlayan keşif sürecimiz ise icatlarla son buldu. Ancak günümüzde artık icatlarla yetinmeyip tüm bu süreci hatta sonucu yenilemeye başladık. İnovasyon…
Yani artık ürünle yetinmek yerine, bu ürünü sunan hizmeti ele alıp, yeni etkin özellikler katıp yeniden üretiyor veya daha anlamlı hale getiriyoruz. Kendi döneminde oldukça önemli gelişmelere yol açan buluşları daha anlamlı hale getirme sürecimiz ise devam ediyor. Bu yenilikçi süreçte bilgisayarların ve makineleşmiş bilgisayarların oldukça önemli bir yeri var. Bu cihazları anlamlı kılanlar ise şüphesiz ki programlardır. Bilgisayar programlarının daha önce karşılanmayan ihtiyaçlara cevap vermekte ki başarısı ise övgüye değerdir.
NASIL BAŞLADI ?
İlk dönemlerde kullanımı oldukça zor olan makine ve assembly dilleri kullanıldı. Bu dilde yazılan komutlar 0 ve 1 lerden oluşuyordu. İki tabanlı sayı sistemi kullanılarak yazılan detaylı ve uzun komutların program çıktıları oldukça basitti. Bu nedenle bu dillere ve makine diline yakın programlar düşük seviyeli programlama dilleri olarak adlandırıldı.
Ve bir gün….
AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie’in Unix işletim sistemini geliştirebilmek için B dilinden türetilmiş yapısal bir programlama diline ihtiyaç duymasıyla programlama dillerinin gelişim süreci başladı.
Dennis Ritchie C dilini ilk olarak bu kod ile tanıttı dünyaya…
#include <stdio.h> int main()
{
printf(“Hello World\n”); return 0;
}
Bu basit “merhaba” çıktısı ile başlayan C programlama dilinin macerası, günümüzde neredeyse tüm işletim sistemlerinin (Microsoft Windows, GNU/Linux, *BSD, Minix vb.) yapımında %95′ lere varan oranlarda kullanılmasıyla, sistem, sürücü yazılımı, işletim sistemi modüllerinin yapımında ve diğer bir çok alanda kullanılmasıyla devam ediyor.
Öyle ki C programlama dili artık sınırları belirsiz bir dil olarak tanımlanıyor. Bu sınırsızlık diğer tüm programlama dillerinin ilham kaynağı oldu. Özellikle nesneye yönelik programlama dilleri olan C++, Java ve script dilleri (JavaScript, JavaApplet, PHP) gibi programlama dilleri C Programlama Dili’nden esinlenmiştir.
Başlarda sadece İki tabanlı sayı sistemi kullanılarak başladığımız süreç günümüzde 150 den fazla programlama dilinin icadıyla devam ediyor. Bir bilgisayara ya da elektronik düzeneklere bir çözümü, algoritmayı ifade etmek amacıyla ne yapması gerektiğini anlatmak için kullanabileceğiniz 150 den fazla programlama dili….
BEN NASIL BAŞLAMALIYIM ?
Öncelikle bu sorunun cevabının evrensel olmaktan çok kişisel olduğunu belirtelim. Programlama dillerine henüz başlamamış veya nereden başlayacağına karar vermediyseniz, hangi programlama dilini profesyonel düzeyde öğrenmenizin beklenti ve isteklerinizi karşılayacağını bilmeniz gerekir. Yani işe beklenti ve hedeflerinizi belirleyerek başlamalısınız.
Bunu henüz belirlemediyseniz sizin için hazırladığım bu testi yaparak sonuca ulaşabilirsiniz.
Ya da kısaca neden bir programlama dili öğrenmek istiyorsunuz? Geliştirmek istediğiniz bir proje var mı? Var ise bu proje hangi işletim sistemi tabanlı olacak gibi sorular programlama dili seçiminizde etkili olacaktır.
Bu arada bu konuda bir yazı yazıyorsanız CarlCheo tarafından hazırlanan infografiğe değinmemek olmaz. WebMasto tarafından türkçeleştirilen bu infografikte, size yöneltilen çeşitli soruları takip ederek programlama dünyasına hangi dil ile başlamanız gerektiği konusunda bir fikir sahibi olabilirsiniz. Bunu da şöyle bırakıyorum.
Benim tercihim ise açık ara C#…
PEKİ NEDEN C# ?
Öncelikle şunu belirtelim C# kullanışlı arayüzü ve orta seviye bir dil olması nedeniyle yazılımcılar tarafından en çok tercih edilen dillerden bir tanesi. C# Microsoft tarafından geliştirilen bir programlama dilidir ve dünyada en çok tercih edilen programlama dilleri olan c ve c++ etkileşimininden türemiştir. Ayrıca Java gibi diğer popüler diller c# ile oldukça benzerdir.
Neden C# soruna geçmeden önce c# ile neler yapabileceğinize bir göz atalım.
ASP basit veya dinamik bir web sitesi yapmak için ihtiyaç duyulan tüm işlemleri gerçekleştirebileceğiniz bir teknolojidir. ASP, Aktif sunucu anlamına gelir. ASP İle oluşturulan siteler dinamik web siteleridir. ASP İle yazılan kodlar ziyaretçiler tarafından görüntülenemez (Tarayıcı tarafından yorumlanabilir) bu da asp teknolojisini oldukça güvenli kılar. ASP.NET ise daha gelişmiş bir teknolojidir. ASP.NET Web uygulamalarını oluşturan bir çatıdır. C# ile Asp.NET yazılır. Asp.NET bütünlük ve derleme açısından hem de yazılımcılara çok büyük kolaylıklar sağlar.
Genellkile veri paylaşımına ihtiyaç duyulduğunda verilerin bulunduğu web sayfanın dışında farklı yerlere ve cihazlara gönderiminde kullanılır. Web Service ile platform bağımsız tüm cihazlara veri aktarımı gerçekleştirilir. C# , web servis uygulamaları için oldukça tercih edilir.
Günümüzde oyun tasarlamanın temenlinde C# vardır. En başta Unity olmak üzere bütün oyun platformları C# destekler. C# aklınıza gelen hemen hemen popüler her oyunun teknik tarafıdır. C# bilmemek sizi oyun görsel ve grafik arayüzlerini tasarlayan bir tasarımcı yapar.Eğer bir oyun tasarımcısı olmak istiyorsanız artık C# bilmeniz şart.
Windows form uygulamalarını, konsol uygulamalarından ayıran en önemli özelliği grafiksel kullanıcı arayüzüne sahip olmasıdır. Bilgisayar programları yazmak için windows form uygulamarı tercih edilir. Örneklersek Steam bir grafik arayüzü bulunan uygulama olduğu için Windows form uygulamasıdır.Son güncellemeler ile artık c# ile grafiksel olarak gelişmiş çalışmalar yapmak da mümkün hale gelmiştir.
KONSOL UYGULAMALARI:
Console uygulamaları Windows’ta CMD Üzerinden çalışır. Consol uygulamaları grafiksel olmayan bir arayüze sahiptir. Ayrıca konsol uygualamarı geliştirmek programlama öğrenmek için en basit ve en hızlı yoldur.
Güncel verilere bakıldığında Windows Phone mobil iştetim sisteminin Pazar payı her ne kadar yok denilecek kadar az olsa da Xamarin sayesinde C# ile Windows Phone için mobil uygualama geliştirebilirsiniz. Xamarin, C# kullanarak Cross (çapraz) Platform mobil uygulama geliştirme frameworküdür.
*Mobil uygulama alanında profesyonelleşmek isteyenlere C# tavsiye edilmez.
DLL yazma
C# İle DLL yazabilirsiniz. DLL (Dinamic Link Library) adından da anlaşılacağı üzere dinamik bir kod kütüphanesidir. Özellikle kendini tekrar eden yapılar DLL içerisine yazılır ve uygulama tarafından (Oyun, form uygulaması vs.) ihtiyaç duyulması halinde çalıştırılır. DLL, tek bir dosya üzerinden çalışarak bellek kullanımını minimum seviyeye düşürmenizi, program ve bilgisayar hızını artırmanızı sağlar.
Sonuç olarak,
C# günümüzde oldukça popüler bir dildir. Microsoft çok daha geniş kitlelerin ilgisini çekmek için Visual Studio’ya çokça düzenlemeler ve yenilikler getiriyor. Bunu somut bir örnekle açıklayalım. Developer Tech’de yer alan bir makalede Microsoftun C# derleyicisini bir servis olarak sunabilmek için çalıştığı yazıldı. Yazının devamında Microsoftun C#’ı, derleyici ve Visual Studio IDE’si tarafından kullanılan sözcüksel, sözdizimsel ve anlamsal çözümleme motorlarını dokümante edilmiş ve desteklenmiş şekilde kullanıma sunulacağı belirtiliyor. Bu güncelleme C# için kullanılan kullanılar kütüphanelerin ulaşabillirliği daha da kolaylaşacak.Buda bizlere C# Kodlarını anlamada, hata bulmada, düzenlemede ve diğer işlemlerde çokça yardımcı olacağından C# için daha az çaba ile daha iyi kod yazmak mümkün olacak.
C# gelecekte de popülerliğini sürdürmeye devam edecek…
![]() | Sezer ÇETİNTAŞ Bilişim Teknolojileri ve Yazılım Öğretmeni https://educathub.com/sezer-cetintas/ |