evet ama bu statik tipe girmez sen orda o değişkene gene istediğini verebilirsin
Evet zaten statik demedim ben de. Sadece dedim ya, hangi tiplerle işlem yaptığını bildirmek için. Statik olmayınca böyle çözümler getiriliyor diyorum. İstediğin değeri geçirebilirsin, ama orada liste geçirmelisin diye belirtildiyse o kurala uymak mantıklı olur.
anladım ama neden
bunu onun yerine altarnetif olarak yapıyorlar direk yapsalar
Bilmem Guido Van Rossum hocamıza sormak lazım
bence gelecekte yapıcaklar sonuçta python gelişen bir dil her ihtimal var
Dilin amacına, çalışma şekline aykırı.
Belki isteğe bağlı olarak böyle bir özellik getirebilirler ama dediğim gibi, dilin çalışma şekline aykırı.
neden aykırı bu…
birde bunu yaparlarsa çoğu kütüphane çalışmaz doğru değilmi
Sonuçta değişkenin tipini belirtmez isen çalışmaz fikrimi değiştirdim bence yapamazlar
Sonuçta Python modülleri sayesinde ayakta kaliyor
Java hello word programı çalışma süresi:
real 0m0,255s
user 0m0,132s
sys 0m0,029s
Python’da çalışma süresi:
real 0m0,059s
user 0m0,051s
sys 0m0,008s
Python daha kısa gibi görünüyor ancak kodlar uzadıkça değişkenlik gösterebilir.
Java’nın başlarken yavaş olduğu bilinen bir durumdur.
Anladığım kadarıyla javada basit kodlarda böyle durumlar oluyormu
Nasıl yani anlamadım?
O zaman javada mikro uygulamalar değilde makro uygulamalar mi daha hızlı oluyor
Hayır bunun kodun boyutuyla alakası yok. Bu iş tamamen algoritma ve sanal makinenin işleyişiyle alakalı.
Bu cümleden ve sizin dedikleriniz sen bunu cikardim
Ben bunu onaylamadım, sadece yavaş başlamasının bilinen bir durum olduğunu söyledim. Kod isterse tek satır isterse binlerce satır olsun Java açılışta yavaşlık gösterebilir.
Mesela fibonacci dizisini recursive hesaplayan bir program yazın. 100. sıradaki sayıyı bulması zaman alacaktır. İstediğiniz kadar optimizasyon yapın, sonuç değişmeyecektir. Basit bir kod olmasına rağmen.
Siz özellikle Java’dan mı bahsettiniz?
fmap = lambda o, *f: [q(o) for q in f]
fib_util = lambda n: fmap(fib_util(n-1), lambda i: i[1], sum) if n else (0, 1)
fib = lambda n: fib_util(n)[0]
from timeit import timeit
print("10.000 çağırmanın ortalaması:", timeit("fib(100)", globals = globals(), number = 10_000) / 10_000, "saniye.")
Evet javadan bahsediyordu ama konuyada destek verdi