Yaygın Kullanılan Programlama Dilleri | Genel Bilgiler & Teknik Detaylar

k3~

Özel Üye
5 Eki 2015
2,980
21
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
Kod:
[CENTER][COLOR="#eef0ea"]
[B]C++
C#
Java
Python
Rust
Go
Ruby
Lisp
Kotlin
Objective-C
Swift
PHP
JavaScript
HTML/Css[/B]
[/COLOR][/CENTER]

CJ15nP.png

C++

CJ1GzU.png


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 codebase’i 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

CJ1feq.png

C#

CJ1GzU.png


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

CJK2D6.jpg

JAVA

CJ1GzU.png


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

CJK6GH.png

PYTHON

CJ1GzU.png


Python, 90’lı yılların başında Amsterdam’da 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]
C++:
Kod:
[COLOR="gray"]#include <iostream>
using namespace std;
    
int main() 
{
    cout << "Hello, World!";
    return 0;
}[/COLOR]
Python:
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

CJqn4c.png

RUST

CJ1GzU.png


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/

CJqYmx.png

GO

CJ1GzU.png


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

CJ2Weh.png

RUBY

CJ1GzU.png


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/

CJ26J1.png

LISP

CJ1GzU.png


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 :)

CJqmi1.jpg

KOTLIN

CJ1GzU.png


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/

CJqdsp.png

OBJECTIVE-C

CJ1GzU.png


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/

CJ2SsA.png

SWIFT

CJ1GzU.png


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:

"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."
Ayrıca Swift, Apache 2.0 lisansı ile açık kaynak kodlu olarak yayınlanmıştır.
(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/

CJ2TWG.png

PHP

CJ1GzU.png


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/

CJ2cMR.jpg

JAVASCRIPT

CJ1GzU.png


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 1998’de, 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ı.

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. ECMAScript’in diğer uygulamaları JSCript ve ActionScript’tir.
Tarihçesine ve tüm diğer kaynaklara wikipedia üzerinden erişebilirsiniz. Wikipedia
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)

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

CJ2pPq.png

HTML/CSS

CJ1GzU.png


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.)

CJ1GzU.png


Konu altından görüş belirtip soru sorabilirsiniz. ~ THT Ar-Ge Ekibi
 
Moderatör tarafında düzenlendi:

sqruhqn

Katılımcı Üye
18 Tem 2016
252
15
Ötüken
Konu mükemmel olmuş elinize sağlık
Py3 öğrenmeye çalışıyordum bu konudan sonra html ve css öğrenerek web programlama ile uğraşasım geldi ikilemde kaldım şuan
 

Aydogan'

Ticaret Kategori Sorumlusu
13 Tem 2017
2,769
410
THT's database
Başta KeyLo99 olmak üzere tüm Ar-Ge Timi'nin ellerine, emeklerine sağlık. Programlama ile alakalı tüm sorulara net cevaplar veren, bol içerikli ve faydalı bir konu olmuş.
 

Efy

Kadim Üye
11 Ara 2015
5,629
5
Öteki Taraf
Elinize emeğinize sağlık güzel ve bir o kadar da önemli bir konu en azından bilgilenmiş sorularımıza genel olarak bir cevap bulmuş olduk ama ne yazık ki değer görmemiş konu.
 

S1NYOR

Uzman üye
22 Haz 2015
1,826
20
Baltimore
Gercekten güzel bir konu hatta yardım merkezinde sabite alınmalı şu nedenle (hangibyazılım dilini secmeliyim,yazılım ogrenmek istiyorum.)bunun gibi artık klişe ve sıkıcı konulardan birazda uzaklaşmıs oluruz
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.