C/C++ C ile nasıl profesyonel olurum?

Hocam ben C diline hiç girişmedim C# ile uğraştım acemiyim çok gelişmiş profesyonel değilim benim düşüncem böyle halada öyle düşünüyorum.
İstediğinizi düşünmekte özgürsünüz. Ancak ben bir Ferrari F40 1987'ye binmeden altımdaki FIAT EGEA ile F40'a eski ve kötü derken görülmek istemezdim. En azından yapabilirsem gider F40'a binerdim ki yorumum objektif olsun. Özellikle araba satın almak isteyen birine yol gösterirken.
 
Hocam ben C diline hiç girişmedim C# ile uğraştım acemiyim çok gelişmiş profesyonel değilim benim düşüncem böyle halada öyle düşünüyorum.
C diline hiç girişmeden C dili hakkında fikrin var, Python'da hiç web framework kullanmadın yine fikrin var... Ama asıl sorun fikrin olması değil bunu aşırı bir özgüvenle adeta gerçeklermiş gibi dile getirmen. Dillerin amaç değil araç olduğunu bilmeden fikir sunuyorsun ve aşırı bi özgüvenle yapıyorsun bunu. Anlam veremiyorum.

C ve C# farklı amaçlar için kullanılan farklı tool/araçlar.
 
Cezam vardı kusura bakmayın.Şu olayı bir kenara bırakalım bence.Ondan önce C öğrenmelimiyim.42 İstanbula gitmeyi düşünüyorum o yüzden C öğreniyorum.Yani öğrenmek bana katkı sağlarmı.Tabi iyi bildiğimde sağlar ama uzun vadede en az kullanacağım dil olma vb. ihtimali varmıdır.
 
Gerçekten de bu dillerin kıyaslanmasını gerektirecek bir ortam yok. Ancak mesele "çok harika işler" yapmaksa. Etrafınıza bakıp bu harika bir işmiş dediğiniz projenin tabanından genellikle C/C++ ailesi çıkar.

"Şu uçağa bak çok güzel" -> Flight controller'ı C ile yazıldı.
"Araba kendi kendini mi sürüyor?" -> Görüntü işlemesi Python ile yazıldı, e bir dakika konumuz C/C++ değil miydi? E ben de onu diyorum ya:
"Python ne güzelmiş." -> C/C++ ile yazıldı.
"C# ne güzel bir şey ya..." -> C++'dan etkilendi, .NET Framework ve .NET Core C++ ile yazıldı. Compiler'ı C++ ile yazıldı hatta ismi bile buradan geliyor ([C++]++)
 
Son düzenleme:
Alana bağlı. Ne alanda çalışacaksın o önemli... Yani front end web dev olacaksan C aşırı gereksiz olur. Temelleri öğrenmek için güzel bir dil ve amacın IoT geliştiricisi olmaksa, embedded sistemler geliştireceğim ben diyorsan gayet makul bir dil veya işletim sistemi geliştiriciliği yapmak istiyorsan makul bir dil. Buna alternatif olarak Rust'ta öğrenebilirsin.

Hızlı çalışan ve gecikme olmaması gereken bir yazılım geliştirilmesi gerekiyorsa C/C++, Rust gibi diller avantajlı konumda olur. Cross platform end user uygulamaları içinse sana bazen tekerleği baştan icat ettirebilir. Dolayısıyla alana uygun dil seçimi yapmak ve buna uygun öğrenim yapmak daha uygun olacaktır.
 
Hocam gerçekten en başta ne öğrendiğinin hiçbir önemi yok. Ancak şunu söyleyeyim C öğrenmen gerçekten sana büyük katkı sağlar. Gerek programlamada çok önemli olan bellek yönetiminde, gerek temiz kod yazma ve açıksız kod yazma(Bunun ismi bu mu ya ilk defa böyle bir tabir kullandım) alışkanlıklarını kazanmada yardımcı olur. Çoğu insanın deneyimlerine göre de C'den başka bir dile geçiş her zaman daha kolay olmuştur.


Buna alternatif olarak Rust'ta öğrenebilirsin.
Rust'a geçişte C'nin çok yardımı oluyor. Gözlemle sabit.
 
C OOP olmadığı için çok harika işler yapmak zor.
C de OOP var, sadece siz nasıl uygulayacağınızı bilmiyorsunuz.

Kaynak olarak deitel yayınlarının C how to program kitabını öneririm. C kısmı başlangıç olarak gayet yeterli. Diğer soruların saçma, sormasan daha iyiymiş...
 
Peki hocam sizce C'den sonra ne öğrenmeliyim. Alanıma göre biliyorum ama şu an alanımda kararsızım.Html ve CSS biliyorum ancak JavaScript ve PHP bilmiyorum. Ama bir yandanda Unreal Engine'den oyun yapmak veya Python'dan işime yarar botlar vb yapmak istiyorum.
 
Hem lahmacun hem de pilav ustası olamazsın. Olan vardır ancak istisnalar kaideyi bozmaz. C'de ilerlerken zaten alanın aklında yavaş yavaş şekillenir. Ortamlara vs. daldıkça. Sana yukarıda attığım kursu şiddetle tavsiye ederim.
 
Hocam hem oyun yapıp hem o oyuna site yapamazmıyım. Tanıdığım çevremdeki yazılımcılar en az 2 alandalar.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…