Python dili programcıları tembelleştiriyor mu?

Bir satır kod yazıp yavaşlığını çekeceğime, dört satır kod yazıp performansının keyfini çıkarmayı yeğlerim.
Elbette daha azıyla daha fazlası çok daha iyi ama yüksek seviye programlamanın ciddi performans kayıplarına yol açtığı bir gerçek. Atıyorum milyonlarca mesajı işleyen Discord sunucularında yüksek seviye programlama kullanamayız. İşletim sistemlerinde kullanamayız, Windows 10'dan itibaren yüksek seviye programlama Windows içerisinde kullanıldığından beri ciddi sorunlar ve hantal işletim sistemleriyle karşılaşıyoruz.
 
Hocam bu aslında direkt olarak "teknolojinin hayatımızda yaptığımız işleri bizim yerimize yapması bizi tembelleştiriyor mu?" sorusuna çok benziyor, yazılım hakkında çok bir bilgim yoktur ama genel itibarıyla bir fikrimi sunmak isterim sizin de izninizle. Bir eylemi kolaylaştırmak önceki zor halinden biraz daha az efor gerektireceği için iş çabuk biter ve sonunda fazladan bir zaman kalır, önemli olan o zamanı başka şeylere yorabilmektir. Yorulursa yazılım alanında gelişmeler daha hızlı gerçekleşebilir, eğer yorulmazsa tabii ki de bu boş zamanda insanın kafası boşluğa düşer ve az da olsa tembelleşme gerçekleşir. Sizin düşünceleriniz nedir?
-
-
-
Ben @Cruslan hocamın anlatışına bırakıyorum sözü...
Sağlamayacak. Yüksek seviye programlama dilleri ile geliştirilen oyunların rezalet optimizasyona, stabil olmayan karakteristiğine dikkat çekerim.

Unity(C# kullanıyor) ile yapılan oyunlara bakın, Unreal Engine(C kullanıyor) ile yapılan oyunlara bakın. Java ve C# ile yapılan oyunlara bakın, C ve C++ ile yapılan oyunlara bakın. Aralarındaki fark çok fazla. Klişe bir örnek olacak ama Java ile geliştirilen Minecraft ile C ile geliştirilen Minecraft Bedrock Edition'a bakın.

Bunun haricinde C ve C++ ile yapılan yazılımlara bakın, C#, Python ve Java ile yazılan kodlara bakın. Python ile dört satırlık kodu tek satırda yazıyorum diyebilirsiniz ama o dört satırlık C kodu sizin bir satırlık kodunuzdan kat kat hızlı çalışır.

Yüksek seviye programlama cazip gözükse bile düşük seviye programlama birçok durumda şart. Bugün bu yüzden bozuk uygulamalar, çöken işletim sistemleri ve optimizasyonsuz oyunlar görüyoruz. Discord gibi, Whatsapp gibi, YouTube gibi, Facebook gibi büyük şirketlerin, işletim sistemleri ve askeri sistemler gibi kritik sistemlerin içerisine yüksek seviye programlama karışmamalı. Aksi taktirde yazılımların eskisi gibi çalışmadığından sürekli şikayet ederiz, üreteceğimiz kodlar dışarda üç hafta beklemiş pizza dilimi gibi olur.

Düşük seviye programlama, yüksek seviye programlamaya göre tabii ki daha zor. C gibi dillerin elbette sorunları var ancak yüksek seviyenin yarattığı performans ve stabilite kaybı görmezden gelinemeyecek kadar fazla.
 
Son düzenleme:
Unity(C# kullanıyor) ile yapılan oyunlara bakın, Unreal Engine(C kullanıyor) ile yapılan oyunlara bakın. Java ve C# ile yapılan oyunlara bakın, C ve C++ ile yapılan oyunlara bakın. Aralarındaki fark çok fazla. Klişe bir örnek olacak ama Java ile geliştirilen Minecraft ile C ile geliştirilen Minecraft Bedrock Edition'a bakın.
Fikrin geneline katilsam da C ile yapılan uygulamalar tam anlamıyla optimizeymis gibi konusmak mantıklı değil. C# ve Java gibi dillerin yavaş olmasının ve C'ye göre daha stabil olmasının sebebi bu mevzu. Aynı algoritmada C'de bellek yönetimi kötü yazılmış kodun performansı < C# yada Python yada Java'yla yazılmış kodun performansı.
 
Sağlamayacak. Yüksek seviye programlama dilleri ile geliştirilen oyunların rezalet optimizasyona, stabil olmayan karakteristiğine dikkat çekerim.

Unity(C# kullanıyor) ile yapılan oyunlara bakın, Unreal Engine(C kullanıyor) ile yapılan oyunlara bakın. Java ve C# ile yapılan oyunlara bakın, C ve C++ ile yapılan oyunlara bakın. Aralarındaki fark çok fazla. Klişe bir örnek olacak ama Java ile geliştirilen Minecraft ile C ile geliştirilen Minecraft Bedrock Edition'a bakın.

Bunun haricinde C ve C++ ile yapılan yazılımlara bakın, C#, Python ve Java ile yazılan kodlara bakın. Python ile dört satırlık kodu tek satırda yazıyorum diyebilirsiniz ama o dört satırlık C kodu sizin bir satırlık kodunuzdan kat kat hızlı çalışır.

Yüksek seviye programlama cazip gözükse bile düşük seviye programlama birçok durumda şart. Bugün bu yüzden bozuk uygulamalar, çöken işletim sistemleri ve optimizasyonsuz oyunlar görüyoruz. Discord gibi, Whatsapp gibi, YouTube gibi, Facebook gibi büyük şirketlerin, işletim sistemleri ve askeri sistemler gibi kritik sistemlerin içerisine yüksek seviye programlama karışmamalı. Aksi taktirde yazılımların eskisi gibi çalışmadığından sürekli şikayet ederiz, üreteceğimiz kodlar dışarda üç hafta beklemiş pizza dilimi gibi olur.

Düşük seviye programlama, yüksek seviye programlamaya göre tabii ki daha zor. C gibi dillerin elbette sorunları var ancak yüksek seviyenin yarattığı performans ve stabilite kaybı görmezden gelinemeyecek kadar fazla.
Hocam verdiğim örneği şöyle düşünün: Siz o tek kodluk algoritmayı deneyerek mantığını kavrayabiliyorsunuz ve bu da ileri seviye kodlamalarda işinize yarıyor.

Üstelik Python yüksek seviye programlama için değil, iki algoritma falan çalıştırmak için. Bu yüzden tembelleştirecek bir yanı olduğunu sanmam.
 
Hocam verdiğim örneği şöyle düşünün: Siz o tek kodluk algoritmayı deneyerek mantığını kavrayabiliyorsunuz ve bu da ileri seviye kodlamalarda işinize yarıyor.

Üstelik Python yüksek seviye programlama için değil, iki algoritma falan çalıştırmak için. Bu yüzden tembelleştirecek bir yanı olduğunu sanmam.
Mantığını anlamıyorsunuz ki. Integer, double ve float gibi veri tipleri kadar basit şeyleri dahi gömüyor. Aslını anlayamıyorsunuz. Daha ileri projeler yapmak istediğinizde temelden eksik kalıyorsunuz, kullandığınız Python gibi diller ihtiyaçlara cevap veremiyor.
 
Otobüs trafikte takılı kalırsa? Mektupla iletişim daha güvenli olursa? Çamaşır makinesi elde yıkamak kadar iyi değilse? Çok sığ önermeler, her ihtiyaca farklı bir yaklaşım gerekli. Her zaman en hızlı yol veya en basit yol, en iyi yol değil.
Python da yavaş çalışıyor. Ölümüne hiçbir şey kullanılmıyor. İşine aradığında kullanıyorsun. Tam olarak söylediğimi tastikliyorsunuz aslında. Acemiler ölümüne Python kullanıldığını sanıyor. Basit ve hızlı geliştirilmesi gereken işlerde, yavasligi kabul edilerek kullanılıyor.
Yoksa beyniniz ve elleriniz hizliysa C++ kullanın.


1 satır kod yazıp yavaşlığını çekeceğime 4 satır kod yazıp performansının keyfini çıkarmayı yeğlerim.
Oyle değil işte. Birkac kere calistiracaginiz bir şey olsun. 10 satırda pandas ile guzel şeyler yapabilirsiniz. Aynısını C++ ile yapmanız hem çok daha fazla (40'tan bile) satır sürecektir hem de yazmanız çok daha fazla sürecektir. Birisi 1 dakikada çalışırken diğeri 5 dakikada çalışmış olsun. 5 dakikada çalışanın kodunu 5 dakikada yazarken diğerini 1 saatte yazdıktan sonra anlamı kalmıyor.
 

Yeni konular

Geri
Yukarı