Yuqoridagi rasmda 0 dan 1 milliardgacha oddiy while loop dan foydalanib sanashni va oxirgi sonni standart yo‘l bilan konsolga chiqarishni bajargan edim. Ko‘rib turibsiz, Java Pythondan deyarli 90 marotaba tezroq bajargan. Meni ham hayron qoldirgani, u C++ dan tezroq ishlagan🤯. Endi nega bunday bo‘lganiga chuqurroq to‘xtalsak:
Python dynamically typed language. Bu degani u dastur ishlayotgan jarayonda ham o‘zgarishlar qilishi mumkin. Shuning uchun u barcha kodni birdan ishga tushira olmaydi. Java da esa boshqacha. Butun kod avval javac yordamida JVM tiliga o‘giriladi, keyin JVM uni mashina tushunadigan tilga o‘giradi. U ishga tushishdan avval 2 marta tekshiruvdan o‘tadi, bu esa imloviy xatolar bilan kod hech qachon ishga tushmasligini anglatadi.
Yana bir sabablardan biri, Python ishlashga oson bo‘lishi uchun o‘zida juda ko‘p method&funksiyalarni saqlaydi. Bu kamroq kod yozishga yordam berishi mumkin ammo dastur ishlash tezligiga ta’sir ko‘rsatadi. Java da esa teskarisi. Barcha kodni o‘zingiz yozishingiz kerak bo‘ladi. Fundamental funksiyalardan foydalangan holda. Misol uchun, Python da capitalize() funksiyasi orqali string dagi barcha so‘zni bosh harf bilan boshlanadigan qilish mumkin. Java da esa, buni qilish uchun har bir space dan keyingi belgini o‘zidan 25 kattaroq belgi bilan replace qilib chiqish kerak bo‘ladi.
Lekin kichik dasturlarda python tezroq ishlaydi, chunki kichik dastur uchun ham Java avval 2 bosqichli tekshiruvdan o‘tishi kerak bo‘ladi. Python esa shunchaki ishga tushadi va tamom.
Python dynamically typed language. Bu degani u dastur ishlayotgan jarayonda ham o‘zgarishlar qilishi mumkin. Shuning uchun u barcha kodni birdan ishga tushira olmaydi. Java da esa boshqacha. Butun kod avval javac yordamida JVM tiliga o‘giriladi, keyin JVM uni mashina tushunadigan tilga o‘giradi. U ishga tushishdan avval 2 marta tekshiruvdan o‘tadi, bu esa imloviy xatolar bilan kod hech qachon ishga tushmasligini anglatadi.
Yana bir sabablardan biri, Python ishlashga oson bo‘lishi uchun o‘zida juda ko‘p method&funksiyalarni saqlaydi. Bu kamroq kod yozishga yordam berishi mumkin ammo dastur ishlash tezligiga ta’sir ko‘rsatadi. Java da esa teskarisi. Barcha kodni o‘zingiz yozishingiz kerak bo‘ladi. Fundamental funksiyalardan foydalangan holda. Misol uchun, Python da capitalize() funksiyasi orqali string dagi barcha so‘zni bosh harf bilan boshlanadigan qilish mumkin. Java da esa, buni qilish uchun har bir space dan keyingi belgini o‘zidan 25 kattaroq belgi bilan replace qilib chiqish kerak bo‘ladi.
Lekin kichik dasturlarda python tezroq ishlaydi, chunki kichik dastur uchun ham Java avval 2 bosqichli tekshiruvdan o‘tishi kerak bo‘ladi. Python esa shunchaki ishga tushadi va tamom.