Yardım Merkezi'nde sıkça konusu açılan "Hangi programlama dilini öğrenmeliyim?", "Programlama dilleri hakkında" ve benzeri sıkça sorulan programlama ile ilgili sorular için Araştırma-Geliştirme ekibi olarak yaygın olarak kullanılan veya popüler olan dilleri, framework'leri, bunların sektördeki yerini ve kendinizi bu alanda geliştirmenize yarayacak faydalı bulduğumuz bağlantıları içeren bir konu hazırladık.
Bu çalışma ile amacımız; sıkça açılan aynı nitelikli konulara cevap vermek, programlamaya ilk adımını atacaklara yaygın programlama dilleri hakkında genel ve teknik bilgiler veren bir kaynak oluşturmak, bazı bilgi kirliliklerinin önüne geçmektir.
Ayrıca programlamaya yeni başlayacak biriyseniz forumda bulunan, sıkça sorulan soruların cevaplarını içeren rehber niteliğindeki konulara göz atmanızı öneriyoruz. (#1, #2, #3)
Yazılarda emeği geçenler: KeyLo99 Gbmdpof kondanta easyly Emperor Federico (Ar-Ge Tim)
Konu içeriği
Bu çalışma ile amacımız; sıkça açılan aynı nitelikli konulara cevap vermek, programlamaya ilk adımını atacaklara yaygın programlama dilleri hakkında genel ve teknik bilgiler veren bir kaynak oluşturmak, bazı bilgi kirliliklerinin önüne geçmektir.
Ayrıca programlamaya yeni başlayacak biriyseniz forumda bulunan, sıkça sorulan soruların cevaplarını içeren rehber niteliğindeki konulara göz atmanızı öneriyoruz. (#1, #2, #3)
Yazılarda emeği geçenler: KeyLo99 Gbmdpof kondanta easyly Emperor Federico (Ar-Ge Tim)
Konu içeriği
Kod:
[CENTER][COLOR="#eef0ea"]
[B]C++
C#
Java
Python
Rust
Go
Ruby
Lisp
Kotlin
Objective-C
Swift
PHP
JavaScript
HTML/Css[/B]
[/COLOR][/CENTER]
C++
Bjarne Stroustrup tarafından 1985 yılında geliştirilen general-purpose programming language(gppl), yani genel amaçlı programlama dili olarak piyasaya çıkmıştır. Bunun yanı sıra, C gibi low-level, memory manipülasyonu için de jenerik kite sahip bir dildir.
Versiyonlar
C++ her üç senede içerinde yeni bir sürüm çıkartmaktadır. Şuanki standart sürüm C++17 olmakla birlikte C++20 için büyük beklentiler mevcut. Özellikle modül olayı C++20 için onaylanması en büyük sebeplerden biri.
Nerelerde Kullanılır?
C++ ağırlıklı olarak yüksek performans gerektiren ve yüksek miktarda computation, yani hesaplama gerektiren işlerde kullanılmaktadır. Bu alanlara örnek olarak:
● Finans
● Oyun motorları
● Yüksek performans gömülü sistemler
● Taşıma (Transportation)
● Gerçek zamanlı sistemler
gibi bir çok endüstriyel alan C++'ı tercih etmektedir.
Sektördeki Yeri
Yukarıda da bahsettiğim üzere, yüksek performansa ihtiyacı olan tüm alanlar C++'ı tercih etmektedir. Bilindik firmalardan örnek vermek gerekirse, Steam buna en iyi örnek. Steam'in codebasei C++ ile yazılmış olup, kendilerine özel bir CSS frameworkünü de C++ ile yazmışlardır. Buna ek olarak Discord'un oyun içi arayüzü de C++ ile geliştirilmiştir. Özetle, C++ bilen bir kimse sektörde aç kalmaz. Aç kalmayı geçin, çok da iyi para kazanır.
Eksikler
C++'ın insanları en muzdarip ettiği alanlardan birisi 3rd party kütüphane kullanmak istediğinizde gün yüzüne çıkan, package manager eksikliği diyebiliriz. Bütün organizasyonlar kendi ihtiyaçlarını gidermek doğrultusunda bir paket yönetim sistemi yazmış olsalar da, JS'in npm'i, GO'nun dep'i, C#'ın NuGet'i, Java'nın maven'ı gibi resmi bir paket yönetim aracı bulunmamaktadır. Bunların yanında, C++ çok geniş bir kesme hitap ettiği için dilin standart kütüphanesini öğrenmek bile çok zaman almaktadır. Kısaca, kullanım alanı çok geniş olmasına rağmen ustalaşması en zor dillerden biridir.
Frameworkler
Qt -> Desktopta geliştirme yapacaklar için sürükle bırak prensibini temel alan bir frameworkdür. Sanırım Qt dışında bilinen ve çok kullanılan başka bir "framework" örneği veremeyeceğim.
Yararlı Linkler
● https://isocpp.org
● https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md
C#
C#, Microsoft tarafından geliştirilen .NET Framework üzerinde çalışan uygulamalar geliştirmeye yarayan type-safe nesne tabanlı bir programlama dilidir. C#, C syntaxını kullanır. C# dilinin, Microsoft tarafından geliştirilmekte olan Visual Studio adında bir IDE'si bulunmaktadır. İçinde gelişmiş hata ayıklama özellikleri, kapsamlı test araçları ve gelişmiş uzantı desteği olduğu için geliştirme sürecini oldukça kolaylaştırmaktadır.
Nerelerde Kullanılır?
● Masaüstü Uygulamalarda (Genelde Windows üzerinde geliştirme yapılsa da .NET Core sayesinde Mac OS ve GNU/Linux için de uygulama geliştirilebilir.)
● Web Uygulamalar (ASP.NET)
● Oyun Geliştirme (Unity)
● Mobil Uygulamalar (Xamarin)
Sektördeki Yeri
Özellikle Türkiye'de arkasında Microsoft gibi bir şirket olduğu için kurumsal şirketlerde oldukça tercih edilir. Özellikle Windows uygulamaları geliştirme ve web alanında kullanılır.
Yararlı Linkler
● https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/
● https://social.msdn.microsoft.com/Forums/tr-TR/home
JAVA
James Gosling (Sun Microsystems Engineer) tarafından geliştirilen 1995 yılında piyasaya sunulan object-oriented, open source, step by step ve high level programlama dili ve bilgi işlem platformudur.
Nerelerde Kullanılır?
İstatistik olarak bahsedecek olursak şirket bilgisayarlarının %97'sinde JAVA kullanılır. Oyun konsollarında, veri depolama merkezlerinde, cep telefonlarında, akıllı TV'lerde ve blu-ray disklerde kullanılır. JAVA ile örneklere değinecek olursak, Google'ın yazıldığı dil Python olarak bilinse de JAVA da kullanılmıştır. Google'ın alt uygulamalarının büyük bir kısmı da JAVA ile yazılmıştır.
Sektördeki Yeri
Open source ve object oriented olması sayesinde, Ar-Ge, e-ticaret, telekomünikasyon alanında çok kullanılıyor. Türkiye açısından bakacak olursak web alanındaki inovasyon dolayısıyla süreklilik gerektiren bir ekosistem oluşturuyor. Bu dil kazancınız açısından size avantaj.
Frameworkler
● GWT -> Google Web Tool Kit, Google'ın geliştirdiği güzel bir web frameworküdür.
● Hibernate -> Object-relational veritabanı oluşturma, iyileştirme frameworküdür.
● JHipster -> Web uygulamaları, mikroservisler oluşturma frameworküdür.
● Vaadin -> Web aracı, erişebilirlik ve mobil ortamlar için framework.
● Struts -> Web tabanlı uygulamaları oluşturmak için framework.
Bunların yanında daha birçok JAVA frameworkü bulunmakta, aralarında angarya olanı çok
Yararlı Linkler
● https://www.youtube.com/playlist?list=PLh9ECzBB8tJNWhY-uH1RrvAFI88vC-Snh
PYTHON
Python, 90lı yılların başında Amsterdamda Guido Van rossum tarafından geliştirilmeye başlanan bir programlama dilidir.
Nesne yönelimli (object oriented), yorumsal (interpretative), modüler, yüksek seviyeli bir dildir.
Python yorumsal (interpretative) bir dildir, yani C ve C++ gibi dillerin aksine derlenmeye (compile) gerek olmadan çalıştırılabilmektedir. Bu durum Python ile program geliştirmeyi daha kolay hala getirmektedir. Python içerisinde bir programı yazarken ihtiyaç duyacağınız pek çok şey, veri yapıları, fonksiyonlar hazır olarak size sunulmaktadır. Bu sayede diğer dillerde olduğu gibi bir problemi çözmek için en ince ayrıntılara kadar tasarım yapmanıza gerek kalmadan size sunuları altyapı ile çok daha seri bir şekilde program yazabilirsiniz
Pythonun kolay sözdizimi (syntax) vardır. Aşağıdaki kodlar Pythonun ne kadar kolay bir dil olabileceğine dair size fikir verebilir.
Java:
Kod:
[COLOR="Gray"]public class HelloWorld {
public static vo id main(String[] args) {
System.out.println("Hello, World");
}
}[/COLOR]
Kod:
[COLOR="gray"]#include <iostream>
using namespace std;
int main()
{
cout << "Hello, World!";
return 0;
}[/COLOR]
Kod:
[CENTER][COLOR="gray"]print("Hello Word")[/COLOR][/CENTER]
Görüldüğü üzere Pythonun diğer dillere göre daha az satır kod ile daha fazla işlem yapılabiliyor olsa da bu kolay yazım, Pythonun derlenen dillere göre daha yavaş olmasını sağlıyor.Ama bu yavaşlık gerçekten hıza ihtiyacınız yoksa yazım kolaylığı için kabul edilebilir bir değerdir.
Nerelerde Kullanılır?
Web Uygulamaları
● Django
● Flask
● Sanic
Makine Öğrenmesi
● scikit-learn
● Keras
● TensorFlow
● Pandas
Bilimsel Hesaplamalar
● SciPy
● Matplotlib
Ağ ve Soket programcılığı
● Socket
● Twisted
Sektördeki Yeri
Google, Youtube, Yahoo gibi kuruluşlar Python programcılarına her zaman ihtiyaç duymaktadır. Yurt dışında oldukça popülerdir. Ülkemiz için ilgi biraz az olsada startup şirketler bolca kullanır Python'u. Ayrıca ülkemize Python üniversitelerin müfredatlarna yavaş yavaş giremektedir bu durumu Python'un ülkemizdeki konumu için iyiye işaret sayabiliriz.
Yararlı Linkler
● Pythonu bize göre en iyi anlatan kaynak: https://belgeler.yazbel.com/python-istihza
● Youtube oynatma listesi: https://www.youtube.com/playlist?list=PLIHume2cwmHehcxQE1XZieL21syR3m3tR
RUST
Mozilla ve bağımsız geliştiricilerin katkıları ile geliştirilmekte olan, open-source, çok paradigmalı, object-oriented bir dildir. Graydon Hoare'nin (Mozilla çalışanı) kişisel projesi olarak geliştirilmeye başlanan Rust, Mozilla ekibinin dikkatini çekmiştir ve böylelikle Mozilla katkıda bulunmuştur.
Nerelerde Kullanılır?
Gömülü sistemlerde, performansın en önemli olduğu yerlerde Rust dili kullanılır. İleride 3D oyunların geliştirilmesinde yüksek oranla kullanılacağı söz konusudur.
Sektördeki Yeri
Dünya bazlı konuşacak olursak, gömülü sistemlerde ilerleyen zamanlarda yüksek oranla kullanılacağını grafikler açık bir dille göstermektedir. 100.000 kişinin katıldığı Stackoverflow 2018'in en beğenilen programlama dilinde Rust seçilmiştir. Sadece bununla da değil farklı platformlarda Rust grafiklerde yükseliş göstermektedir. Bu sebepten ileride gömülü sistemlerde, kontrol ve otonom sistemlerinde Rust iyi bir yere sahip olacağı söz konusudur.
Frameworkler
● Rocket
● Actix
● Gotham
● Nickle
Yararlı Linkler
● https://www.youtube.com/playlist?list=PLo3w8EB99pqJ74XIGe72c9hBZWz9Y16cY
● https://www.rust-lang.org/
GO
Google'ın geliştirdiği, 2007'de piyasaya sürdüğü open source bir programlama dilidir. Bu dilin asıl amacı az dil özelliği ve kuralıyla esnek, hızlı, performanslı ve güçlü bir dil oluşturmaktır.
Nerelerde Kullanılır?
Kullanıldığı alanlar genel olarak, sunucu ve alt sistemlerdir. Tam olarak gömülü sistemlerde yerini alamamıştır, yani gömülü sistemler için pek yeterli görünmemektedir. Google, Apple, Twitter, Amazon, Github, Ubuntu, Dropbox, Facebook vb. gibi firmalar Go dili ile ilgili girişimler yapmıştır.
Sektördeki Yeri
GoLang'ın sektördeki yeri daha çok taze diyebiliriz. InfoWorld verilerine göre 2018'de Top10'a girememiştir.
Frameworkler
● Gobot -> Robotic IoT Programming frameworkü.
● IRIS -> Web uygulamaları için framework.
● EMBD -> Gömülü sistemler için framework.
Yararlı Linkler
● https://www.youtube.com/playlist?list=PLQVvvaa0QuDeF3hP0wQoSxpkqgRcgxMqX
RUBY
Ruby; oluşturucusunun favori programlama dillerinden en beğendiği kısımları alarak oluşturduğu dinamik, açık kaynak kodlu bir programlama dilidir. Ruby, tamamen nesne tabanlı bir dildir yani Ruby'de her şey bir nesnedir. Ruby ayrıca oldukça esnek bir dildir, insanların parçalarını rahatça değiştirmesine izin verir. Son olarak Ruby'nin oluşturucusundan bir alıntı:
Ruby is simple in appearance, but is very complex inside, just like our human body.
Nerelerde Kullanılır?
Ruby, özellikle web geliştirmede Ruby on Rails adındaki frameworkü ile öne çıkar. Çoğu Ruby geliştiricisi Rails ile çalışır/çalışmıştır. Hatta Ruby popülerliğini Rails'e borçludur demek bile yanlış olmaz. Ruby web uygulamaları dışında masaüstü uygulamalarında da kullanılabilir.
Sektördeki Yeri
GitHub, Twitch, hulu, airbnb gibi birçok şirket Ruby kullansa ve startuplar tarafından bolca tercih edilse de Türkiye'de Ruby bu kadar sık kullanılmamaktadır.
Yararlı Linkler
● https://www.ruby-lang.org/tr/documen tation/
● https://guides.rubyonrails.org/
LISP
John McCarthy'nin 1958 yılında geliştirdiği programlama dilidir. Oldukça eski ve köklü bir dildir. Tamamen parantezlerin içinde kaybolacağınız bir diyebilirim
Nerelerde Kullanılır?
Lisp'in AutoCAD'e uyarlanmış haline AutoLisp denir, yani bu alanda kullanılır, yapay zeka alanında da kullanılmaktadır. Tasarım alanında oldukça yaygın kullanılır.
Sektördeki Yeri
Simple Programmer'ın verilerine göre 2018'in Top10'una girememiştir. Lisp ne kadar köklü bir dil olsa da diğer dillere oranla kullanımı çok düşüktür.
Frameworkler
● KPAX -> En bilinenlerden sunucu frameworküdür.
Yararlı Linkler
● https://www.tutorialspoint.com/lisp/
(Tavsiye) Programlamaya başlayacaksanız eğer diğer dillere oranla tercih etmeyin
KOTLIN
Kotlin; 2011 yılında duyurulan, 2012 yılında ise Apache 2 lisansı altında açık kaynak kodlu olarak kullanıma sunulmuş olan programlama dilidir. Rusya merkezli bir şirket olan Jetbrains tarafından geliştirilmiş olup ismini Kotlin Adası'ndan almıştır. Kotlin'in ortaya çıkışında Java programlama dilinden daha iyi bir programlama dili oluşturma fikri etkili olmuştur. Bu sebepten ötürü derleme süresi gibi performans etkenlerinden taviz vermeden Java'ya göre sade ve özgün bir sözdizimi ile JVM (Java Virtual Machine - Java sanal makinesi) üzerinde -Java ile tam uyumlu- çalışabilen statik bir programlama dili geliştirilmiştir.
(Statik programlama dillerinde değişken tipleri program yazılırken belirtilir. int x = 10;[Java] Dinamik dillerde ise değişken tipi çalışma esnasında belirlenir. x = 10 [Python])
Kotlin'in birkaç önemli özelliğini aşağıdaki şekilde listelemek mümkündür.
● Nesne yönelimli bir programlama dilidir.
● Kotlin projesi açık kaynak kodludur.
● Java ve Javascript ile uyumlu çalışmaktadır. Java'da yazılan kodu Kotlin'e çevirebilir, Java kütüphanelerine Kotlin ile erişebilirsiniz. Yazdığınız kodu Javascript koduna derlemeniz de mümkündür. Bu özellikleri, Kotlin'i sunucu ve istemci tabanlı web uygulamaları geliştirmek için uygun bir dil haline getirmektedir.
● Kotlin ile Android uygulamaları geliştirilebilir. Bu açıdan kendisi Java'ya alternatif bir programlama dilidir. Ancak önümüzdeki yıllarda Java alternatif konumuna düşecek gibi duruyor Google I/O 2017 etkinliğinde Kotlin, resmi bir Android geliştirme dili olarak duyurulmuştur.
● Kotlin'in en önemli özelliklerinden biri de bir çok hataya (exception) yol açan null veri tipini ele alış şeklidir. NullPointerException (NPE) hatalarının önüne geçmek için Kotlin'de pek çok önlem alınmış ve bu sayede Java'daki güvenlik sorunları giderilmeye çalışılmıştır. Ayrıntı için bkz: https://kotlinlang.org/docs/reference/null-safety.html
● Kotlin'in resmi sitesinde (Kotlin Programming Language) dilin 4 temel özelliğine değinilmiştir. Bunlar sözdiziminin özlü olması (az kod, çok iş), NPE konusunda güvenli olması, Java ve kütüphaneleri ile uyumlu olması ve pek çok IDE (Integrated development environment - tümleşik geliştirme ortamı) tarafından desteklenmesidir.
Nerelerde Kullanılır?
● JVM -> Java kütüphanelerini kullanarak Java sanal makinesi üzerinde çalışacak sunucu tabanlı uygulamalar geliştirebilirsiniz.
● Android -> Java ile karşılaştırıldığında hiçbir kısıtlama olmadan Android uygulamaları geliştirebilirsiniz.
● Browser -> Kotlin ile yazdığınız kodları Javascript olarak derleyip uygulamalar geliştirebilirsiniz. Kotlin for JavaScript - Kotlin Programming Language
● Native -> Sanal makinenin (JVM gibi) tercih edilmediği veya sanal makine kullanımının mümkün olmadığı sistemlerde bu köprüyü aradan kaldırmak ve native (donanım bazında) çalışan uygulamalar geliştirmek için Kotlin Native kullanıma sunulmuştur. (Buna gömülü sistemler, iOS örnek olarak verilebilir.) Kotlin Native birçok platformda desteklenmektedir. Kotlin/Native - Kotlin Programming Language
Sektördeki Yeri
Hem Android geliştirme alanında hem de Java/Javascript uyumluluğu konusunda sağladığı yararlar Kotlin'in popülaritesini her geçen yıl artırmaktadır. Sektörde yeri çok yeni olmasına rağmen hızlı bir yükseliş gösterdiğini ve özellikle Android konusunda tercih edildiğini söylemek yanlış olmayacaktır.
Frameworkler
● https://spring.io -> Kendi sunduğu API'ler ile Kotlin kullanarak sunucu tabanlı uygulamalar geliştirmenizi sağlamaktadır.
● Eclipse Vert.x -> JVM üzerinde Reactive (reaktif: yan etmenler ile işleyebilen) uygulamalar geliştirilebilmektedir. Kotlin desteği bulunmaktadır.
● https://github.com/ktorio/ktor -> Kotlin ile web uygulamaları oluşturmayı sağlayan, JetBrains tarafından geliştirilmiş bir framework'tür.
● https://github.com/kotlin/kotlinx.html -> Kotlin ile HTML sayfalar oluşturmak için DSL çözümü sunan bir kütüphanedir. JSP ve FreeMarker gibi şablonlara alternatif olarak geliştirilmiştir. (DSL: Domain Specific Language - Belirli bir çözüm için belirlenmiş programlama dili)
Yararlı Linkler
● Kotlin Programming Language
● https://kotlinlang.org/docs/tutorials/
OBJECTIVE-C
Objective-C (ObjC, Objective C veya Obj-C) 1983 yılında Stepstone şirketinde Brad Cox tarafından tasarlanan, günümüzde Apple markasının ürünlerinde kullanmayı tercih ettiği, yaygın olarak iOS platformu üzerinde uygulama geliştirme amacıyla kullanılan programlama dilidir. C programlama dilinin üzerine yazılmış olup nesne yönelimli bir dildir.
1972 yılında C programlama dilinin ortaya çıkışından sonra programcılar bir problemi çözmek için parçalara ayırma metodunu benimsemişlerdi. (Yapısal programlama)
Yazılımlar; fonksiyonlara, prosedürlere bölünerek problemin çözümüne ulaşılıyor, programın işleyişi sağlanıyordu. Ancak çözülecek problemlerin büyümesi ile problemin çözümüne erişmek için yazılacak programların sayısı artmaya başladı ve bu yaklaşım yetersiz kaldı. Bunun üzerine nesne yönelimli programlama (Object Oriented Programming) fikri ortaya atıldı ve akabinde ilk gerçek nesne yönelimli programlama dili olan Smalltalk'ın birinci kararlı sürümü yayınlandı. (1980) Smalltalk, yapısal programlamanın eksik kaldığı pek çok noktada başarılıydı. Objective-C ise Smalltalk'un nesne yönelimli çözümünü C programlama dili üzerinde uygulanması ile ortaya çıktı.
Objective-C, programın Mac OS ve iOS'da çalıştırılabilmesi için Cocoa ve Cocoa Touch adı altında framework'ler barındırır. Bu Objective-C'ye çalıştırıldığı plarformdaki (Unix) pek çok üst düzey API'yi çağırma ve kullanma avantajı sağlar. Cocoa gibi özel framework'ler içermeyen Objective-C programları ise gcc derleyicisi ile derlenip çalıştırılabilir. Bunun sebebi Objective-C'nin, C programlama dilinin özelliklerini barındırmasıdır. Ancak bu özelliği başlı başına ayrı bir problem olan bu dili yeni öğrenmeye başlayanların sıkça şikayet ettiği sözdizimi problemini ortaya çıkarmıştır. Sözdizimi; İngilizce bir metin okuyormuşçasına tasarlandığı için bu ilk başlarda programcıların canını sıkmakta, ancak daha sonra kod okunabirliğini ve kod yazma işlemini oldukça kolaylaştırmaktadır.
Nerelerde Kullanılır?
OpenStep standardı üzerine kurulu olan Mac OS X ve GNUstep işletim sistemlerinde kullanılmaktadır. Yaygın olarak Cocoa çatısı altındaki yazılımlarda Objective-C'ye rastlamaktayız.
Sektördeki Yeri
TIOBE verilerine göre 2018 yılında 12. sıradan yükselerek en çok kullanılan programlama dilleri listesinde ilk 10. sıraya girmeyi başarmıştır.
(https://www.tiobe.com/tiobe-index/)
iOS geliştirmede yaygın olarak tercih edilmesine karşın bir karşılaştırma ölçütü olarak GitHub'daki projelere baktığımızda iOS alanında Swift dilinin Objective-C'den daha yaygın olarak kullanıldığını görebilmekteyiz.
Frameworkler & Yararlı Linkler
● https://developer.apple.com/doc umentation
● https://github.com/vsouza/awesome-ios
● https://www.tutorialspoint.com/objective_c/
SWIFT
Swift, 2014 yılında Apple'ın yeni ürünlerini tanıttığı, haber ve yeniliklerini konu edinen WWDC (Worldwide Developers Conference - Dünya Çapında Geliştiriciler Konferansı) etkinliğinde tanıtmış olduğu iOS ve OS X platformlarında geliştirme amacıyla oluşturulan nesne yönelimli bir programlama dilidir. Dilin geliştirilmesi sürecinde Objective-C, Rust, Haskell, Ruby, Python, C#, CLU gibi birçok programlama dilinden esinlenilmiştir. Ancak bunlar arasında en büyük payı Objective-C programlama dili almaktadır. WWDC etkinliği süresince Swift dili kısaca "C'siz Objective-C" olarak tarif edilmiştir. Bunun nedeni Swift'in modern programlama dili teori konseptine sahip, mevcut sözdizimi basitleştirilmiş Objective-C alternatifi bir dil olmasından süregelmektedir. Cocoa ve Cocoa Touch geliştirme çatıları altında, çoğu Apple ürünüyle uyumlu, Objective-C ile entegre şekilde çalışabilecek şekilde tasarlanmış olmasından ötürü Objective-C'ye göre pek çok avantajı bulunmaktadır:
● Objective-C'nin karışık ve zor olarak bilinen sözdizimine karşın daha kolay ve sade bir sözdizimi vardır. Bu da kod yazma ve okuma işlemini oldukça kolaylaştırmaktadır.
● Hafıza/bellek yönetimi daha esnek bir hale getirilmiştir.
● Playgrounds özelliği sayesinde kodunuzdaki anlık değişikleri görebileceğiniz bir yenilik eklenmiştir.
Bunların dışında Apple'ın resmi sitesinde Swift hakkında şu yargılarda bulunulmuştur:
Ayrıca Swift, Apache 2.0 lisansı ile açık kaynak kodlu olarak yayınlanmıştır."Swift, gerçek zamanlı geri bildirim sağlayan ve mevcut Objective-C koduna sorunsuz bir şekilde entegre edilebilen hızlı ve verimli bir dil.Böylece, geliştiriciler sadece daha güvenli ve güvenilir kodlar yazmakla kalmıyor, aynı zamanda zamandan tasarruf edebiliyor ve daha zengin bir uygulama deneyimi yaratabiliyorlar."
(https://swift.org/source-code/)
Nerelerde Kullanılır?
iOS ve OS X plaformlarında uygulama geliştirmek amacıyla kullanılmaktadır. Bu süreçte Objective-C'de de olduğu gibi XCode geliştirme ortamı tercih edilmektedir.
Sektördeki Yeri
TIOBE'nin verilerine göre Swift, 2017 yılında en çok kullanılan 10 programlama dilinden birisi haline gelmiştir.
(https://www.tiobe.com/tiobe-index/)
2018 yılında ise gerileyerek Objective-C'nin altına düşmüştür.
iOS geliştiricileri arasında oldukça yaygın bir şekilde kullanılmasına karşın Swift'in sektörde tutunmasının yolu Apple'ın bu dili yeterince desteklemesinden geçiyor gibi görünüyor.
Frameworkler & Yararlı Linkler
● https://swift.org/about/
● https://github.com/Wolg/awesome-swift
● https://developer.apple.com/doc umentation/
● https://www.tutorialspoint.com/swift/
PHP
PHP; HTML içinde gömülebilen, genelde web uygulamalarında kullanılan bir açık kaynak kodlu programlama dilidir. PHP, JavaScript gibi kullanıcı tarafında değil sunucu tarafında çalışır. Bu sebeple kodunuz, kullanıcılar tarafından görülemez. PHP, öğrenmesi oldukça kolay bir dildir. Birçok platformda çalışabilir. Apache, IIS gibi birçok HTTP sunucusu tarafından desteklenir. Geniş bir veritabanı desteğine sahiptir.
Nerelerde Kullanılır?
● Web Uygulamaları
● Masaüstü Uygulamaları (Her ne web uygulamalarında daha yaygın olarak kullanılsa da masaüstü uygulaması da yapılabilir, hatta PHP-GTK ile grafiksel arayüz bile tasarlayabilirsiniz.)
Sektördeki Yeri
PHP, birçok şirket tarafından kullanılmaktadır. Ayrıca PHP sunucusu bulmak ve ayarlamak daha kolay olduğundan freelance iş verenler de genelde PHP'yi tercih ederler. Yahoo, Wikipedia ve WordPress gibi birçok şirket PHP kullanır.
Yararlı Linkler
● https://secure.php.net/manual/tr/
JAVASCRIPT
JavaScript, bir Netscape çalışanı olan Brandan Eich (Matematik bölümü mezunu) tarafından 1995 yılının Eylül ayında oluşturuldu. İsmi ilk olarak Mocha idi. Dilin adı daha sonraları Mona ardından da LiveScript en son olarak JavaScript adını aldı. Dilin ilk sürümleri özellikle Netscape'e özgü idi ve sınırlı işleve sahipti ancak zaman içinde geliştirici topluluğunun da yardımıyla büyümeye devam etti.
1996 yılında JavaScript resmi olarak ECMAScript adını aldı ve ECMAScript 2 1998de, ECMAScript 3 ise 1999 yılında geldi. Son olarak ECMAScript 6 ile birlikte JavaScript masaüstü, mobil, sunucu programlama gibi farklı alanlara adeta bir kanser gibi yayıldı.
Sadece 20 yıl içerisinde ilkel bir dil halinden dünyanın en popüler dili olmayı başaran bu dilin kullandığınız hangi uygulamalarda var olduğunu merak ediyorsanız: https://electronjs.org/apps (sadece bir frameworkünü kullanan uygulamalar)ECMAScript veya ES, Ecma International tarafından ECMA-262 ve ISO/IEC 16262 standartlarıyla standartlaştırılmış, markalaşmış bir betik dili spesifikasyonudur. Şu anda kendisini izleyen Javascript tabanlı olarak geliştirilmiştir. Yaygın olarak Dünya Çapında Ağ (www) için istemci taraflı betik dili olarak kullanılır. ECMAScriptin diğer uygulamaları JSCript ve ActionScripttir.
Tarihçesine ve tüm diğer kaynaklara wikipedia üzerinden erişebilirsiniz. Wikipedia
Nerelerde Kullanılır?
Javascript genel olarak web sayfalarını dinamik hale getimek için kullanılır(dı). Ama Javascript gelişen teknolojilere ayak uydurarak masaüstü programlama, sunucu programlama, mobil programlama gibi oldukça büyük kullanım alanına sahip olmuştur. Bunların dışında Unity oyun motorunda Javascript ile kodlama yapılabiliyor.
Sektördeki Yeri
Web programcısı olmak istiyorsanız kesinlikle Javascript öğrenmelisiniz. Pek çok şirket Front-end çalışan almak istediğinde Javascript yeterliliğinizi sorgulamaktadır.
Frameworkler
● NodeJS -> Sunucu programlama için kullanılan frameworktür.
● Electron -> Masaüstü programlama yapmanızı sağlayan bir frameworktür.
● Angular -> Güçlü, dinamik, etkileşimli arayüzler yapmayı sağlayan bir framworktür
● AppJS -> Masaüstü programlama yapmanızı sağlayan bir frameworktür.
● ReactJS -> Dinamik web sayfaları oluşurmayı sağlayan güçlü bir frameworktür. (Ayrıca bkz: React Native)
Bunların dışında oldukça fazla framework vardır. Dikkat edin frameworklerin arasında koybolmayın
Yararlı Linkler
● Youtube oynatma listesi: https://www.youtube.com/playlist?list=PLIHume2cwmHclFqFCqEmI3hh4GipmiM8b
HTML/CSS
HTML (Hypertext Markup Language)
İşaretleme dili olan Html, web sayfalarının hazırlanmasında kullanılan sistemdir. Bir programlama dili olmayan Html bilgisayarlarımızda kullandığımız web sitelerinin oluşturulmasında kullanılır. Chrome, Firefox ve Internet Explorer gibi tarayıcılar html kodlarını işleyerek bu kodları web sayfasına dönüştürür.
Web programlama ile uğraşacaksanız kesinlikle bilmeniz gerekir.
CSS (Cascading Style Sheets)
CSS basitçe, sayfamıza ait görselliğe dair her türlü yapıyı düzenlememizi sağlayan bir markup dilidir. Sayfaya ait öğelerin (form, buton, arkaplan vb.) renklerini, boyutlarını, konumlarını vb. özelliklerini düzenlememize imkan sağlar.
(Programlama dili isteyen birine ısrarla HTML ve CSS önermeyin. Çünkü ikisi de programlama dili değildir.)
Konu altından görüş belirtip soru sorabilirsiniz. ~ THT Ar-Ge Ekibi
Moderatör tarafında düzenlendi: