Hangi Programlama Dilini Öğrenmeliyim?

Üniversitelerde, liselerde, okullarda  yazılım eğitimi verilirken dikkat edilecek en önemli nokta programlama mantığının öğretilmesidir. Özellikle Programlamaya Giriş veya Algoritmaya Giriş Dersleri yazılım sektörüne atılacak en önemli adımı teşkil eder.

 

Programlamaya Giriş dersi tabiri caiz ise binanın temelidir, sonraki yıllarda bu temelin üzerine inşa edeceğiniz yeni teknolojilerin kavranması attığınız bu ilk adıma bağlıdır. Aşağıdaki dersler de bu binanın tamamlanması için gereklidir. 


- Programlamaya Giriş
- Veri Yapıları ve Algoritmalar
- Nesne Yönelimli Programlama
- Veritabanı Yönetim Sistemleri
- Bilgisayar Mimarisi
- Algoritma Analizi
- İşletim Sistemleri
- Yazılım Mühendisliği


 

Bu dersleri Bilgisayar Mühendisliği'ne gittiğinizde zaten görürsünüz, peki okul bitti sıra geldi iş bulmaya, o zaman ne öğreneceksiniz? Bu dersleri aldıysanız büyük ihtimalle C ve Java programlama dilleri konusunda da bilgi sahibi olmuşsunuzdur. Yeni bir programlama dilini öğrenmek temel mantığı kavradığınızdan artık zor olmayacaktır.
 

En önemli derdimiz İngilizce, bir programlama dilini öğrendikten sonra proje geliştirirken takıldığımız noktalarda arama yaptığımızda, karşımıza çıkan cevapları anlayamıyorsak ya da yeni geliştirilen bir dilin İngilizce dökümanlarını anlamıyorsak, çok ileri gitmemiz maalesef mümkün değil, bu nedenle İngilizce bizim meslek için ön şarttır.
 

Diğer bir nokta, üniversitenin size her şeyi öğretmesini beklerseniz, hayal kırıklığına uğrarsınız. Şunu bilelim, üniversite size bilgisayar konusunda genel bir kültür kazandırır. Mezun olduğunuzda bilgisayarın hangi alanında açık olacağını bilemezsiniz. Üniversite şu programlama dilini öğretmelidir, diyemeyiz. Fakat MIT, Carnegie Mellon gibi yazılım alanında ileri üniversitelerde C, Java ve Python dilleri üzerinde duruluyor. Belli bir zaman sonra bu dillerin yerini başka diller alabilir. Örneğin üniversitedeyken Qbasic, Dbase, Pascal, C, Delphi kullanmıştım ama şu an bu programlama dillerinin hiçbirini kullanmıyorum.
 

Sonuç olarak, programlama dillerinin belli dönemlerde popüler olduğunu bilin ve hiç bir zaman tam anlamıyla bir dilin fanatiği olmayın. Üniversite size Algoritma Mantığını, Veritabanı Tasarım Mantığını, İşletim sisteminin çalışma mantığını, MVC Tasarım Desenini, Nesne Yönelimli Programlama Mantığını vermişse yeni bir dili öğrenmeniz zaman almayacaktır. Bundan 5 yıl önce IOS ve Android programlama popüler değildi, Apple'in oyuncaklarına kod yazmak için Objective C gerektiğini, Java ile Android İşletim sisteminde uygulamalar yazılacağını bilmiyorduk, Swift diye bir dil hiç ortada yoktu.

Şimdi yeni yeni diller duyuyoruz, her dilin kullanım amaçları farklı. Go, R, Scala, Ruby gibi. Ülkemizde çok bilinmese de Ruby dili Rails framework'ü ile çok hızlı. Scala dilinin Java'nın yerini alacağı söyleniyor, Java bilenler kısa sürede adapte olabiliyor. R Programlama dili ise,  istatistiksel veri analizi ve veri madenciliği çalışmalarında tercih ediliyor, Go ise Google'in tarafından farklı bilgisayarların bilgi alışverişi için geliştirilmiş. Yazının sonunda "Kaynaklar" kısmında yer alan (2) nolu referansı incelerseniz daha detaylı bilgi elde edebilirsiniz. 
 

1) Kariyer Siteleri, Yabancı ve Yerli Yazılım Geliştirme Forumları üzerine yaptığım incelemelerden sonuçlara göre, yazılım alanında iş bulmak için neler gerekli?
 

PHP ile ilgili iş ilanlarının büyük bölümünde Framework şartı aranıyor, Bootstrap, Jquery web tasarım işi için PHP ile beraber isteniyor. Laravel, Symfony, Zend ilanlarda en çok üzerinde durulan framework'ler. 

ASP.net ile ilgili ilanlarda SQL Server, C#, Bootstrap, Design Patterns isteniyor. ASP.net dünyasında da MVC5 framework bilme şartı da aranıyor.

Java ile genelde büyük kurumsal firmalar ilgileniyor, en az 3 yıl deneyim aranıyor. Java dünyasında çok fazla seçenekler olduğundan tüm detayların öğrenilmesi uzun sürüyor, Spring ve Play Framework'ler en popüler olanları.

Yurt dışında hızından dolayı Ruby programlama dili Rails framework'ü ile kullanılıyor, Ruby on Rails olarak geçiyor, Python ise Django framework'ü ile kullanılıyor. Türkiye'de Ruby Rails kullanan firma çok az.

MVC(Model View Controller) yapısına geçiş var, aslında MVC yeni birşey değil ama son 2-3 yılda projelerin büyümesiyle ilgi arttı. Kodları Model, View, Controller olarak üç gruba ayırmak müthiş bir rahatlık, esneklik, verimlilik kazandırıyor

NoSQL Veritabanları da artık klasik veritabanları yanında bilinmesi gerekenlerden, en popüler olanı MongoDB. Birçok NoSQL veritabanı hakkında bolca kaynak bulabilirsiniz, mantığı ilişkisel veritabanlarından farklı.

2) Dünyada hangi programlama dili en çok kullanılıyor?

TIOBE Index'in Eylül 2015 verilerine göre programlama dillerinin kullanım istatistikleri aşağıdaki grafikte görüldüğü gibi.  Perl gibi düşüşe geçen diller de var, Objective C gibi yükselen diller de. Java ve C dilleri halen birçok sistemde kullanılıyor. C programlama dili ağırlıklı olarak Gömülü Sistemlerde(Embeded Systems) yani donanım kontrol edilidiği sistemlerde hızından dolayı vazgeçilmez bir dil. Örneğin bir işletim sistemi yazacaksanız, donanım yakın, orta seviye diller olan  C ve C++ dillerini kullanırsınız. Windows, Linux işletim sistemleri  de C/C++ ile yazılmıştır, C dili zaten Unix işletim sistemini yazmak için geliştirilmiştir. İş uygulamalarında genelde zamandan kazanmak ve kısa sürede projeyi bitirmek için yazılım şirketleri C# ve Java tercih ediyorlar.  İstatistiklere göre Java %19,56, C %15,62  gibi yüksek bir kullanım oranına sahiptir. 


3) Peki, Türkiye'de hangi şirketler hangi programlama dilini ve veritabanını kullanıyor?

Aşağıdaki bilgileri Kariyer.net'deki iş ilanlarını inceleyerek derledim, birçoğunu da zaten web sitelerini incelediğinizde göreceksiniz. 

hepsiburada.com - Asp.net, SQL Server, Oracle
yemeksepeti.com - Asp.net ve SQL Server
- Ets tur - Java ve Asp.net, SQL Server
TatilSepeti.com - Asp.net, Web ve XML teknolojileri 
- Markafoni - Python ve PostgreSQL
n11.com - J2EE (java)
- Finans sektörü(Garanti Teknoloji) - java, Oracle, ASP.net(C#)
- Sağlık sektörü - Java, Oracle
- LOGO Yazılım - Delphi, SQL Server, Java
- Sigortacılık Sektörü - Java, Oracle
- ING Emeklilik - Asp.net 
- Luca Web Tabanlı Muhasebe: ASP.net, Oracle
- KARİYER.NETKariyer Sitesi - ASP.net, SQL Server
- SecretCV Kariyer Sitesi - Php, MySQL
- EMLAKJET - PHP ve MySQL
- HABER7- Php MySQL
Sahibinden.com - PHP, MySQL, Java
- Sadece Hosting - PHP, MySQL 
Şikayetvar.com - PHP, MySQL
- Atılım Üniversitesi, PHP, MySQL, Zend ve Yii Framework
- Okan Üniversitesi, PHP, MySQL
- Koç Üniversitesi, PHP, MySQL, Drupal
- Ciner Holding (Haberturk, Bloomberg) PHP, MySQL
- İdeasoft - PHP Zend Framework ile.
- TÜRK TELEKOM- Java, ORACLE
- TEKNOSA, Java, ORACLE
- DOĞAN Grubu Web Siteleri - ASP.net, SQL Server
- NETAŞ - J2EE, Java, C++
- TAV (Thy Yazılım Şirketi) - Java, Java DB
- KOÇ SİSTEM- Java, Oracle 12C
- GENERAL ELECTRIC - Java, JSF, JSP, JPA
- HYUNDAI ASSAN- ASP.net C# SQL Server
- SIEMENS - Asp.net
- DIGITURK - .Net, Oracle PL/SQL Developer
 

4) Peki İş Arayanlar Hangi Dilleri Bilmeli?

Öncelikle artık birden fazla programlama diline hakim olmak gerekiyor, kurumsal projeler web tabanlı olduğundan HTML, CSS3, Jquery, Angular JS de programlama dillerinin yanında gerekiyor. Microsoft dünyasında Visual Basic.net tamamen silindi, C# ile ASP.net ve SQL Server Türkiye'de çok kullanılıyor ama klasik kullanım ortadan kalktı. Açık kaynak dünyasında PHP ve Java dillerini bilmek yetmiyor, bir framework ile beraber kullanmak gerekli. Yurt dışında PHP ile Symfony2, Java ile Spring bilmek gerekli.

 

4) Üniversiteler, Meslek Yüksek Okulları, Teknik Liseler'in ders programları uygun mu? Üniversiteler biraz daha esnek ve hazirliklilar ama son gelişmeleri takip edecek ve zaman ayıracak eleman lazim, çünkü 2-3 yılda bazen daha kısa sürede sektör kendini yeniliyor. 

KAYNAKLAR

1) TIOBE Programlama Dillerinin Kullanım İstatistikleri Verileri 
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

2) IEEE Programlama Dili İstatistikleri
http://spectrum.ieee.org/computing/software/the-2015-top-ten-programming-languages

3) Java Programlama Dili ve MySQL Veritabanı ORACLE şirketi tescilindedir.
http://www.oracle.com/technetwork/java/javase/downloads/index.html

4) C# Programlama Dili, SQL Server Veritabanı Microsoft şirketi tescilindedir.
https://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx

5) Python Programlama Dilleri Açık Kaynak kodlu bir yaklaşımdır, hiçbir şirketin tescilinde değildir.
https://www.python.org/

6) PHP Programlama Dilleri Açık Kaynak kodlu bir yaklaşımdır, hiçbir şirketin tescilinde değildir.
https://www.php.net/

7) C++ Programlama Dili 
Standart C++ 
C++ Language Reference 
C++ Dili 

8) Ruby Açık Kaynak Programlama Dili Resmi Sitesi
https://www.ruby-lang.org/tr/

9) Scala programlama Dili Resmi Sitesi
http://www.scala-lang.org/

10) GO Açık Kaynak Programlama Dli Resmi Sitesi
https://golang.org/

11) Swift, Objective C Programlama Dili Apple Şirketi tescilindedir.
https://developer.apple.com/swift/

12) İstatistiksel Programlama Dili R
https://www.r-project.org

Mutlu kodlamalar,
Oğuzhan TAŞ
Eylül 2015 - Düzenleme Ağustos 2017

 

Bookmark and Share