Veri

Hangi Programlama Dilini Seçmelisiniz?

Sahipleri : Godoro
Hangi programlama dilinin ve dolayısıyla hangi eğitimin size uygun olduğa karar vermek için aşağıdaki bilgileri kullanabilirsiniz.

Dilleri Karşılaştırma

Bilgisayar programcısı veya yazılım geliştiricisi olmaya karar vermek yetmez, hangi dilde geliştirme yapılacağına da karar verilmelidir. Genel olarak programcıları
  • Java
  • .NET
  • C - PHP
şeklinde üç gruba ayırabiliriz. Ancak ayrım biraz daha ayrıntıya inince daha da karmaşıklaşır. Öte yandan, programlama dilleri karşılıklı dışlayan seçenekler değildir. Örneğin HTML, CSS, JavaScript seçeneği tek başlarına da kullanılsa, Java, C#/VB ASP .NET ve PHP dillleriyle çalışan web programcıları için de mutlaka bilinmesi gerekmektedir. Veritabanıyla iş yapan Java, C#/VB ASP .NET ve PHP programcıları SQL & XML bilmek durumundadır. Bir başka durum da masaüstü web mobil ayrımıdır. Kurumsal ve Web uygulamlarında Java tercih edenler masüstünde C# .NET kullanabilmektedirler. Bu karşın C# ASP .NET programlama yapanlar mobil geliştirmede C#'ın daha az kullanımı nedeniyle Android Java seçeneğini kullanabilemektediler. Android'de Java kullanan bir çok geliştirici sunucu tarafında Java yerine PHP'yi desteklemektedir. Bir başka konu da, dile başlangıçtır. C/C++ göreli olarak daha az kullanılsa da adı verilen tüm dillerin atası durumunda olduğu için bazı eğitimciler ilk olarak temellerin kavranması için C/C++ öğrenilmesini, daha sonra Java, C# ASP .NET veya PHP seçeneklerine yönelinmesinin doğru olduğuna inanmaktadır. Öte yandan bunu zaman kaybı olarak görüp doğrudan yaygın bir programlama diline geçmenin daha mantıklı olduğunu düşünenler çoğunluktadır. Bir çok üniversitede programlamaya giriş dersi olarak Java anlatılmaktadır. Öte yandan C/C++ ile veya C# ile başlayanlar da oldukça çoktur.
Burada verilen bilgiler her ne kadar eğitmen kadromuzun (www.godoro.com) on yılları aşan deneyimleri ve çok sayıda projede çalışmış olmalarından edindikleri bilgi birikimleriyle yazıldıysa da kişiden kişiye değişebilecek yorumlar da içerebilir. Bu konuda nesnel olabilmek çok zordur. Özellikler bir seçim yapmış olanlar bazı durumlarda kendi tercihlerini şiddetle savunmakta, diğer dillere de düşmanca bir tutum sergileyebilmektedirler. Hangi programlama dilini seçileceğine, hangi ortamda yazılım geliştireceğine öğrenci kendisi araştırarak ve deneyerek karar vermelidir.

Programlama Dili Seçenekleri

Godoro giderek artan, oldukça geniş bir programlama dili ve teknolojisi eğitim, danışmanlık ve yayın kataloğuna sahiptir. Aşağıdakiler hem Godoro'nun uzmanlık alanlarını hem de öğrencileri için programlama dili seçeneklerini göstermektedir :
  • Java
  • Kurumsal Java
  • Android Development
  • C#/VB ASP .NET
  • PHP
  • C/C++
  • HTML, CSS, JavaScript
  • SQL & XML

Java & Kurumsal Java

Java dili kurumsal (enterprise) alanda, yani büyük şirketlerde kullanılır. Ortalama bir Java programcısı diğer dillerin programcılarından daha fazla para kazanabilir, daha iyi iş olanaklarına sahip olabilir. İş ilanlarında Java çok aranan bir konudur. Ancak arandığı kadar çok kullanılmaz, Türkiye piyasasında C#,VB, ASP .Net ve PHP teknolojiler çok daha yaygın olarak kullanılmaktadır. Diğer dillerin daha çok kullanılmalarının en önemli nedeni, öğrenilmeleri Java'ya göre kolay olduğu için bu dilleri bilenleri bulmak, bilmeyenlere işe girdikten sonra öğretmek daha kolaydır. Java göreli olarak daha zor ve daha ileri öğeler içerdiği için daha çok iyi iş olanaklarına sahip olurlar. Bu yüzden Java ve Java Enterprise seçeneklerini düşünmek akıllıca olabilir. Java diğer seçeneklere göre biraz daha geniş ve karışık olduğu için daha uzun bir öğrenme dönemi geçirileceği akıldan çıkarılmamalıdır. Java'nın karmaşık ve ileri özellikler içermesi yazılım geliştirmede ileri teknolojilere meraklı olanları çekmekte, diğerlerin basit ama rutin yöntemlerini sıkıcı bulanlar için daha eğlenceli olarak algılanmaktadır. Ama bunun bedeli sürekli öğrenme zorunluluğu, en basit işleri bile karmaşık yollardan çözme gerekliliğidir. Bir çok dilde bir konuda bir, en fazla bir iki seçenek varken Java'da bir çok seçenek olması oldukça kafa karışıklığı oluşturmaktadır. Her ne kadar standart öğeler varsa çok fazla standart dışı bileşen bulunmaktadır. Java'nın daha hızlı gelişmesini ve daha ilerde olmasını sağlayan bu özellik yeni geliştiriciler için oldukça büyük bir karmaşıklık olarak algılanabilmektedir.

Artıları :
  • Daha fazla maaş
  • Daha kolay iş bulma
  • Daha fazla mesleki tatmin
  • Uzun vadeli, sistemli kod yazabilme
  • Hem standart hem de çok fazla seçenek
Eksileri :
  • Daha zor öğrenme
  • Sürekli öğrenim gerekliliği
  • Daha yavaş geliştirme hızı
  • Bazı durumlarda daha düşük performans
  • Çok kafa karıştırıcı, aşırı bol seçenek

Android Java Development

Java Android için durum olağan Java'ya göre biraz daha farklıdır. Zira Android akıllı telefonlarda kullanılan bir işletim sistemidir. "Akılsız" telefonlarda kullanılan Java'nın Mobil sürümü giderek daha az kullanılmakta Android giderek yaygınlaşmaktadır. Android programcısına olan talep iş olanaklarını doğrudan belirler. Android'in kullanımı daha sonra azalsa dahi yerine geçen sistemler de ya Java tabanlı olacak ya da Java ve Android benzeri bir yapıda olacakları için Android programcıları açıkta kalmayacaklar, yeni ortama uyum sağlayacaklardır. Bu yüzden Java Android kursunu almak akıllıca olabilir.

Artıları :
  • Mobil geliştirmenin giderek artması
  • Android'in giderek artan popülerliği
  • Java bilgisinin diğer alanlarda da kullanılabilmesi
  • Tek bir firmaya bağlı olmaması
Eksileri :
  • Sadece mobilde geliştirme olması
  • Mobildeki alternatiflerine göre biraz daha zor olması
  • Geliştirme ortamının zor kurulması ve kullanılması

C#/VB ASP .NET

Microsoft firmasına ait Windows işletim sistemi son kullanıcı tarafında yaygın olarak kullanılmaktadır. Sunucu tarafında o kadar yaygın olmasa da belli bir pazar payına sahiptir. Microsoft firması ayakta kaldığı sürece .Net çatısı ve C# ve VB dilleri ile onların web teknolojisi ASP yazılım geliştirme alanında kullanılmaya devam edecektir. Microsft'a veya kolay kullanımı nedeniyle Windows'a sempatisi olanlar için doğal olarak C#,VB,ASP .Net kursunu tercih etmek en mantıklı seçenektir. .Net platformu Java'la kıyaslanacak düzeyle ileri özellikler içermekte, Java'dan daha kolay öğrenilebilmektedir. Özellikle işletim sistemini ve ofis programlarına hakim olan ancak programlama ile ilgili bir eğitim almadan bu alana geçmek isteyenler için .Net oldukça geçerli bir seçenektir.

Artıları :
  • Hem güçlü hem kolay dil olması
  • Herkesin bildiği Windows araçlarına yakınlığı
  • Arkasında Microsoft gibi bir devin olması
  • Tek üreticiden geldiği için basit, tek geliştirme ortamı
  • PHP'ye göre daha yüksek maaş
  • PHP'ye göre daha kolay iş bulma
Eksileri :
  • Microsoft dışında seçeneklerin çok az olması
  • Microsoft başarılı olamadığı alanlarda ilerleyememesi
  • İleri geliştirme teknolojilerinin çok yavaş standarda konması
  • Java'ya göre daha düşük maaş
  • Java'ya göre daha zor iş bulma

PHP

PHP sadece web programlamada kullanılan bir dildir. Öğrenilme kolaylığı ve gelişmiş hazır kütüphaleri nedeniyle yaygın olarak kullanılmaktadır. PHP Windows ortamında da çalışsa da UNIX/Linux ortamlarında çok yaygın olarak kullanılmaktadır. Linux'a sempatisi veya Microsoft'a antipatisi olanlar için PHP en mantıklı seçeneklerden birisidir. PHP'nin bir özelliği de açık kaynaklı çok sayıda proje içermesidir. Java'da açık kaynak kütüphaneler açısından zengindir, .Net'te Microsoft açık olmasa da bedava bir çok kütüphane sağlamaktadır ancak PHP'de açık kaynaklı sadece kütüphane değil çalışır durumda uygulamalar bulunmaktadır. PHP programcıların bir çoğu hazır bir programı değiştirerek proje geliştirmektedir. PHP'nin bir avantajı da basitliği nedeniyle HTML veya grafik uzmanlarınca tercih edilmesidir. Programcı olmayan birinin Java öğrenmesi çok zor, .Net öğrenmesi zor ama PHP öğrenmesi olasıdır. Ancak öğrenim kolaylığı aynı zamanda alınacak maaşın düşük olmasına da yol açabilmektedir.

header:/Artıları :
  • Çok kolay öğrenilmesi
  • Çok hızlı geliştirme yapılması
  • Çok sayıda açık sistem ve ürün
  • Çok yüksek performansla çalışması
Eksileri :
  • İleri özelliklerin az olması veya yaygın olmaması
  • Büyük projelerde sistemsiz ve karmaşık kod üretilebilmesi
  • Düşük maaş
  • Daha zor iş bulma

C/C++

C/C++ programlama dili şu anda yaşayan tüm dillerin kökeni ve atasıdır. Java, .Net ve PHP denilen sistemlerin hepsi birer C/C++ uygulamasıdır. C/C++ düşük düzeyli bir dildir. Uygulama geliştirme için kullanılabileceği için uygulama geliştirmek için üretilen işletim sistemi, aygıt arayüzleri, sistem programlama gibi alanlarda daha kullanılmaktadır. C/C++'ın dünyada belli bir kullanımı bulunmakta ise de ülkemizde C/C++'ın yaygın olarak kullanıldığı ortamlarda pek fazla geliştirme yapılmamaktadır. C/C++ dili düşük düzeyli, elektronik ve mekanik alanlarında kullanılmaktadır. C/C++ tabanlı Objective-C dili is Mac, iPad ve iPhone için yazılım geliştirmekte neredeyse tek yol olduğundan Objective-C'nin belli bir pazar payı bulunmaktadır. C/C++ dilleri dünyada çok yaygın kullanılır ancak ülkemizde işletim sistemi, donanım programlama veya oyun gibi alanlarda çok az geliştirme yapıldığı için ABD dışındaki ülkelerde çok az kullanılır.

Artıları :
  • Donanım programlamaya olanak vermesi
  • En yüksek performans
Eksileri :
  • Güvensiz kod geliştirme
  • Ülkemizde çok az kullanılıyor olması

HTML, CSS, JavaScript

Web Programlama veya Front-End (Ön-Uç) programlama diye bilinen alanda çok kullanılmaktadır. Web ve mobil uygulamaların artışıyla birlikte geliştiricilerin çoğu web teknolojilerini öğrenmek durumundadır. Java, C# ASP .NET ve PHP yapanlar bu dilleri ya belli bir düzeyde ya da çok ileri düzeyde bilmek durumundadırlar.

Artıları :
  • Tüm web programcıları gerekmesi
  • Kolay öğrenilmesi ve uygulanması
  • Görsel araçlarla ve tasarımla bağlantılı olması
Eksileri :
  • Daha az maaş
  • Diğer dillerin bir yan konusu gibi kabul edilmesi
  • Sadece Web ve Mobil ile ilgili olması

SQL & XML

Veritabanı ve Mesajlama dilleri olan SQL ve XML veri ile ilgili işlem yapan her tür geliştirici, hatta geliştirici olmayan analist veya sistem tasarımcısı, veritabanı yöneticisi gibi alanlarda çalışanlar için gereklidir.

Artıları :
  • Tüm veritabanıyla çalışan programcılarına gerekmesi
  • Kolay öğrenilmesi ve uygulanması
  • İş mantığıyla, analiz ve sistem ile ilgili olması
Eksileri :
  • Daha az maaş
  • Diğer dillerin bir yan konusu gibi kabul edilmesi
  • Sadece veritabanı ile ilgili olması

Sonuç


Dil seçiminde duruma ve kişiye göre değişen yaklaşımlar bulunmaktadır ve herhangi bir tanesi diğerinden her alanda üstün değildir. Dolayısıyla birini tercih etmek çok büyük bir hata yapmak anlamına gelmez. Dil seçiminde bir başka konu da tüm diller birbirine son derece yakın olmasıdır, %80'i temelde birbiriyle aynıdır, farklar ileri konularda oluşur. Yani bir dili iyi bilen biri az bir çabayla diğerine geçebilir. Asıl konu bir programlama dilini öğrenmek değil programlamayı öğrenmekdir. Zor olan dil değil programlama mantığı ve teknolojilerdir. Bu da her dilde üç aşağı beş yukarı temelde aynıdır.
Godoro , 26.05.2018

Bu Sayfayı Paylaş:

Fibiler Üyelerinin Yorumları


Tüm üyeler içeriklere yorum ekleyerek katkıda bulunabilir : Yorum Gir

Misafir Yorumları




Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir