Hangi Programlama Dilinden Başlamalıyım Sorusuna Cevap | Dev Konu |

bekodark123

Uzman üye
31 Ocak 2012
1,402
0


Öncelikle şunu belirtmeliyim konuyu açtığım günden beri edindiğim güncel bilgiler ile konuyuda güncelliyorum çünkü amacım siz okuyuculara en doğru bilgileri aktarmak istememden kaynaklanıyor. İyi forumlar :)

Herkes kendi kafasına göre 'şu dil daha iyi bu dil daha iyi' yada 'o dili öğrenmek bir şeyine yaramaz' gibi yoğurdun sadece üstteki kaymağını kendisi yorumlaması gibi hiçte profesyonel olmayan yönlendirme yapıyorlar.
Her dilin diğerinden üstün özellikleri var. Bazıları hız, bazıları kütüphane, bazıları platform çokluğu, bazıları tool eklentilerinin uyumluluğu. Hepsinin farklı tarzda yönleri var.
Zaten diller sorunların tarzlarına dayalı tasarlanılıyor.
Yani öğrendiğiniz hiçbir dil boşa öğrenilmiş olmaz.

Ben istatistiklere, araştırmalarıma ve kendi tecrubelerime dayanarak sizlere küçük bir yön vermek istiyorum.

Şimdi hangi diller aslında daha çok kullanılıyor bunu göstermek istiyorum;

qjqJyD.png


3aOZy0.jpg


Peki ülkemizde bu işler hangi şerhirde nasıl yürüyor diye bakalım.
(Şehir bilgileri GitHub'ta alpcanaydin kullanıcısından alınmıştır.)

z3OGPO.jpg


İlk önce ilerlemek istediğiniz ana dalı seçmeniz gerek:
1- Veri Tabanı ve Programlama
2- Web Tasarım


Veri tabanı her 2 dalda da kullanıldığı için ilk önce onun bir açıklamasını yapmak istiyorum.
Veri tabanı, her türlü bilgiyi (isim, tarih, cinsiyet vs.) düzenli bir şekilde saklayan ve istediğiniz zaman o bilgiyi getirmeyi sağlayan bir araçtır.
Tabi bu bilgileri kodlar (sorgularla) getirtiyoruz. Bu yüzden veritabanına özel kodlar ve geliştirme ortamları var bkz: SQL, Oracle.

Oracle çok büyük sistemlerin veri tabanı olarak kullanırlar çünkü daha karmaşık ama SQL' e göre daha güçlü bir yapısı var.

Çok büyük bir veritabanı sistemine ihtiyaç duymuyor iseniz SQL gayet yeterli hem öğrenmesi kolay.

Seçtiğiniz dala göre konu bölümünü okumanız size zaman kazandıracaktır.*

1- Veri Tabanı ve Programlama

Birçok kişi ya C# yada VB.NET ile başla derler.

Aslına bakarsanız bu işe yeteneğiniz varsa sadece FlowChart ile algoritma ve program işleyişi hakkında bilgi ve tecrube edinip istediğiniz dil ile başlayabilirsiniz.

Bütün diller basit terimlerle başlar bkz: if-else, do-loop, for-each vs.
Bütün eğitim setlerinde zaten bu metodları öğreniceksiniz ve zaten temel eğitimi eğer kolay öğrendiyseniz daha korkmanıza gerek yok ben o temel metodları tam olarak kafalarına oturtamayanlar tanıyorum ve ne kadar o terimleri ve ne işe yaradıkları ezbere söyleselerde program yazamıyorlar.

Şimdi isteğinizi belirlemeniz gerek.

Kolay ve fazla derine inmeye gerek yok ben zaten marketlere barkod programı yazmaktan başka bişi yapmicam diyorsanız: VB.NET yada C# her türlü yeterde artar bile.

Kolay olsun ama birazda işin ehli olalım diyor iseniz: C# yada Delphi (mobil ve oyun programlamada gayet yeterlidir)

Zorlasın ve heryere iletişimim olsun (sistem programları & robot programlama): Python - C++ - Java.

Zaten bir programlama dilini öğrenirken belli bir süre sonra nelerin size gerektiğini kendiniz biliceksiniz ve ona yöneleceksiniz gerekirse dil bile değiştiriceksiniz.

Aslına bakarsanız Python yazımı açısından kolay ve yapabildikleri açısından gelişmiş bir dil.
Ve 'aklımı kullanabiliyorum ben' diyor iseniz kesinlikle Python öğrenmenizi tavsiye ederim.

'Neden ? Ne gerek var ? Fazla sallama C# yada C++ neyinize yetmiyor ?' diyenleri duyar gibiyim. Neden mi ? Hemen açıklayayım;

Çünkü Dünya'nın en fazla kullanılan dili.
Çünkü öğrenilmesi başta kolay bir dil.
Çünkü dev şirketlerin sıkça tercih ettiği bir dil.
Çünkü hızlı çalışıyor.
Çünkü İşletim sistemi araçları geliştirilirken sıkça kullanılıyor. (Örn: Leaf Pad)
Çünkü her platformda kullanılabiliyor.
Çünkü yazım tipi diğer dillerden daha güzel. (tabi bu kısım kişisel olarak bence yani :) )
Çünkü hack programları yapılırken en çok bu dil kullanılıyor.
Çünkü bir ürünün prototipini hazırlayacaklarsa %95 ihtimal ile bu dil ağırlıklı hazırlarlar.
Çünkü dahasına gerek var mı ya :D

Dev şirketlerin sıkça tercih ettiğinin küçük bir kanıtınıda vereyim hemen;

5kqpJD.jpg


Google, Instagram, Facebook gibi şirketler pek severler bu dili :)

Ha bu demek değildir ki bu dil dışında başka dil bilirseniz iş bulamazsınız yada işe yaramaz.
C++ bilin bunların hepsini yapabilirsiniz ve büyük şirketlerdede iş bulabilirsiniz.
Ben sadece yönlendirmeye çalışıyorum

ÖZET;

+ Kısa çekicek olursak bu işi hobi olarak yapıcaksanız C# tamamen ideal hem oyun hem program hem web tasarıma (ASP.NET) hemde Andorid'e eli uzuyor genel kapsamlı ve kolay bir dil.

Ama profesyonel alana yönelicem ben diyor iseniz Python, C++ yada Java bu dillerden biri ile kendinizi geliştirin derim.

'Nasıl olacak o zaten zor diller sen biliyorsun diye bizi zorlamak hoşuna mı gidiyor ?' diyenler evet sizide duydum. Kitaplar, internetteki dersler, forumlar ile bunların üstesinden gelebilirsiniz.

Profesyonel olmak istiyorum diyenlere o 3 dilin arasındaki farklara küçücük bir değinicem.

+ Python: Genelde İşletim sistemi araçları geliştirilirken kullanılır Linux dağıtımlarında.Örnek vermek gerekirse Leaf Pad mesela Python ve GTK kullanılarak geliştirilmiş yani Python işletim sistemi çekirdeği kodlanırken kullanamazsın çünkü interpreted bir dildir.(Yorumlanan) C ve C++ is Native yani derlenen dillerdir. Ayrıca matematik kütüphanesi MATLAB gibi gelişmiş bilimsel problemleri çözmek için yardımınıza koşacak kütüphaneler de bulunur.

+ C++: Python'un yaptıklarını yapan ama daha çok kod ameleliğine vuran bir dil fakat sistem programlama ve çekirdek full C ailesi ve Assembly ile tasarlanılıyor eğer sistem çekirdeği yazıyorum diyorsanız direk C ailesi seçiminiz olsun zaten başta. Eğer Python yazım sitilini değilde C++'ınkini beğeniyorsanız direk bu dili seçin zaten :). Oyun programlamada Cry Engine ve Unreal Engine oyun motorlarında C++ programlama dilleri kullanılır.

Millet Python ve C++ ile arasında (ben de dahil) hep hangisi diye gidip gelir bence gidip gelmeyin bu söylediklerimden sonra gönlünüzde hangi dil yatıyorsa onu oturup öğrenmeye başlayın yani zaman kaybetmeyin birini öğrenince zaten diğerine geçmek çok kolay oluyor dillerde.

+ Java: Özellikle Android tasarımı ve programları & oyun tasarlamada kullanırlar eğer oyun yapmak istiyor iseniz kesinlikle bu dili öğrenin derim.


Ha benim için bu kadar geliştirmeye gerek yok genel ihtiyaç ve market gibi yerlere barkod sistemli işler yapıcam diyor iseniz;
C# yada Delphi öğrenin rahat edersiniz.


Artık hangi programlama dilini istediğinizi belirlediğinizi varsayıyorum.

Şimdi gidip FlowChart (program ismine tıklayın linkten indirin) adlı programı indirin.

FlowChart derslerine bakın ve biraz örnekler çözün.

Bu sayede programlamanın nasıl işlediğini öğrenmiş olursunuz ve biraz algoritma bilginiz olmuş olur.

Daha sonrasında algoritma kitabı alın onu bitirin.

Seçtiğiniz dilin kitaplarını alın ve artık işe koyulun.

Kolay gelsin :)

2- Web Tasarım

Ne olursa olsun bi kere HTML bilmeniz gerek.

HTML webin görünen yüzüdür görünen herşeyi o yapar o düzenler.

HTML kolay bir dil (ki normal programlama dilinden ziyade metin işaretleme dili şeklinde de geçebilir) zaten 1 ayda tamamen yalayıp yutarsınız.

CSS'e gelirsek grafik ağırlıklı sitelerde bu en iyi yardımcınız olucak tüm grafik ayrıntıları bu dil ile yapılıyor.

Daha sonrasında sitede işlemler (kayıtlar - döngüler vs.) için ASP.NET veya PHP bilmeniz gerek.
Bunların ikiside birbirinin işlerini yapabiliyor. Sadece çalışma sistemleri farklı.
ASP.NET bir dil değil bunun mantığı C# veya VB.NET bunların ikisinden biri ile HTML - CSS ile aralarındaki köprüyü sağlıyor.

ASP.NET, C# veya VB.NET ikisinden birini bilmek zorundasınız.

PHP kendi başına bir dil aslında kolaydır ama hata olduğunda ASP.NET'e göre bulması zor.

İş olanakları konusunda şirketler ASP.NET severler genelde çünkü Microsoft gibi bir şirketi arkalarına almak istiyorlar ve normal bir programcı web tasarımı PHP ile uğraşmadan hemen bununla yapabiliyor.

Aslında bunun seçimini ikisininde temel konularına ve özelliklerine bakarak seçmeniz kesinlikle daha yararlı olucaktır.
Bu linkte ayrıntılı olarak farklar anlatılıyor.

Daha sonrada dinamiklik konusuna gelirsek javascript öğrenmeniz iyi olucaktır.
Web tabanlı oyunlarda veya fonksiyonlarda javascript iyi bir alternatif oluyor.

<> Peki Biz Nasıl Öğreneceğiz Bu İşi ?


Bu iş en iyi 'önce' kitap 'sonra' internetten öğrenilir.
3 farklı kaynak kullanmış birisiyim ve size onlardan bahsedeceğim.

1- Microsoft Press;

Programlamayı ben Microsoft yayınlarından aldığım kitapla öğrenmeye başladım.
Ve o kitap ise,
Step by Step Visual Basic .NET 2008
2776548.jpg


İngilizce resim diye korkmayın :)
Türkçe'ye çevrilmiş kitapları var ki benim aldığım kitapta Türkçe idi.

Yeni başlayan biri için biraz ağır fakat gerçekten çok memnun kaldım sonuna doğru ciddi bir şekilde çitasını yükselten konular var iyi ki almışım dedim.

Not: Ama tabiki siz bu kitapla başlayın demiyorum üstte konumu okudunuz ve siz öğrenmek istediğiniz dili seçtiniz bu yüzden o seçtiğiniz dilin kitabını bulun.


2- KODLAB;

Kesinlikle ama kesinlikle bu kaynakta çalışan her çalışanın eline koluna sağlık demeden bu yayını geçemezdim.

● PHP 5.4
● M-etasploit ve Penetrasyon Testleri
● After Effects CS6
● 3D Studio Max Karakter Modelleme ve Dokulandırma
● Unity 3D
● Unreal Engine 4
● C++
● Python

kitaplarıyla o kadar memnun kaldım ki bu yüzden programlama kitabı alacağım zaman ilk bakacağım yayın olacak.

Kitapların içindeki videolu dersleride gerçekten çok başarılı.

Ayrıca sorun destek ekibi çok ilgili.
3D Studio Max Karakter Modelleme ve Dokulandırma kitabının DVD'lerinde bazı videolar açılmıyordu bunu desteğe bilgilendirdim ve bana hemen DVD'lerin .rar'lı halinin linkini attılar bu yüzden kitabı aldım DVD bozuk çıktı aldığım yere iade de yapamıyorum boşa para gitti şeklinde düşünmeyin ilgileniyorlar. :)

Microsoft Press'in kaynakları yeni başlayanlar için zihin açıcıdır biraz zordur bu yüzden size önereceğim en iyi kaynak bu.

3- Dikeyeksen; (Kesinlikle Önermiyorum)

Bu kaynaktaki kitaplara 'şahsi düşüncem' kesinlikle para verilmemeli hatta yüzüne dahi bakılmamalıdır.

2 Tane kitabını aldım resmen kodu verip 'aha bu budur hadi diğerine geçelim' anlayışı ile okuyucuya birşey katmayan ve tamamen hazır koda alıştıran bir öğretim sistemi vardır.

Bu yüzden kesinlikle bu yayını önermiyorum.

<> Kitaplar iyi güzelde internet üzerindende kaynak ver bize :) Hemen;

● MuhammedMastar
● SanalKurs
● YazılımBilimi
● w3schools <- Site üstünden uygulayarak öğrenmek.
● DaronYondem <- Akıl hocası isteyen bi göz atmalı.

Güzel olduğunu düşündüğünüz internet üzerinden ders olan siteleri kanalları yorumda belirtirseniz konuya ekleyebilirim.

İnşallah yeni başlayan arkadaşlarımıza azda olsa ışık tutabilmişimdir.

İyi forumlar.

 
Moderatör tarafında düzenlendi:

CoolPlayerTR

Katılımcı Üye
31 Ağu 2014
825
0
Dork
Ben ortada kaldım gene :D Çünkü C# diline başlamıştım. Fakat daha başlayalı çok olmadı değiştirsem mi ki?
 

rende_68

Katılımcı Üye
21 Ağu 2009
450
0
Miami
Valla eline sağlık kardeşim bilgisayar mühendisliğine başlayacağım bu sene hazırlık var toplam 5 sene :) Bana yardımcı oldum. Sana bi sorum var 5 senede 3dili çok iyi bir şekilde öğrenebilir miyim. C# C++ VE Python :)
 

BlackHatHacker

Uzman üye
21 Nis 2014
1,703
0
Secret
Heh çok şükür sonunda Web'den anlayan birisi , geçenlerde bir sitenin adminiyle konuşuyordum hangi dilleri biliyorsun dedim , CSS dedi , dedim HTML bilmiyormusun? yok ya ne işime yarayacak o dedi deliye döndüm :D.
 

bekodark123

Uzman üye
31 Ocak 2012
1,402
0
çok sağ olasın kafamdaki soru işaretlerini kaldıran bir yazı olmuş

Teşekkür ederim inşallah iyi bir başlangıç yaparsın..

Ben ortada kaldım gene :D Çünkü C# diline başlamıştım. Fakat daha başlayalı çok olmadı değiştirsem mi ki?

Bence değiştirip kafanda az çok oluşmuş temeli bozma.
C#'ı öğren işine yarayacaktır ve programlamanın genel mantığını anlamış olursun diğer dillere geçişin kolay olur merak etme :)

Valla eline sağlık kardeşim bilgisayar mühendisliğine başlayacağım bu sene hazırlık var toplam 5 sene :) Bana yardımcı oldum. Sana bi sorum var 5 senede 3dili çok iyi bir şekilde öğrenebilir miyim. C# C++ VE Python :)

Eyvallah saolasın :)
Evet öğrenebilirsin ama sıkılmadan yani arkadaşlarınla her gün barlarda karıda kızda dolaşmaktansa evde kod yaz.
Tabi eğlence zamanın olacak tabi orasını ayarlarsın sen :) Dengeni tuttur programlama kitapları al okuldaki derslerinide boşlama inşallah gayet iyi yazılımcı olursun..


Rica ederim.

Heh çok şükür sonunda Web'den anlayan birisi , geçenlerde bir sitenin adminiyle konuşuyordum hangi dilleri biliyorsun dedim , CSS dedi , dedim HTML bilmiyormusun? yok ya ne işime yarayacak o dedi deliye döndüm :D.

Hahah direk çık o siteden sen bulaşma :)
 

Gr££D

Kıdemli Üye
27 Haz 2013
2,468
0
Monte Viere


python: C++'a nazaran daha çok sistem programlamanın araçlarında ve sonrası programlarda kullanırlar sistem çekirdeği c ve assembly kullanılır. ayrıca matematik kütüphanesi o kadar gelişmiş ki matlab'ta ıkınarak çözdüğünüz bilimsel problemleri python'da daha rahat çözebiliyorsunuz.

c++: Python'un yaptıklarını yapan ama daha çok kod ameleliğine vuran bir dil fakat sistem programlama ve çekirdek full c ailesi ve assembly ile tasarlanılıyor eğer sistem çekirdeği yazıyorum diyorsanız direk c ailesi seçiminiz olsun zaten başta. Eğer python yazım sitilini değilde c++'ınkini beğeniyorsanız bu dili seçebilirsiniz ikiside birbirinin işini görüyor zaten. C++ ve python galatasaray - fenerbahçe ikilisi gibi :d


Şu Kısımlar pek doğru gelmedi tamam Pyhton çok güçlü bir dil buna kimsenin itirazı yok bende çok severim kendisinini ve evet matematik problemlerinde en az matlab kadar da iyidir.Ama üstte dediğin gibi " C++'a nazaran daha çok sistem programlamanın araçlarında kullanırlar " Python genelde İşletim sistemi araçları geliştirilirken kullanılır linux dağıtımlarında.Örnek vermek gerekirse Leaf pad mesela python ve gtk kullanılarak geliştirilmiş yani python işletim sistemi çekirdeği kodlanırken kullanamazsın çünkü interpreted bir dildir.(Yorumlanan) C ve C++ is Native yani derlenen dillerdir pekde benzediklerini söylemek doğru olmaz.
 

bekodark123

Uzman üye
31 Ocak 2012
1,402
0


python: C++'a nazaran daha çok sistem programlamanın araçlarında ve sonrası programlarda kullanırlar sistem çekirdeği c ve assembly kullanılır. ayrıca matematik kütüphanesi o kadar gelişmiş ki matlab'ta ıkınarak çözdüğünüz bilimsel problemleri python'da daha rahat çözebiliyorsunuz.

c++: Python'un yaptıklarını yapan ama daha çok kod ameleliğine vuran bir dil fakat sistem programlama ve çekirdek full c ailesi ve assembly ile tasarlanılıyor eğer sistem çekirdeği yazıyorum diyorsanız direk c ailesi seçiminiz olsun zaten başta. Eğer python yazım sitilini değilde c++'ınkini beğeniyorsanız bu dili seçebilirsiniz ikiside birbirinin işini görüyor zaten. C++ ve python galatasaray - fenerbahçe ikilisi gibi :d


Şu Kısımlar pek doğru gelmedi tamam Pyhton çok güçlü bir dil buna kimsenin itirazı yok bende çok severim kendisinini ve evet matematik problemlerinde en az matlab kadar da iyidir.Ama üstte dediğin gibi " C++'a nazaran daha çok sistem programlamanın araçlarında kullanırlar " Python genelde İşletim sistemi araçları geliştirilirken kullanılır linux dağıtımlarında.Örnek vermek gerekirse Leaf pad mesela python ve gtk kullanılarak geliştirilmiş yani python işletim sistemi çekirdeği kodlanırken kullanamazsın çünkü interpreted bir dildir.(Yorumlanan) C ve C++ is Native yani derlenen dillerdir pekde benzediklerini söylemek doğru olmaz.

Ya bende onu demek istedim konu altında belirttiğim gibi gecenin 4:20 sinde açtım gevelemişim orda.
İzin verirsen senin cümlelerinle düzenlemek isterim konumu..

Eline sağlık anlatım güzel olmuş.

Teşekkür ederim.

Bilgilendirici ve işime yaradı teşekkürler :)

İşine yarar inşallah :)
 
Ü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.