C++ daha iyi anlayabilmek için Python öğrenilmeli mi?

Amazingassault

Centipat
Katılım
16 Mart 2024
Mesajlar
21
Arkadaşlar, ben C++'ı daha iyi anlayabilmek için BTK'nın Python kursunu takip ediyorum. Temel oluşturmak için hangi konular daha önemli ve C++ için hangi konulara daha fazla önem vermem gerektiğini öğrenmek istiyorum. Bana tavsiyeleriniz neler? 💻💻 (her tavsiyeye açığım)
 
Son düzenleyen: Moderatör:
Array ve OOP kısmını çok iyi anlaman gerekiyor üstüne eklenecek her bölüm bu konuları temel alıyor. Soruna gelecek olursak hayır öğrenmen gerekmiyor, üstüne kafa karışıklığı bile yaratabilir ( eğer ikisini de yeni öğreniyorsan ). Tavsiyem kursu izlemeye devam et. Udemy tarafında da güzel kurslar var. YouTube'da güzel küçük projeler oluyor, kendin projeleri taklit etmeye çalış. Maalesef uygulama olmadan öğrenilmiyor.
 
Array ve OOP kısmını çok iyi anlaman gerekiyor üstüne eklenecek her bölüm bu konuları temel alıyor. Soruna gelecek olursak hayır öğrenmen gerekmiyor, üstüne kafa karışıklığı bile yaratabilir ( eğer ikisini de yeni öğreniyorsan ). Tavsiyem kursu izlemeye devam et. Udemy tarafında da güzel kurslar var. YouTube'da güzel küçük projeler oluyor, kendin projeleri taklit etmeye çalış. Maalesef uygulama olmadan öğrenilmiyo
Yani, C++ öğrenmek için C veya Python bilmek gerekmiyor, öyle mi? Çünkü sürekli olarak C++’ın temeli olmayanlar için zor bir dil olduğu söyleniyor. C++’ı iyi anlamak için önce Python veya benzeri bir programlama dilinde temelimin olması gerektiği ve bu sayede C++’ı daha iyi anlayabileceğim söyleniyor. Sizce bu konuda doğruluk payı var mı? siz ne düşünüyorsunuz
 
Yani, C++'a doğrudan başlasam aşırı derecede zorlanmam, öyle mi?

böyle bir , hata yaparsam kafamın yanacağını falan söylüyor. Bu yüzden soruyorum.
Kimden tavsiye aldigina dikkat et.

Hangi dille basladiginin bir onemi yok. Onemli olan programlama ogrenmen. C++'in tum tips and trickslerini ogrenmeye kalkarsan zorlanirsin. Template-metaprogramming konseptlerine daha programlama bilmezken girersen kafan yanar. Ancak bu dille alakali bir sorun olmaz. Senin temel matematigi atlayip dogrudan integral cozmeye calistigin anlamina gelir.

Temel konseptleri, programlama becerilerini ogrenerek baslarsan C++'in temel mantigi o kadar zor degil. Zor kisimlar template isin icine dahil olunca baslar sadece.

Ben C++ ile basladim.
 
Kimden tavsiye aldigina dikkat et.

Hangi dille basladiginin bir onemi yok. Onemli olan programlama ogrenmen. C++'in tum tips and trickslerini ogrenmeye kalkarsan zorlanirsin. Template-metaprogramming konseptlerine daha programlama bilmezken girersen kafan yanar. Ancak bu dille alakali bir sorun olmaz. Senin temel matematigi atlayip dogrudan integral cozmeye calistigin anlamina gelir.

Temel konseptleri, programlama becerilerini ogrenerek baslarsan C++'in temel mantigi o kadar zor degil. Zor kisimlar template isin icine dahil olunca baslar sadece.

Ben C++ ile basladim.
Şimdi, hazırlıkta bazı arkadaşlarla tanıştım. Onlar, "Kanka, oyun geliştirme alanında gelişelim, şöyle şöyle yapalım" dediler. Ben de "Yaparız, neden olmasın?" dedim. Ancak bu yolda hangi programları daha iyi öğrenmemiz gerektiğini tam olarak bilmiyoruz. Bu işlerle uğraşan bir abiye sormuştuk, o da "C++'a hemen bulaşmayın, önce Python gibi dillerle temel oluşturun, yoksa kafanız yanar" dedi.


Bize yol gösterebilir misin? Sizce neler yapmalıyız? Siz nasıl başladınız? Başladığınızda nelere dikkat ettiniz ve nerelerden kurs almaya başladınız? (Bilgisayar mühendisliği hazırlık okuyorum.)
 
Bu işlerle uğraşan bir abiye sormuştuk, o da "C++'a hemen bulaşmayın, önce Python gibi dillerle temel oluşturun, yoksa kafanız yanar" dedi.
"Bu islerle ugrasan bir abi" olarak bende diyorum ki, takilmayin dillere. Temel programlama ogrenmeniz lazim ve bunu da hangi dilde yaptiginiz onemli degil. Kafan rahat edecekse otur Python ile basla, sonra don C++'a. Temel programlama konseptlerini adam gibi ogrendikten sonra fark etmiyor.
Siz nasıl başladınız? Başladığınızda nelere dikkat ettiniz ve nerelerden kurs almaya başladınız? (Bilgisayar mühendisliği hazırlık okuyorum.)
Ben C++ ile basladim. Okula geldigimde programlama bilgim basit hesap makinelerinden ve dandirik konsol uygulamalarindan oteye gecmiyordu. Okuldan haricen bir kurs almadim.

Okuldaki derslerin sirasina dikkat ettim ve derslere calistim sadece. Bol bol pratik yaptim bu surecte.

Ilk olarak mantik ogrendim. Mantik kurmayi ogrendim desem daha dogru olur. Sonra bize sirasiyla programlama nedir ne degildiri ogrettiler. Daha bir dil gormeden programlamayla alakali temel konsept ve kavramlari ogrenmistim coktan okulda.

Programlama nedir, ne degildir, bilgisayarlar programi nasil anlar, algoritma/program akisi, bellek nedir, heap ve stack nedir, farklari ne. Sonrasinda basit kaba kod programlar yazmaya basladik. Ayni akis semasi gibi ama yaziyla gibi dusun. Bunu genelde C syntaxiyla yaziyorduk cunku hocamiz oyle gostermisti. Bu asamadan sonra bir dile gecmistik. Bu asamadan sonra az cok kod okuyabiliyor ve bir seylerin ne yaptigini anlayabiliyordum.

C ve C++ kullanma iznimiz vardi, ben C++'i tercih etmistim. (Daha fazla modern ozelligi oldugu icin tercih ettim o zaman.) Data structures and algorithms dersine geldigimizde mantik kurma becerimizi ilerletirken artik dil bagimsiz yeteneklerimizi de gelistirmeye baslamistik fakat yaptiklarimizi gorebilmek adina bir dil kullanarak programlama yapiyorduk. Tabii ki C yada C++ ile yapiyorduk ayri mesele. Temel veri yapilari ve algoritmalar ile bol bol pratik yapmis olduk. Sonrasinda alan spesifik programlamaya gectik. Internet programlama, image processing, compture graphics, yapay zeka ve makine ogrenmesi, systems level programming alanlarina giris yaptik.

Bu kadar seyi anlatmamin arkasindaki sebep; bu yeteneklerin hic biri dil spesifik yetenekler degil farkindaysan. Bunlar diller arasi aktarilabilir yetenekler. Dil bahsetmiyorum derslerin hic birinde. Cunku dil degistirsem bile ben bu mantigi hala kurabilecegim. Dilin kendi ozelliklerini kullanmak icin dokumanindan yararlanmam yeterli. Dilin syntaxina alismak icin de bir iki gun basit seyler yapmam yetiyor. Sonrasinda dokumani kullanarak bir seyleri nasil yapacagimi ogrenebilirim.

C++'in gercekten zor olan iki yani var, biri devasa kutuphanesini kullanmayi ogrenmek. C++'ta ne yapmak istiyorsan kesin standart libraryde ona karsilik gelecek bir sey vardir. Neredeyse garanti. Bulmak biraz zor. Digeri template programlama. Templatelerde kendi basina cok zor degilde, git gide okumasi ve takip etmesi zorlasabiliyor cunku asiri soyut bir sistem. Ama senin ilk asamlarda zaten bu soyut sistemle cok isin olmayacak. O yuzden diyorum ki, baslangic icin C++ kullanman yada kullanmaman fark etmiyor baslangicta.

Cok uzun bi yazi oldu. Uzun yazdikca sacmaladigim oluyor bazen. Kafani karistiran bir sey olursa sormaktan cekinme.
 
"Bu islerle ugrasan bir abi" olarak bende diyorum ki, takilmayin dillere. Temel programlama ogrenmeniz lazim ve bunu da hangi dilde yaptiginiz onemli degil. Kafan rahat edecekse otur Python ile basla, sonra don C++'a. Temel programlama konseptlerini adam gibi ogrendikten sonra fark etmiyor.

Ben C++ ile basladim. Okula geldigimde programlama bilgim basit hesap makinelerinden ve dandirik konsol uygulamalarindan oteye gecmiyordu. Okuldan haricen bir kurs almadim.

Okuldaki derslerin sirasina dikkat ettim ve derslere calistim sadece. Bol bol pratik yaptim bu surecte.

Ilk olarak mantik ogrendim. Mantik kurmayi ogrendim desem daha dogru olur. Sonra bize sirasiyla programlama nedir ne degildiri ogrettiler. Daha bir dil gormeden programlamayla alakali temel konsept ve kavramlari ogrenmistim coktan okulda.

Programlama nedir, ne degildir, bilgisayarlar programi nasil anlar, algoritma/program akisi, bellek nedir, heap ve stack nedir, farklari ne. Sonrasinda basit kaba kod programlar yazmaya basladik. Ayni akis semasi gibi ama yaziyla gibi dusun. Bunu genelde C syntaxiyla yaziyorduk cunku hocamiz oyle gostermisti. Bu asamadan sonra bir dile gecmistik. Bu asamadan sonra az cok kod okuyabiliyor ve bir seylerin ne yaptigini anlayabiliyordum.

C ve C++ kullanma iznimiz vardi, ben C++'i tercih etmistim. (Daha fazla modern ozelligi oldugu icin tercih ettim o zaman.) Data structures and algorithms dersine geldigimizde mantik kurma becerimizi ilerletirken artik dil bagimsiz yeteneklerimizi de gelistirmeye baslamistik fakat yaptiklarimizi gorebilmek adina bir dil kullanarak programlama yapiyorduk. Tabii ki C yada C++ ile yapiyorduk ayri mesele. Temel veri yapilari ve algoritmalar ile bol bol pratik yapmis olduk. Sonrasinda alan spesifik programlamaya gectik. Internet programlama, image processing, compture graphics, yapay zeka ve makine ogrenmesi, systems level programming alanlarina giris yaptik.

Bu kadar seyi anlatmamin arkasindaki sebep; bu yeteneklerin hic biri dil spesifik yetenekler degil farkindaysan. Bunlar diller arasi aktarilabilir yetenekler. Dil bahsetmiyorum derslerin hic birinde. Cunku dil degistirsem bile ben bu mantigi hala kurabilecegim. Dilin kendi ozelliklerini kullanmak icin dokumanindan yararlanmam yeterli. Dilin syntaxina alismak icin de bir iki gun basit seyler yapmam yetiyor. Sonrasinda dokumani kullanarak bir seyleri nasil yapacagimi ogrenebilirim.

C++'in gercekten zor olan iki yani var, biri devasa kutuphanesini kullanmayi ogrenmek. C++'ta ne yapmak istiyorsan kesin standart libraryde ona karsilik gelecek bir sey vardir. Neredeyse garanti. Bulmak biraz zor. Digeri template programlama. Templatelerde kendi basina cok zor degilde, git gide okumasi ve takip etmesi zorlasabiliyor cunku asiri soyut bir sistem. Ama senin ilk asamlarda zaten bu soyut sistemle cok isin olmayacak. O yuzden diyorum ki, baslangic icin C++ kullanman yada kullanmaman fark etmiyor baslangicta.

Cok uzun bi yazi oldu. Uzun yazdikca sacmaladigim oluyor bazen. Kafani karistiran bir sey olursa sormaktan cekinme.
Başta çok sağ ol hocam, cevapladığın ve yardım ettiğin için❤️❤️. Bu arada uzun olmuş ama bayağı yararlı oldu. Bir sorum daha var: Tüm bunları yaptıktan sonra, öğrendiğin her şeyi birleştirip uygulamak ne kadar sürdü? Her şeyi öğrenmek ve uygulamak uzun sürdü mü?
 

Technopat Haberler

Geri
Yukarı