Python mu C# mı öğrenilmeli?

Hocam dediğiniz gibi Rust python ve C benzeri gönümüzde gömülü sistemlerin çoğalması Rust için talep artışına neden ola bilir. Evet alternatif diller kesinlikle vardır ama hız, enerjiden kaçınmak için Rust mantıklı ola bilir.
 
Yazdıklarım arasında alay, aşağılama, iğneleme gibi negatif hiç bir şey kullanmama rağmen bu neandertalce konuşman çok trajikomik. Çok bilmenin beyinde zedelenmeye yol açtığını bilmiyordum .
"Benim robotik kodlama sertifikam var." açıklamasından ben şunu anlıyorum; "Benim bilgim bilmem şu eğitime dayanıyor, senin ki keyfine.". Bana böyle gelirsen kaale almam seni, bu şekilde konuşurum.

Python'un güzel bir API desteği var ve iyi bir dil. Rust'da öyle.
Python için kötü bir dil demedim. Sanıldığı kadar kolay bir dil değil dedim. Ek olarak programlamaya başlamak için tek bir yol yok dedim. Bu işi öğrenmenin tek yolu Python değil, en iyi yolu da değil. En iyi yol diye bir şey yok. Explicit tanımlamalar benim açımdan programlama öğrenmemi kolaylaştırmıştı mesela.
 
@TheAny Hocam merhaba.
Ben en iyi değil sadece şunu öğrenmek istiyorum Finansal yazılımlar, Oyun yazılımları ve Yapay zeka ile ilgilenmek isteyen birisi için en iyi dil hangisidir ?

Yapay zekayı şuan öğrenmek istemiyorum, Şu an sadece para kazana bileceğim ve mantıklı ciro hedefi koya bileceğim bir yazılım geliştirmek istiyorum Finansal yazılım ve Oyun yazılımları için yani iki alan için ortak bir dil olsa hangisi olurdu ?

C, C++, Rust tabi ki Java öğrenmek isterim çünkü piyasada bu dilleri bilen yok ve değerleri Pythona göre yeni yetme diye bileceğim dillere göre piyasa değeri bence daha fazla.
 
Evet sadece öylesine belirttim bende. Dediğinin dışında Python'da özellikle girdi çıktılara çok takılıyorsunuz. Biraz ileri alayım derken kodda bir sürü hata oluşuyor. Ben başta zor sanıyordum ama sonra bir baktım gayet kolaymış ama sanıldığı kadar kolayda değilmiş.
 
Ben en iyi değil sadece şunu öğrenmek istiyorum Finansal yazılımlar, Oyun yazılımları ve Yapay zeka ile ilgilenmek isteyen birisi için en iyi dil hangisidir ?
Bir kere, bir alan seç.

Yapay zeka, oyun geliştirme ve finansal yazılımlar bambaşka alanlar. Birbirlerine yakın bile değiller. Temelleri öğrenmek için hangi dili seçtiğin önemli değil. Veri yapılarını öğren, bilgisayar nasıl çalışır, ram nedir, stack nedir, heap nedir, algoritma nedir... Bir ton soru var sorman gereken. Fakat bunları sorabilmek için önce programlama nedirle başlaman lazım. Dil ikinci aşama. Unutma, diller amaç değil, amaçlarımız için kullandığımız araçlar.

Amacın oyun geliştirmek mi? Uygun aracı seç. Örneğin Unreal Engine kullanacaksın. C++ veya Unreal Engine'in Blueprint yapısını kullanman gerekecek. Yada Unity kullanacaksın. O zaman C# öğren.

Şirketlere yardımcı yazılımlar için duruma bağlı olarak, istenene bağlı olarak dil seçersin. C#, Python, JS...

Bu sebeple tek bir dil zorunluluğun yok. Hangi dili anlamak daha kolay geliyorsa temeller için, onunla uğraş. Bu daha iyi dediler diye seçme birini. Kendin araştır, kendin seç dili.
 
Python'u algoritma öğrenmek için pseudo kod gibi kullanabilirsiniz; fakat programlamaya başlamak için en iyi dil diye bir şey yok.
Hatta Python'la başlamak zararlı bile olabilir, her ne kadar kolay olsa da.

C/C++'a manuel vites, Python'a otomatik vites benzetmesi yaparım. Benzetme üzerinden ilerlemeyi düşünüyordum ama baktım ki çok iyi olmayacak.

C/C++'ı öğrenmek her ne kadar gıcık/zor olabilse de (ki kişiden kişiye değişir, eğlenceli bile gelebilir) programlamanın temellerini öğrenirsiniz çünkü dil sizi buna zorlar. Size çok kolaylık sağlamadığı için her şeyi zor yoldan yapmak zorunda kalarak resmen temelleri öğrenmek zorunda kalırsınız.

Ha, Python'ı ne zaman kullanırsınız? Temelleri C/C++ sayesinde öğrenmişsinizdir ve konfor istersiniz.

Özet olarak, yüksek seviye dillere (zorluk olarak değil, temelden uzaklık olarak; bkz. high level language) çok sıcak bakmıyorum. @TheAny gibi C'yle başlatıldığım için çok memnunum.
 
Yazılıma başlayacak birisi için en kötü tavsiye şu dili öğren demektir. Senin bu söylediğin işlerden herhangi birini yapabilmen için öncelikle programlama ve kodlama mantığını öğrenmen lazım. Diller sadece bir kural topluluğudur ve bunları zamanla ezberler gidersin. Ve dillerin çoğu birbirine benzer, genel yapılarına alıştıktan sonra herhangi birini öğrenip işine başlaman Max. 1 hafta sürer. Yine de bir dil ile başlaman gerekli tabii ve bu konuda hiçbir profesyonelin Python'u tavsiye ettiğini duymadım. Çünkü bu dil işini öğrenmiş, daha hızlı ve kolay bir şekilde yapmak isteyenler içindir, bu yüzden de kodlama dillerinin çoğu temel yapısını yansıtmaz gizlenmiştir (yüksek seviyeli bir dildir). Öte yandan C++, Java gibi diller bu temelleri çok iyi yansıtır (daha düşük seviyeli diller) bu yüzden dillerin genel mantığını anlamanı sağlar, Python gibi dillerde syntax da görmesen de onlarda bu mantıklarda çalışır.
 
Hocam diller kolay bence ama karar vermesi zor gibi. Python eledim C#, C ve C++ kaldı
 
İlk olarak alan seçmelisiniz. Alanı seçtikten sonra, o alanda yaygın ve desteği bulunan bir dil seçmelisiniz. Örneğin, backend alanında ilerleyecekseniz, elinizdeki seçenekler Java, Python, Golang, Kotlin, PHP, Cobol vs.

Backend için ufak bir araştırmadan sonra, güncel olarak görülen dillerden herhangi birinden başlayabilirsiniz. Mesela, Cobol hala bankalar tarafından aktif olarak kullansa da, legacy olarak nitelendiriliyor ve açık sistem dillerine (Java, Golang vs.) dönüştürülüyor.

Giriş seviyesi için Python önermiyorum şahsen. Java, C# gibi dilleri öneriyorum. İşin mutfağını burada öğrendikten sonra diğer dillere geçmeniz ve onları öğrenmeniz çok zamanınızı almıyor. Bir dili de tam anlamıyla öğrenmeniz gerektiğini düşünmüyorum. Temelleri öğrendikten sonra ihtiyacınız kadar bakarsınız ve kullanırsınız. Zamandan kazanmış olursunuz. Backend developer olmak için mutlaka Oracle sertifikalı Java developer olmanıza gerek yok mesela.

Ardından, alanınızı iyi kavramanız lazım. Mesela, bir backend developer olmak ve web uygulamaları geliştirmek istiyorsanız, 12 Factor App manifestosunu bilmeniz gerekir. Kubernetes, Docker bilmeniz gerekir. SQL bilmeniz gerekir. HTTP, gRPC bilmeniz gerekir. Tam anlamıyla bilmeyi veya hands on tecrübeyi kastetmiyorum, bunların olduğunu ve ne anlattıklarını bilmek gerektiğinden bahsediyorum. Kubernetes cluster'ı oluşturun demiyorum mesela.

Dil ve alan hakkında tecrübeniz arttıktan sonra diğer teknoloji ve dillere evrilmeniz çok daha kolay hale geliyor. Sonuç olarak anlatılmak istenen şey aynı, farklı diller konuşuluyor olacak sadece. Mantığını ve o çevreyi tecrübe ettikten sonra anlayabileceksiniz. Spring Boot ile web uygulaması geliştirdikten sonra, Python ile FastAPI yazabileceksiniz veya Golang ile bir Kafka Consumer/Producer yazabileceksiniz.

Sonuç olarak, seçmek istediğiniz alanı belirledikten sonra herhangi bir dili seçip başlayın. Mantığını anladığınızda gerisi gelecektir zaten.
 
Genel olarak doğru bir yorum ancak programlama mantığını öğrenen herkesin başka bir dil öğrenip işine başlaması 1 hafta sürer mevzusu kesinlikle yanlış, elinizde kalır başlayacağınız bir proje, ya da 2 kaynak kullanıp 1 birim işlem yapan verimsiz bir şey üretirsiniz. Bir de; Java high level bir dildir, python ile aynı seviyededir, C++ ise mid level kalır bu ikisinin yanında. Bu arada daha önceki bir konuda dünyanın pek çok saygın üniversitesinde bilgisayar bilimleri vb. bölümlerde, C gibi, C++ gibi Python'un da algoritma ve programlama mantığının öğretildiği ilk sınıf derslerinde başlangıç dili olarak seçildiğini söyleyebilirim, forumda eski bir konuda onları listelemiştim hatta ama şimdi bulamayacağım, programlama temelleri olarak değişkendir, inputtur, döngüdür vs. cart curt öğretmek için biçilmiş kaftan bir dildir, bu basitliğe alışan birisi programlama sadece python syntaxından ibaret diye düşünüyor ve C#, Java, Assembly vs. görünce algılayamıyorsa onun problemidir.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…