Yazılım için hangi dilden başlamalıyım ?

Bu konuyu okuyanlar

Arda Kaya

Öğrenci
Katılım
25 Mayıs 2016
Mesajlar
13
Reaksiyon puanı
1
Puanları
3
Yaş
25
Yazılım işi her zaman hayalimdi ve hala hayalim. Bu yaz yavaştan başlamak istiyorum fakat hangi dilden, nasıl başlayacağımı bilmiyorum. Bunun için kitaplar olduğunu öğrendim fakat hangi dilden başlayacağımı bilmediğim için acele etmek istemiyorum. Bunu hobi olarak değil iş olarak yapacağım için hangi dilden başlamalıyım ve hangi yayının hangi kitabını almam gerektiğini bilen bu konuda bilgili birileri yardım ederse sevinirim. Ayrıca Windows OS mu Linux OS mu hangisinden bu işi yapmam gerektiğini veya ikisinin birinden başlasam fark olur mu açıklarsanız sevinirim.
 

MaratusAquatica

Asistan
Katılım
23 Nisan 2016
Mesajlar
313
Reaksiyon puanı
40
Puanları
28
benim abim yazılım mühendisliği okuyor orada ilk önce c# öğretiliyor bence c# dan başla
 

Kadima

Rektör
Katılım
17 Mart 2011
Mesajlar
11,959
Reaksiyon puanı
841
Puanları
113
Hangi alanda uygulama yazacaksın?
 

Arda Kaya

Öğrenci
Katılım
25 Mayıs 2016
Mesajlar
13
Reaksiyon puanı
1
Puanları
3
Yaş
25
Hangi alanda uygulama yazacaksın?
Aslında daha önce hangi alan konusunda gelişeceğimi değil hangi dilleri öğrenmem gerek konusuna odaklanmıştım. İşte atıyorum önce C sonra C++, Python öyle devam ederim olarak düşünmüştüm. Kafamda fikir yok henüz proje olarak.
 

kmurat

Dekan
Katılım
8 Şubat 2014
Mesajlar
8,488
Çözümler
3
Reaksiyon puanı
3,711
Puanları
113
Bu işi bir meslek olarak düşünüyorsan, Bilgisayar mühendisliği, Yazılım mühendisliği, Mekatronik gibi bir mesleği öğrenmelisin. Üniversite okumalısın ve de ilave olarak master yapmalısın. Hiç bir kurum, kimseyi bir kitap okumuş diye işe almaz. Diploma, Sertifikalar ve Referanslar sorulur her iş başvurusunda. Ancak onlar yeterli bulunursa, bir de imtihan ve sözlü görüşme için çağırırlar.

Ne öğreneceğinin fazla bir önemi yok. Çünkü kendi imkânların ile öğrenebieceklerinin sınırı belli bir noktaya kadar gider. Geleneksel programlama dilleri arasında en kolay olanı bana göre Basic. Gelecekteki tercih edilen teknolojilerin değişmesi ile kullanılan yöntemler de değişebilir.

Nasıl, bir doktora gittiğinde, sana "ben nezle doktoruyum, başka işten anlamam" demesini beklemezsen, kimse de bir programcıdan "ben sade python biliyom"demesini beklemez. Ama bir yerden başlamak gerekir. Senin için en anlaşılır hangisi ise oradan başla.

Gelecekte programcı olacak bir kişinin öğrenmesi gereken ilk iş, araştırmak olur. İkinci iş ise mantık yürütebilmek.

Gelecek nesil programlama yöntemi ise Amerikanın önde gelen Üniversiteleri tarafından halen geliştirilmekte.
Bir örnek : http://snap.berkeley.edu/snapsource/snap.html#open:http://snap.berkeley.edu/snapsource/tools.xml
 

Arda Kaya

Öğrenci
Katılım
25 Mayıs 2016
Mesajlar
13
Reaksiyon puanı
1
Puanları
3
Yaş
25
Bu işi bir meslek olarak düşünüyorsan, Bilgisayar mühendisliği, Yazılım mühendisliği, Mekatronik gibi bir mesleği öğrenmelisin. Üniversite okumalısın ve de ilave olarak master yapmalısın. Hiç bir kurum, kimseyi bir kitap okumuş diye işe almaz. Diploma, Sertifikalar ve Referanslar sorulur her iş başvurusunda. Ancak onlar yeterli bulunursa, bir de imtihan ve sözlü görüşme için çağırırlar.

Ne öğreneceğinin fazla bir önemi yok. Çünkü kendi imkânların ile öğrenebieceklerinin sınırı belli bir noktaya kadar gider. Geleneksel programlama dilleri arasında en kolay olanı bana göre Basic. Gelecekteki tercih edilen teknolojilerin değişmesi ile kullanılan yöntemler de değişebilir.

Nasıl, bir doktora gittiğinde, sana "ben nezle doktoruyum, başka işten anlamam" demesini beklemezsen, kimse de bir programcıdan "ben sade python biliyom"demesini beklemez. Ama bir yerden başlamak gerekir. Senin için en anlaşılır hangisi ise oradan başla.

Gelecekte programcı olacak bir kişinin öğrenmesi gereken ilk iş, araştırmak olur. İkinci iş ise mantık yürütebilmek.

Gelecek nesil programlama yöntemi ise Amerikanın önde gelen Üniversiteleri tarafından halen geliştirilmekte.
Bir örnek : Snap! Build Your Own Blocks
Tabiki de öğreneceklerim bir yere kadar fakat benim hedefim zaten Yazılım Mühendisliği. Ben sadece önden bir şeyler bilirsem eğer üniversiteye de boş gitmem diye düşündüm. Ayrıca merak da var tabii. Her zaman merak etmişimdir bir programın nasıl çalıştığını vs ve bir de şunu merak ediyorum Linux'daki terminalde veya Windows'daki cmd üzerinden çalışma yapmak için herhangi bir dil mi bilmek gerekiyor yoksa terminalin veya cmd nin kendi özel kodlarını mı bilmek gerekiyor ? Hani ben örnek veriyorum terminal kullanırken "ls" komutunun bulunduğum dosyadaki ögeleri açıklamasının sebebi nedir yani neden ab değil de ls komutu. Veya cmd de değişik kodlar görüyorum -s -l gibi burdaki "-" işaretinin "s" in ne anlama geldiğini bilmek istiyorum.
 

Kadima

Rektör
Katılım
17 Mart 2011
Mesajlar
11,959
Reaksiyon puanı
841
Puanları
113
Aslında daha önce hangi alan konusunda gelişeceğimi değil hangi dilleri öğrenmem gerek konusuna odaklanmıştım. İşte atıyorum önce C sonra C++, Python öyle devam ederim olarak düşünmüştüm. Kafamda fikir yok henüz proje olarak.
Bütün dilleri öğrenmene gerek yok ki :) hangi alanda uygulama yazacaksan o alana uygun bir dili seçip başlarsın.
 

Arda Kaya

Öğrenci
Katılım
25 Mayıs 2016
Mesajlar
13
Reaksiyon puanı
1
Puanları
3
Yaş
25
Bütün dilleri öğrenmene gerek yok ki :) hangi alanda uygulama yazacaksan o alana uygun bir dili seçip başlarsın.
Mesela bir şirketin ağ güvenliği kısmında (ismini tam bilemiyorum) çalışabilirim tam bana göre gibi bir şey :D
 

kmurat

Dekan
Katılım
8 Şubat 2014
Mesajlar
8,488
Çözümler
3
Reaksiyon puanı
3,711
Puanları
113
Komutsatırı ve Terminal komutları çoğunlukla birbirlerine benzerler. Bunların kökü Unix denen ilk işletim sistemine gider. Tüm komutlar bir uygulama çağırırlar. Bu uygulamalar geleneksel olarak aynı veya benzer şekilde, kullanıcının (programcının) alışık olduğu düzende korunurlar. Terminal'in ve de Komutsatırının kendi kuralları var ve kurallar doğrultusunda var olan ve çağrılan programlar çalışrırılır. Ek olarak komutsatırına ve Terminale genişletilmiş özellikler kazandıran "Bash" ve "Windows Power Shell" adında programlama dilleri mevcut.

Tüm Programlama dilleri de yine alışık düzeni koruyacak şekilde belirli bir düzen üzerine kurulular ve de bazılarının standartları mevcut. Tamamen aksi yönde alışık dışı ve deneysel olarak geliştirilmiş olanlarıda var tabiiki.

Deneysel olanlar arasında en ileri seviyede yöntemler denenen ve de (bizde hariç) çok bilinen Scratch war. Scratch 1.4 kurulumu kolay olan sürüm. 2.0 sürümü için AdobeAir önce kurulmalı ve ardından Scratch ve gerekli diğer bileşenleri. Veya Dorudan İnternet sayfası üzerinden de kullanılabiliyor. Scratch'in daha gelişmiş bir sürümü Google tarafından Android için geliştirilmiş ve sonra bir Üniversiteye devir edilmiş App İnventor. Bunlar sürükle bırak şeklinde hazır kod kalıpları ile ve farklı dosya farmatlarını da kullanabilen tümleşik uygulamalar.

Programlamaya girişi kolaylaştırmak için bir başka girişim, Microsoft'un Small Basic'i. Geleneksel Basic benzeri ve günümüz teknolojisi kullanılan bir Visual Basic türü.

Scratch daha çok mantık geliştirme konusunda eğiticiyken, Basic algoritma geliştirmede eğitici oluyor. Small Basic programları diğer bilgisayarlarda da çalışır. Scratch programları sadece kendi ortamında çalışıyorlar.

Programlamaya yeni başlayanların C veya C++ tercih etmelerinin nedeni, tek bir dosyadan oluşan exe uzantılı programlar yapılabiliyor olması. Ama bu programlar görünürde renksiz ve gösterişsiz oluyorlar. Görüntü ve ses dosyaları desteklemiyorlar. bu nedenlede bir süre sonra insana sıkıcı gelmeye başlıyorlar.

Günümüzde ticari olarak en yaygın kullanılan diller, yukarıda saydığım iki grup arasındaki ve her iki tarafıda destekleyen diller.
Bunlar C#, Python, Java, Ruby, Php gibi genişletilebilicek şekilde tasarlanmış diller.
 

Ben Kenobi

Dekan
Katılım
6 Kasım 2011
Mesajlar
7,336
Reaksiyon puanı
3,155
Puanları
113
C++ veya Python ile başlayabilirsin.
Bu ikisi için de Qt öğrenerek arayüz tasarlayabilirsin.
Qt Creator programıyla Visual Studio'daki gibi sürükle bırak yöntemiyle arayüz oluşturabilirsin.
Ancak Visual Studio'da oluşturacağın Winforms veya WPF sadece Windows üzerinde çalışırken Qt ile Linux veya Mac üzerinden de çalıştırabilirsin.
Python aynı şekilde ek işleme gerek duymadan Mac ve Linux üzerinde çalışır.(Script dillerinin doğal özelliğidir bu ancak işlemler daha yavaştır, aşırı hız gerektiren ağır programlar için uygun bir dil değildir.)
C++ genel olarak en hızlı programlama dilidir diyebiliriz(assembly'i programlama dili saymazsak) bunun nedeni hem yüzde yüz native yapısı hem aşırı gelişmiş derleyicileri hem de artık aşırı olgun bir dil seviyesine ulaşması. Bu yüzden oyun motorları bu dille yazılır.(Unity gibi birkaç istisna hariç)
C++ ile sadece farklı platform için tekrar derleme yapman gerekir.(Visual C++ derleyicisiyle mümkün değil çünkü Windows'a ait kütüphaneler kullanıyor ancak MinGW derleyicisiyle mümkün zaten Qt Creator indirirken farklı derleyici için farklı sürümleri var.)
Qt - Download Open Source Step 3
 
Üst