Nasıl yazılım öğrenilir?

Python kolay bir dil değil. Gelişmiş kodlama ilkeleriyle alakalı mevzulara girdiği zaman oldukça zor bir hal alıyor.

C# yazılıma başlamak ve ilerlemek için en az Python kadar kolaydır.

Ayrıca bu işe şu dili, bu dili öğrenerek başlanmaz. Hele ki 8.sınıf biri için konusuyoruz; matematik birikimi fazla değil, algoritma kurma ve problem çözme yeteneği fazla gelişmiş değil. İyi bir yazılımcı olmak istiyorsanız matematik çalışın, bu size hem soyut kavramları öğretir hem problem çözme becerinizi geliştirir.

Şu aşamada yazılıma fazla ağırlık vermek yerine iyi bir lise kazanmaya bakın. Lisede de bu yazılım işlerine çok fazla kafa yormayın. Ben böyle bir hata yaptım pişmanım, ilgi alanım değişti ve şimdi tıp okuyorum. Yazılıma harcadığım vakti derse ayırsam Cerrahpaşa'da tıp okurdum.

Dil öğrenmek yazılımın %2'si falandır.
Hiç bir programlama dili kolay değil ama arkadaşın B1 İngilizcesi olduğu için Python'ın daha kolay geleceğini düşündüm. Çünkü bir insan diline, daha detayına girmek gerekirse İngilizceye en yakın programlama dilidir Python.

Ve bu işe şu dili, bu dili öğrenerek başlanır. Türkçede güncel bir bilgi vs. bulmak zor üstelik İngilizce global bir dil olarak kabul edildiği için bu işte deneyimli olanlar ''herkes anlasın'' diyerekten makale vb. yazıları tamamen İngilizce ile yazıyorlar. Yani bu işte ne kadar İngilizce biliyorsanız o kadar şanslısınız demek. Ayrıca dil öğrenmek yazılımın %2'si falan değildir. Facebook reelslerinden duyduğunuz saçma sapan şeyleri buraya kusarak çocuğun kafasını karıştırmayın.

Yazılım öğrenmek asla pişmanlık değildir. Belli ki siz adam akıllı öğrenmemişsiniz de bir işinize yaramamış, o internetteki kuru bilgiler. İster 8, ister 9. sınıf olsun, bu yazılımı öğrenmemesi için bahane değil. Ben 8. sınıfta Python öğrendim ve kendi deneyimlerime dayanarak konuşuyorum burada. Matematik bilgisi fazla değilse hiç sorun değil, hatta tersine işine bile gelir. Daha zor algoritmaları yürütmek için temel matematik işlemlerini kullanmak demek kodun uzaması demek. Bu açıdan hem kod okuma yeteneğini geliştirir hem de Python'ın temelini çok çok daha iyi öğrenmiş olur.

Sen bunları hiç dinleme kardeşim, bunlar programlamayı doğru düzgün becerememiş insanlar, hep gelip böyle laf yaparlar. Gelecekte programlama ile ilgili iş yapmayacaksan bile azıcık bir kodlama öğrenmen kendin için çok iyi olacaktır. Algoritma vs. bilmek ve anlamak, elinde şu an tuttuğun bu telefon, veya önünde duran bilgisayarın halinden anlaman demek. Dünya git gide dijital kültürü benimseyerek ilerliyor, ve ilerleyecekte. Senin de ilgi alanın bu doktorluk okuyan arkadaş gibi sürekli değişiyorsa bile yine de biraz yazılım, algoritma ve temel hardware bilgilerini öğrenip aklının bir yerine kazı derim. Ne de olsa doktor dahi olsan işine yarayacak şeyler bunlar. Hem zaten farklı bir açıdan yazılım işine bakmak gerekirse; doktorların işlerini bu kadar iyi yapmasını sağlayan biz yazılımcılar değil miyiz? Ameliyatta kullanılan cihazlardan tut senin boğazının şişip şişmediğini kontrol etmek için kullandıkları o fenere kadar... Hangi işi yaparsan yap, bu dijital kültürden, bu teknolojiden kaçamazsın. Ellerinle dokunduğun bu cihazları anlamak, senin her işe 1-0 önde başlamanı sağlar. Genç yaştasın, bu işlerin temelini daha doğal ve kolay bir şekilde kavrarsın. Ama yine söylüyorum; Türkiye'de 8. sınıf sonu LGS olduğu için sen en iyisi şimdilik sınavına çalış, istediğin bir liseye geç, daha sonra başlarsın bu işlere.
 
Ben bu işlere başlama demedim ona, lise sınav ve süreci boyunca kafasını onla doldurmamasını önerdim. Derslerine daha ağırlık vermesi gerektiğini söyledim. Ki sizin de bir Yazılım Mühendisliği ögrencisi olarak bu işin çok büyük bir kısmının mühendislik disiplininden oluştuğunu bilmeniz gerekiyor diye düşünüyorum. Mühendislik disiplinini kazanıp bir mühendis gibi düşünebilmek için de matematik, soyut kavramlar üzerinde çalışması gerekiyor.

Ayrıca Facebook Reelslar'da ben hiç gerçekleri bu şekilde açıklayan bir yazı görmedim haberiniz olsun.

Ayrıca sizin ne haddinize benle hiç çalışmadan benim yazılım bilgimi sorgulamak?
 
Ayrıca dil öğrenmek yazılımın %2'si falan değildir.
Dil öğrenmek yazılımın küçük bir parçası. Büyük parçası o dili kullanmadan önce, proje analizi yapıp, planlamayı yaptıktan sonra, programın mantığını oluşturmak ve bu mantığı uygulamak için bol bol araştırmak. Diller araçtan fazlası değiller. Kurduğun mantığı uygulamak için kullanacağın araçlar bunlar.
Sen bunları hiç dinleme kardeşim, bunlar programlamayı doğru düzgün becerememiş insanlar, hep gelip böyle laf yaparlar.
Neye dayanarak söylüyorsun bunu? :D
Yazılım öğrenmek asla pişmanlık değildir. Belli ki siz adam akıllı öğrenmemişsiniz de bir işinize yaramamış, o internetteki kuru bilgiler. İster 8, ister 9. sınıf olsun, bu yazılımı öğrenmemesi için bahane değil. Ben 8. sınıfta Python öğrendim ve kendi deneyimlerime dayanarak konuşuyorum burada.
Yazılım öğrenmek pişmanlıktır diyen kim? Yazılım öğrenmek isteyen hiç kimseye öğrenme demiyoruz. Acele etmesin diyoruz. Eğer sektörde çalışmak istiyorsa, üniversitesine gitsin diyoruz. 8. sınıfta öğrendiğin Python bilginle neler yapabiliyordun anlatsana bir? Naptın 8. sınıfta, reinforcement learning implementation mu yaptın? Hebbnet mi yazdın? Data structures mantığını mı kavradın? Dil bilmeyle Computer Vision algoritmaları yazamazsın. Sadece dil öğrenerek socket comm ogrenemezsin. Sabaha kadar python syntaxi öğren ne işe yarayacak. Programlamayı syntaxtan ibaret sanan insanın şu sektörde yazacağı program cruddan ileriye gitmez.
 
Dil öğrenmek yazılımın küçük bir parçası. Büyük parçası o dili kullanmadan önce, proje analizi yapıp, planlamayı yaptıktan sonra, programın mantığını oluşturmak ve bu mantığı uygulamak için bol bol araştırmak. Diller araçtan fazlası değiller. Kurduğun mantığı uygulamak için kullanacağın araçlar bunlar.

Neye dayanarak söylüyorsun bunu? :D

Yazılım öğrenmek pişmanlıktır diyen kim? Yazılım öğrenmek isteyen hiç kimseye öğrenme demiyoruz. Acele etmesin diyoruz. Eğer sektörde çalışmak istiyorsa, üniversitesine gitsin diyoruz. 8. sınıfta öğrendiğin Python bilginle neler yapabiliyordun anlatsana bir? Naptın 8. sınıfta, reinforcement learning implementation mu yaptın? Hebbnet mi yazdın? Data structures mantığını mı kavradın? Dil bilmeyle Computer Vision algoritmaları yazamazsın. Sadece dil öğrenerek socket comm ogrenemezsin. Sabaha kadar python syntaxi öğren ne işe yarayacak. Programlamayı syntaxtan ibaret sanan insanın şu sektörde yazacağı program cruddan ileriye gitmez.
Dil öğrenmek yazılımın küçük bir parçası değildir. Başta İngilizce olmak üzere, başka yabancı dilleri öğrenmek sizin farklı gramer şekillerini daha hızlı bir şekilde benimsemenize yardımcı olur ve bu bir programlama dili öğrenirken çok da yardımcı olur. Ayrıca İngilizce bilmeden nasıl programlama öğrenmeyi düşünüyorsunuz? Bilimsel hesaplama söz konusu olduğunda en ünlü Python kütüphanelerinden biri olan NumPy'ın bile adam akıllı detaylı bir Türkçe kılavuz vs. yok. ''E kodu ben yazıyorum?'' diye boş havalara girmenin hiç bir anlamı yok. Senin o programlama dilini daha iyi öğrenip seviyeni ilerletmek için İngilizceye kesinlikle ihtiyacın var.

Ben bunu etrafımda ve sanalda karşılaştığım insanlara bağlı olarak söylüyorum bunu. Nedenini de yine oraya yazdım. Okumadan mantıksız bir şekilde yorum yapıyorsanız benim muhatabım değilsiniz.

Yazılım öğrenmeye çalıştığına pişman olmuş kişi kim olabilir sizce? Yazışmaları adam akıllı okumadan gelip burada sallıyorsunuz. Ne dediysem aynısını farklı bir şekilde tekrar edip yazmışsınız. Kimseyi yazılım konusunda acele ettirdiğimiz yok, LGS bitsin, sonra öğrenirsin diyoruz biz burada. Üniversiteye gidildiğinde yazılıma başlamak ile lisede başlamış olmanın arasında fark var. Zihninin en açık olduğu, yeni ve karmaşık şeyleri daha kolayca kabullenebileceği yaşlarında arkadaş. Bende bu sebeple temelini öğrenmesini söylüyorum. Elbette kalkıp da 8. sınıf matematiğin ile OpenCV gibi kütüphaneleri adam akıllı kullanmayı beceremezsin, fakat başta Python olmak üzere, diğer programlama dillerinin temelini öğrenmek, bilgisayar ile olan anlamsal bağı güçlendirmekle kalmaz, aynı zamanda ileride yazılım mühendisliği gibi bir meslek okuduğunda hocasının da anlatımı ile çok çok daha iyi anlmasını sağlar. Bakın bu 3, belki de 4. kez tekrarlayışım olacak; programlama dilinin TEMELİNİ öğren diyorum. Malum arkadaş oldukça istekli, bize de bu ateşi körüklemek düşer. Bir kaç teknik terim kullanaraktan ''yok, daha yaşın değil'' veya ''sana daha erken'' gibi laflar ederek çocuğun hevesini söndürmenin hiç bir anlamı yok. Bu kadar hevesli ise bırakın öğrensin. Zaten bu yaşta profesyonel seviye programlama yapabilse ne fark eder? Temelini öğrensin geçsin. Bu neymiş böyle arkadaş! Yok efendime söyleyeyim ''ben zamanında öğrenmeye çalıştım, keşke normal derslere ağırlık verseydim şu an daha iyi yerde doktorluk okuyor olurdum''. ''8. sınıf hali ile reinforcement learning implementation mu yapacak? Hebbnet mi yazacak?'' falan! Kafayı mı yediniz yoksa sırf yazmış olabilmek için mi yazıyorsunuz? Kardeşimiz şu genç yaşında programlamaya bu kadar ilgi duyuyormuş, ona yol göstermek bir kenarda dursun, göstermeye çalışana bile saldırmanın ne anlamı var?
 
Dil öğrenmek yazılımın küçük bir parçası değildir. Başta İngilizce olmak üzere, başka yabancı dilleri öğrenmek sizin farklı gramer şekillerini daha hızlı bir şekilde benimsemenize yardımcı olur ve bu bir programlama dili öğrenirken çok da yardımcı olur. Ayrıca İngilizce bilmeden nasıl programlama öğrenmeyi düşünüyorsunuz?
Dilden kasıt İngilizce değil programlama dilleri. (Programlama) Dil öğrenilmez demiyor kimse, okuduğunu anlama problemin var net bir şekilde. Dil öğrenmek işin küçük bir parçası. İngilizce bilmeden programlama öğrenilir. Öğrenilmez değil. Mühendislik yapılmaz. Profesyonel seviyede yapmayı ciddiyetle zorlaştırır İngilizce olmaması. Yine de imkansız değil.
Yazılım öğrenmeye çalıştığına pişman olmuş kişi kim olabilir sizce? Yazışmaları adam akıllı okumadan gelip burada sallıyorsunuz.
Adam tıp okuyacağım, okumayacagim bir alana vakit harcadığıma pişmanım demiş. Bunda yanlış bir şey yok. Bunu dediği gözümden kaçmış, o da benim hatam.
Ne dediysem aynısını farklı bir şekilde tekrar edip yazmışsınız. Kimseyi yazılım konusunda acele ettirdiğimiz yok, LGS bitsin, sonra öğrenirsin diyoruz biz burada.
LGS bitsin sonra da başlamasın diyoruz. Acele etmesin diyoruz, okuluna odaklansin diyoruz. Kompleks kavramları kavramak için henüz yeterince temeli yok. Temeli atması vakit alacak. Vaktini tüketecek.
Üniversiteye gidildiğinde yazılıma başlamak ile lisede başlamış olmanın arasında fark var. Zihninin en açık olduğu, yeni ve karmaşık şeyleri daha kolayca kabullenebileceği yaşlarında arkadaş.
Yok öyle bir şey. Görüyorum üniversiteye 'lisede başlayıp' gelenleri. Sıfır değil eksi oluyorlar genelde. Ben biliyorum kafasında oluyorlar. Ama bildikleri tek şey, senin örneğinde olduğu gibi, sadece programlama dili. Konseptlerin birazına bile hakim olmuyorlar. Adam kullandığı dilin OOP mu, structured mı, procedural mı, functional mı olduğunu bilmiyor. Allah ne verdiyse, lisede dandirik videolarda/rehberlerde ne gördüyse onu yazıyor. DRY gibi basic ilkelerden bile haberleri olmuyor. Veri yapılarından haberleri yok. Bir sistemin algoritmik kompleksitesini hesaplayamiyorlar. Optimize olmayan, spagetti kodlar yazıyorlar. Sıfır olsalar bunların hiç birini yasamayacaklar belkide üniversitede bu temelleri düzgün bir şekilde atacakları için. Yazdığı bir kodu 30 yere kopyala yapıştır yapan sonra düzenleyeceği zaman bir 30 kez daha kopyalayanlar görüyorum ben.
Bakın bu 3, belki de 4. kez tekrarlayışım olacak; programlama dilinin TEMELİNİ öğren diyorum. Malum arkadaş oldukça istekli, bize de bu ateşi körüklemek düşer. Bir kaç teknik terim kullanaraktan ''yok, daha yaşın değil'' veya ''sana daha erken'' gibi laflar ederek çocuğun hevesini söndürmenin hiç bir anlamı yok.
Böyle bir şeyden heves sönüyorsa başından istek zayıftır zaten. Salt dil öğrenme üzerine gitmenin zararlarından daha uzun da bahsederim ama yukarıdaki yetmeli. Temel dediğin şey syntax bilgisinden ibaret değil. Python syntaxi öğrenip bilgisayarın nasıl çalıştığını, algoritmanın ne olduğunu anlayamaz. Çocuk diye de anlayamaz demiyoruz. Anlamak için bol bol vakit harcaması gerekecek, dolayısıyla okuluna negatif etki edecek diyoruz.
Zaten bu yaşta profesyonel seviye programlama yapabilse ne fark eder? Temelini öğrensin geçsin. Bu neymiş böyle arkadaş! Yok efendime söyleyeyim ''ben zamanında öğrenmeye çalıştım, keşke normal derslere ağırlık verseydim şu an daha iyi yerde doktorluk okuyor olurdum''. ''8. sınıf hali ile reinforcement learning implementation mu yapacak? Hebbnet mi yazacak?'' falan! Kafayı mı yediniz yoksa sırf yazmış olabilmek için mi yazıyorsunuz? Kardeşimiz şu genç yaşında programlamaya bu kadar ilgi duyuyormuş, ona yol göstermek bir kenarda dursun, göstermeye çalışana bile saldırmanın ne anlamı var?
Yol göstermek değil senin yaptığının adı, gereksiz heveslendirmek. Sadece dil öğrenerek program yapamadığını fark ettiğinde hayal kırıklığına uğrayacak. Ne yaptığının farkında değilsin. Ben ne söylediğimin farkındayım. Orta okul/lise derslerine vakit harcamasının bu alana şimdiden vakit harcamasından daha faydalı olacağını söylüyorum.
 
Son düzenleme:
Öğrenilmez değil. Mühendislik yapılmaz. Profesyonel seviyede yapmayı ciddiyetle zorlaştırır İngilizce olmaması. Yine de imkansız değil.
Buna katılıyorum.
LGS bitsin sonra da başlamasın diyoruz. Acele etmesin diyoruz, okuluna odaklansin diyoruz. Kompleks kavramları kavramak için henüz yeterince temeli yok. Temeli atması vakit alacak. Vaktini tüketecek.
Ben de bu yüzden diyorum işte. Liseliyken yavaş yavaş kendini vermesi çok daha iyi.
Yok öyle bir şey. Görüyorum üniversiteye 'lisede başlayıp' gelenleri. Sıfır değil eksi oluyorlar genelde. Ben biliyorum kafasında oluyorlar.
Bilemiyorum. Türkiye'de okuyan arkadaşlarımdan gördüğüm ve duyduğum kadarıyla işler pek de böyle değildi. Ama yine de bu konuda sizinle tartışamam çünkü ben ortaokuldan beridir Japonya'da okuyorum. Türkiye'nin durumuna sizin kadar hakim değilim.
Böyle bir şeyden heves sönüyorsa başından istek zayıftır zaten.
İsteği zayıf olduğundan değil, konudan hiç bir şey anlamadığı için hevesi sönebilir. Programlamanın özellikle tam o başlangıcının insana çok karmaşık geldiğini düşünüyorum. Bana göre yeni başlamış birisine programlamanın, karmaşık bir şekilde bağlanmış düğüm gibi gözüktüğünü düşünüyorum. Bu düğümün ne kadar karmaşık olduğunu göstermeden önce düğümün, nereden başlayarak çözülmesi gerektiğini gösterilmesinin daha iyi olacağına inanıyorum.
Yol göstermek değil senin yaptığının adı, gereksiz heveslendirmek. Sadece dil öğrenerek program yapamadığını fark ettiğinde hayal kırıklığına uğrayacak. Ne yaptığının farkında değilsin. Ben ne söylediğimin farkındayım. Orta okul/lise derslerine vakit harcamasının bu alana şimdiden vakit harcamasından daha faydalı olacağını söylüyorum.
Ben üstte verdiğim benzetmeyi uygulamaya çalıştım; Python'dan başlamasının daha rahat olacağını ve kendini zorlamadan temellerini öğrenmesini söyledim. Konuyu tartışırken sözlerim gereksiz heveslendirmeye kadar gitmiş olabilir ama özünde yapmaya çalıştığım gereksiz heveslendirmek değildi.
 
Şu an da gerçekten kötü bir lisede eğitim gören bir 12. sınıf öğrencisi olarak sana verebileceğim tek tavsiye LGS sınavına çalış. Adam gibi bir liseye git zaten bu işlere meraklıysan çok rahatlıkla öğrenebilirsin. Şu an da okuduğum lisede ne hocası sınıfa gelir ne öğrencisi dersi dinler. Maksimum 2-3 kişi adam gibi yazılım yaparız sınıfta. Diğerleri okumak için okuyan tipler. Ve bu tiplerle ders işlemek ölüm haline geliyor. Meslek lisesi okuyorum. Bölümüm bilişim ona rağmen son iki senemde ne matematik ne de fizik gördük. Çok gerekli diye din dersi koymuşlar bir de araya :D. Her şey okulumda rezalet ilerliyor fakat bu işlere gönül bağladığım için kendi çapımda ne varsa yapıyorum. Okulumdan eve geldiğimde ilk yaptığım şey Visual Studio'yu açıp elimden geldiğimce algoritma anlayıp yazmaya çalışmak oluyor. Lisede bu pişmanlığı yaşadığım için YKS'de köpek gibi çalışıp iyi bir üniversiteye girmeyi planlıyorum. Sağ olsun ailemde destek olduğu için bu ihaleden çıkabilirim diye düşünüyorum. Yani uzun lafın kısası yazılım'a girişmeden önce LGS'ne çalış düzgün bir puan tuttur ondan sonrası çorap söküğü gibi gelir.

Şunu da eklemeliyim diye düşündüm. Asla kodlara bakmaktan çekinme. Bir proje yapmak istiyorsan tarihte yapan illa birileri vardır. Google'a yaz yapmak istediğin projeyi çıkan sonuçlara bak araştır. Ayrıca Open Source kodlara bak, incele ve anlamaya çalış. Bir yerde hata olduğunda içinde bir ton yazılımcının bulunduğu forumlar ve forum tarzı siteler var. Veya en basiti burada sorabilirsin. Başka site adı vermek yasak mı değil mi? Bilmediğimden isim veremiyorum. Ama birazcık araştırırsan rahatlıkla bulabilirsin.
 
Son düzenleme:
Dil öğrenmek yazılımın küçük bir parçası değildir. Başta İngilizce olmak üzere, başka yabancı dilleri öğrenmek sizin farklı gramer şekillerini daha hızlı bir şekilde benimsemenize yardımcı olur ve bu bir programlama dili öğrenirken çok da yardımcı olur.

Dilden kasit programlama dili. Yazilimin ufak bir bolumu oldugu da dogru.

Python ile yapay zeka gelistiriliyor, python ile discord botu yaziliyor, python ile desktop uygulama gelistiriliyor vs gibi seyleri okuyan yeni baslayacak insanlar sen ve senin gibilerin yazilarini okuyunca zannediyorlar ki hayalindeki uygulamayi gelistirmesinin tek on kosulu "Python" ya da herhangi baska bir programlama dilini ogrenmek. Onu ogrenince tum gereksinimini tamamlayacagini saniyor.

Halbuki hic alakasi yok. Bu yuzden acip Harvard ya da Elazig universitesi muhendislik programlarinin derslerine bakan birisi gorecektir ki amaci sadece ve sadece programlama dili ogretmek olan tek bir core ders bulamazsiniz.

Dil sadece bilgisayara "git sunu yap, surdan bunu getir" diye komut verdigin hede. Hangi komutu verecegini bilmek onemli, bunu nasil verdigin isin en kucuk kismi. Arkadas %2 derken insafli bile davranmis, Python programlama dilinde sadece 33 tane reserve edilmis keyword var, ogrenecegi syntax'in hepsi bunun varyasyonlari. Turkse zaten "assert" kullanmayacak, sektordeki arkadaslar bilir. C-like dil temeli olan biri su tabloya baktiginda zaten dili kabaca ogrenmis oluyor bile.

1715176331166.png


Matematik bilgisi fazla değilse hiç sorun değil, hatta tersine işine bile gelir. Daha zor algoritmaları yürütmek için temel matematik işlemlerini kullanmak demek kodun uzaması demek. Bu açıdan hem kod okuma yeteneğini geliştirir hem de Python'ın temelini çok çok daha iyi öğrenmiş olur.

Matematik temelinin onemi muhendislik ile alakali. Elbette orta-okul matematigi bilen birisine de belirli seviyede programlama ogretebilirsin. Ama muhendislik ogreteceksen algoritma complexity analizi yapmayi, 64 bit ya da 32 bit ondalik sayilarin memory'de nasil tutuldugunu, farkli mimarilerdeki Endian yapisini ( bkz ) ogrenciye anlatman gerekir ki bunlar zaten baslangic konseptleri. Henuz daha veri tiplerini ve memory de reprezente edilmelerini soyledim. Bunun hash'i var, graph'i var, set'i var, heuristic'i var, kriptografisi var, fonksiyonel hesaplamalari var ; sadece fonksiyonel programlamanin uzerine kuruldugu lamda calculus var -> Lambda calculus - Wikipedia

Matematik denildigi zaman bizim insanimiz turev ~ integral zannediyor genelde olayi ama CS'in esas matematigi Discrete Math'dir.

Bunlari bilmeden kimse ogrenemez diye bir sey yok, Matematik ve Ingilizce bilmeyen biri de ogrenebilir belirli seviyeye kadar. Ideal ogrenim siralamasindan bahsediyoruz. Omrunde tek satir kod yazmamis ama cok iyi Disc. matematik ve Ingilizce bilen birinin bunlari bilmeden 9. siniftan beri random Youtube ~ Udemy kursu takip eden birinden cok daha ileri seviyeye gelecegini gayet net iddia edebilirim. Zaten aksi bir durum olsaydi universite mufredatlari degisir, kimse once Ingilizce hazirlik sonra matematik ogrenmezdi. Akademik egitim soz konusuysa, bazi seyleri bazi diger seyleri bilmeden tam olarak kavrayamazsiniz. Basketbol, tenis degil bu; 3 yasinda baslayinca one gecmiyorsun. Hatta geri bile gidebilirsin sacma sapan aliskanliklar kazandigin icin.
 
Dilden kasit programlama dili. Yazilimin ufak bir bolumu oldugu da dogru.

Python ile yapay zeka gelistiriliyor, python ile discord botu yaziliyor, python ile desktop uygulama gelistiriliyor vs gibi seyleri okuyan yeni baslayacak insanlar sen ve senin gibilerin yazilarini okuyunca zannediyorlar ki hayalindeki uygulamayi gelistirmesinin tek on kosulu "Python" ya da herhangi baska bir programlama dilini ogrenmek. Onu ogrenince tum gereksinimini tamamlayacagini saniyor.

Halbuki hic alakasi yok. Bu yuzden acip Harvard ya da Elazig universitesi muhendislik programlarinin derslerine bakan birisi gorecektir ki amaci sadece ve sadece programlama dili ogretmek olan tek bir core ders bulamazsiniz.

Dil sadece bilgisayara "git sunu yap, surdan bunu getir" diye komut verdigin hede. Hangi komutu verecegini bilmek onemli, bunu nasil verdigin isin en kucuk kismi. Arkadas %2 derken insafli bile davranmis, Python programlama dilinde sadece 33 tane reserve edilmis keyword var, ogrenecegi syntax'in hepsi bunun varyasyonlari. Turkse zaten "assert" kullanmayacak, sektordeki arkadaslar bilir. C-like dil temeli olan biri su tabloya baktiginda zaten dili kabaca ogrenmis oluyor bile.
Belli ki siz hiç biriniz bu dil konusuna benim baktığım açıdan bakmıyorsunuz. Kodlama dilinin kendisinde İngilizcenin çok az yer kapladığını bende biliyorum ama, söz konusu o kodlama dilini veya o dilin bir kütüphanesini öğrenmeye geldiğinde, ana dili İngilizce olmayan biri için bence İngilizce öğrenmek, onun için yazılım öğrenmenin %2'sini falan oluşturmaz. Belki anadili İngilizce olan birisi için taş çatlasa dil öğrenmek yazılımın %1 veya 2'si olabilir ama bizim gibi İngilizce kendisi için yabancı bir dil olan bir kimseye aynı şeyi söylemek zor. Hem ayrıca ''dil'' derken programlama dilinden kast edildiğini de zannetmiyorum.
Matematik temelinin onemi muhendislik ile alakali. Elbette orta-okul matematigi bilen birisine de belirli seviyede programlama ogretebilirsin. Ama muhendislik ogreteceksen algoritma complexity analizi yapmayi, 64 bit ya da 32 bit ondalik sayilarin memory'de nasil tutuldugunu, farkli mimarilerdeki Endian yapisini ( bkz ) ogrenciye anlatman gerekir ki bunlar zaten baslangic konseptleri. Henuz daha veri tiplerini ve memory de reprezente edilmelerini soyledim. Bunun hash'i var, graph'i var, set'i var, heuristic'i var, kriptografisi var, fonksiyonel hesaplamalari var ; sadece fonksiyonel programlamanin uzerine kuruldugu lamda calculus var -> Lambda calculus - Wikipedia

Matematik denildigi zaman bizim insanimiz turev ~ integral zannediyor genelde olayi ama CS'in esas matematigi Discrete Math'dir.

Bunlari bilmeden kimse ogrenemez diye bir sey yok, Matematik ve Ingilizce bilmeyen biri de ogrenebilir belirli seviyeye kadar. Ideal ogrenim siralamasindan bahsediyoruz. Omrunde tek satir kod yazmamis ama cok iyi Disc. matematik ve Ingilizce bilen birinin bunlari bilmeden 9. siniftan beri random Youtube ~ Udemy kursu takip eden birinden cok daha ileri seviyeye gelecegini gayet net iddia edebilirim. Zaten aksi bir durum olsaydi universite mufredatlari degisir, kimse once Ingilizce hazirlik sonra matematik ogrenmezdi. Akademik egitim soz konusuysa, bazi seyleri bazi diger seyleri bilmeden tam olarak kavrayamazsiniz. Basketbol, tenis degil bu; 3 yasinda baslayinca one gecmiyorsun. Hatta geri bile gidebilirsin sacma sapan aliskanliklar kazandigin icin.
Olayı yanlış anlamışsınız; kimse mühendis ol demedi veya mühendislik öğretmeye çalışmadı. Temelini öğren dedim o kadar. Ki özellikle Python gibi bir dilin temelini öğrenmek için bu kadar matematik bilmeye gerek olmadığını düşünüyorum.
 
Hem ayrıca ''dil'' derken programlama dilinden kast edildiğini de zannetmiyorum.
Zannedip zannetmemelik bir şey değil. Sektörde dil kelimesi/kavramı programlama dili için kullanılıyor ağırlıklı olarak. Hele forumda, programlama kategorisinde dil kelimesi konuların %90'ından daha fazlasında rahatlıkla bu anlam için kullanılıyor. Şimdiye kadar 1000+ mesaj attım kategoride. Dil dediğimde bunu İngilizce ile karıştırıp yorum yapan ilk kişisin.

Bunu başka yorumlayıp, kafanda yaptığın yoruma göre mesaj atmak senin problemin.
Belli ki siz hiç biriniz bu dil konusuna benim baktığım açıdan bakmıyorsunuz. Kodlama dilinin kendisinde İngilizcenin çok az yer kapladığını bende biliyorum ama, söz konusu o kodlama dilini veya o dilin bir kütüphanesini öğrenmeye geldiğinde, ana dili İngilizce olmayan biri için bence İngilizce öğrenmek, onun için yazılım öğrenmenin %2'sini falan oluşturmaz.
İngilizce önemsiz denmedi. Başından İngilizce'nin önemiyle alakalı %3-5 yorumu yok. İngilizce bilmek öğrenmenin önemli bir parçası mı? Evet. Bunun aksini söyleyen kimse yok. Fakat (programlama) dili öğrenmek programlamanın, yazılım geliştirme kavramının, muazzam ufak bir parçası. Bunu anlamamakta ısrar ediyor olman muazzam şaşırtıcı bir durum. Sapla samanı ısrarla birbirine karıştırıyorsun. Programlama öğrenirken İngilizce önemsiz demiyoruz bak. Artık tekrara giriyorum. Programlama öğrenirken (PROGRAMLAMA) DİLİ öğrenmeye odaklanmak anlamsız. Dilden bağımsız diyeceğim sen yine İngilizce için konuşuyorum sanacaksın, o yüzden; programlama dilinden bağımsız, temel konseptleri öğrenmek daha önemli. Programlama dili öğrenmek, programlamanın temellerini öğrenmedikten sonra, anlamsız.

Zannedip zannetmemelik bir şey değil. Sektörde dil kelimesi/kavramı programlama dili için kullanılıyor ağırlıklı olarak. Hele forumda, programlama kategorisinde dil kelimesi konuların %90'ından daha fazlasında rahatlıkla bu anlam için kullanılıyor. Şimdiye kadar 1000+ mesaj attım kategoride. Dil dediğimde bunu İngilizce ile karıştırıp yorum yapan ilk kişisin.
Programlama kategorisinde dil dendiğinde bağlam gereği akla programlama dili geliyor. İngilizce, Almanca, Fransızca, İtalyanca, Japonca, Fransızca vs vs değil.
Her dilin temeli aynı deyip, C++ geçersen ekrana boş boş bakarsın demek nasıl bir çelişki farkındasın değil mi? Ben programlamayı ilk C++ ile öğrendim, ekrana boş boş bakmıyorum.
Konu sahibi için;
Ağırlıklı olarak js ve/veya typescript kullanılıyor dil olarak. Back-end ağırlıklı olarak Node.js tercih ediliyor. Front end için React, Flutter vb şeyler kullanılıyor. Şu sıralar baya React projesi görüyorum.
Diller arasında kaybolup gitme... Öğrenmen gereken şey konseptler. Dil fark etmiyor. C yada Pythonla başlaman konseptleri öğrendiğinde bir şey değiştirmeyecek. Programlama nedir, programlar nasıl çalışır, compiler nedir, interpreter nedir, bellek nedir, stack nedir, heap nedir, algoritma nedir, veri yapıları nelerdir bunları öğren.

Her dilin kendi trickleri, bir şeyleri daha kısa yapmanı sağlayacak bir yolu var tabii ki, bunun içinde konseptleri öğrendikten sonra genellikle tercih edeceğin bir dil seçersin, onu da kendin kesfedersin sonra sonra zaten.
 
Son düzenleme:

Yeni konular

Geri
Yukarı