Programlama Dilleri Arasındaki Farklar

Programlama Dilleri Arasındaki Farklar
Bilinmeyen Bilişim Kitabı

nelerdir diye soran kardeşimizin sorusunu cevaplıyoruz.

SORU:

merhaba kodcu herif
proğramlama dilleri ile ilgili bir sorum var vikipediden vs. baktığımda yüzlerce proğramlama dilleri varmış merak ettiğim konu şu bu dillerin birbirinden farkı ne?
örneğin java ile c# anladık ikisi farklı firmanın üretimi fakat C# ile C++’sın farkı ne (yada aynı firmaya ait olan diller) saygılarla

CEVAP:

Aslında soru çok geniş bir soru. Çünkü 150’den fazla yazılım dili var ve her birinin kendisine has avantaj ve dezavantajları var. Bu anlamda her birini açıklamak için kitap yazmak mümkün. O yüzden genel bilgi vererek cevaplayalım soruyu.

Programlama Dilleri Arasındaki Farklar

yazılım dilleriProgramlama dilleri arasındaki en temel farkı ve mobil yada masaüstü yazılım dilleri olarak ikiye ayırarak açıklayabiliriz. Web yazılım dilleri ile mobil uygulama yada masaüstü program geliştiremezsiniz, mobil uygulama yada ile web sitesi yapamazsınız.

için temel olarak PHP ve ASP.Net yazılım dillerinden birini seçmeniz gereklidir. Bu konuya burada değindik: ASP.Net mi Yoksa PHP mi Öğrenmeliyim?

Bunların yanı sıra web sitesi yapmak ile alakalı HTML ve CSS vardır fakat onlar yazılım dili değildir. Çünkü yazılım dili olabilmesi için bir işlem yapabiliyor olmanız gereklidir. HTML ve CSS bu anlamda web sitesinin görsel unsurlarına hitap eden dinamik değil statik dillerdir.

Masaüstü programların yazılım dilleri ile mobil uygulama geliştirmek için kullandığımız yazılım dillerini aynı kefeye koyabiliriz fakat bu bütün masaüstü program yapma imkanı sunan yazılım dilleri ile mobil uygulama yapılabileceği anlamına gelmez. Örneğin C# ile hem Windows Phone için uygulama geliştirebilir hemde masaüstü bilgisayarlarda yüklü olan Windows işletim sistemi için program yapabilirsiniz.

C# ile C++ farkı olarak en temel fark geliştirme ortamıdır. C# ile bir yazılım geliştirmek için son derece gelişmiş yazılım geliştirme programı olan Visual Studio ‘yu kullanırsınız. Bu program ile diğer yazılım dillerine nazaran çok daha hızlı ve kolay yazılım geliştirme imkanına sahip olursunuz. En basit örnek olarak C# ile yazılım yaparken projeye bir buton ekleyecekseniz, bunu hazır butonu sürükleyip formunuza ekleyebilir, araçlar ile düzenleyebilirsiniz. C++ ile yazılım yaparken bunu kodlar ile yapmanız gerekecektir. Bu konuda genel olarak yazılım bilen arkadaşlar yazılımı adam gibi öğrenmek için kolayı değil zor olanın tercih edilmesi gerektiği düşüncesine sahiptirler. Ben ise zaman sorunsalı ve hata yapma olasılığı nedeniyle hızlı ve kolay olanın ideal olduğu düşüncesindeyim.

Diğer bir fark ise C# .Net Fremework kütüphanesini kullanmaktadır. Bu kütüphane ile kalıplar kullanarak yazılım geliştirirsiniz. Dolayısıyla bu kalıpların izin vermediği sınırlara takılma ihtimaliniz vardır. C++ bu anlamda daha özgür bir dildir. Kolaylığın yarattığı kısıtlamalara takılmazsınız.

C# .NetFremework kütüphanesini kullandığı için, C# ile masaüstü bir yazılım geliştirecekseniz mutlaka o bilgisayarda .Net Fremework kütüphanesi yüklü olması gereklidir. Windows 7 ve sonrasında çıkan bütün işletim sistemlerinde varsayılan olarak .Net Fremework kütüphanesi vardır ve yaptığınız programı çalıştırması için Windows 7 ve üzeri kullanan bir kişi sorun yaşamaz. Fakat Linux gibi diğer işletim sistemlerini kullanan arkadaşlar bu konuda sorun yaşar. C++ ise hemen hemen bütün işletim sistemleri tarafından desteklenmektedir. Zaten C# ‘ın yaratıcısı Microsoft ‘un işletim sistemi Windows dahil hemen hemen bütün işletim sistemlerinin yapımında C++ kullanılmıştır. Dolayısıyla yaptığınız bir masaüstü programı istediğiniz işletim sisteminde çalıştırabilirsiniz.

C# ile C++ FarkıC# dünyanın en büyük yazılım şirketi Microsoft tarafından sürekli geliştiriliyor, her geçen gün daha kolay ve güvenli hale getirilmeye çalışılıyor. C++ ise gönüllü bir ekipler tarafından geliştiriliyor.

Aslında yapı olarak çok farklı değiller. Bir çok benzer özelliğe sahipler. Hatta C# için C++ ‘ın kütüphane oluşturularak, belli kalıplar halinde, daha kolay ve hızlı yazılım geliştirme imkanı sunan hali diyebiliriz.

SONUÇ

Yazılımcılar arasında hangi yazılım dilinin daha iyi olduğuna dair sürekli bir tartışma söz konusudur. ASP.Net yazılımcıları, ASP.Net ‘in PHP ‘den daha iyi olduğunu söyler, PHP yazılımcıları ise tam tersi. C# yazılımcıları, C# ‘ın C++ ‘tan daha iyi olduğunu söyler, C++ yazılımcıları ise tam tersi. Hep bir taraf olma ve tarafını deli gibi savunma hastalığı var bizim ülkemizde. Gıcık olurum zaten bu taraf olunan şeyi namusu gibi savunanlara… Aslında bunların hiç birinin anlamı yok. Çünkü bütün yazılım dillerinin birbirine nazaran avantaj ve dezavantajları vardır. Yazılım öğrenmek isteyen kişi içinde hangi taraf daha cazip ise tek yapması gereken ona göre tercihte bulunmaktır.

Amacınız “ben yazılımı tam anlamıyla, derinlemesine öğreneyim, mantığını iliklerime kadar hissedeyim” diyorsanız C++ ‘ı tercih edersiniz. Yok amacınız “ben projemi olabildiğince kolay ve hızlı yapayım, çok fazla uğraşmayayım, Hatice’ye değil neticeye bakayım” diyorsanız o zaman C# ‘ı tercih edersiniz. Bunun yanı sıra ben “Android uygulama geliştiricem” derseniz Java ‘yı, “iOS için uygulama geliştiricem” derseniz Objective-C ‘yi seçersiniz. Yani mesele biraz yazılım yapacağınız platform birazda kişisel tercihlerinizden ibarettir.

Bilinmeyen Bilişim Kitabı
  • burak

    Formal programlama dili ile sözde kod arasında nasıl bir fark olduğunu kısaca izah
    edermisiniz