Python mu C# mı öğrenilmeli?

Python syntaxının kolay olması, dilin kendisinin giriş seviyesi olmasını sağlamaz. Syntaxı düz ingilizce mi? Evet. Bunda bir sıkıntı yok. Fakat syntax her şey değil, dilin zorluğunu da tek başına belirleyen etken değil. Dilin kuralları, izin verdiği ve vermediği şeyler ve bir ton etken var.


Ee? Stringi üç kere bitiştirmenin tek yolu bu değil ki? Ayrıca bazen bu istenmeyen sonuçlara sebep oluyor.

Böyle bir şey en başından söz konusu değil. Rust'la bile sıfırdan programlamaya başlanılabilir. Dilin syntaxı programlama öğrenmeyi zorlaştırmaz. Programlama yapmak syntax kullanmaktan ibaret değil...

Python'da function overloading bulunmuyor. Fakat undefined behaviour olarak override yapıyor. Bunu biliyor muydun? Çünkü python tüm fonksiyonlara, değişkenlere, sınıflara sanki bir değişkenmiş gibi davranıyor ve onların üzerinde yapılan değişiklikleri runtime da tutuyor. Yanlış yapmanın aşırı kolay olduğu bir dil kısaca.

Eki Görüntüle 2055018

Google Chrome ağırlıklı olarak C ve C++ kullanılarak yazıldı. Fakat çeşitli parçalarında Python, JS vb şeylerde var. Fakat core C ve C++. IO limited olmayan durumlarda Python'ın yavaşlığı hissedilir olacağı için python yerine C ve C++ low level diller tercih ediliyor. Yavaş yavaş Rust'a doğru adım da atılıyor.

Gelelim hangi dille başlanması gerektiği konusuna. Dilin bir önemi yok. Programlamanın altındaki temeli, mantığı kavradıktan sonra hangi dille başlamışsın hiç bir önemi yok. Dillerin kendi kuralları ve yapabilecekleri / yapamayacakları şeyler var. Bu sebeple istediğimiz şey dil değil, programlama öğrenmek olmalı.

Programlamayı da JS, Rust, C/C++, Python vs fark etmeksizin tüm genel amaçlı programlama dillerinde öğrenebilirsin.


Google farklı, Google Chrome farklı. Google search engine, Google Chrome web browser. İkisi de uygulama ayrıca.
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.
 
"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 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.
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.
 
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.
Hocam diller kolay bence ama karar vermesi zor gibi. Python eledim C#, C ve C++ kaldı :D
 
İ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.
 
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.
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.
 

Technopat Haberler

Yeni mesajlar

Geri
Yukarı