طی دهههای گذشته بحثهای زیادی راجع به اینکه مشخصات زبانهای برنامهنویسی، به عنوان مثال تعیین نوعشان و مثلا ایستا(static) یا پویا(dynamic) بودن چه تاثیری روی روند توسعه نرمافزارها دارد. یک مقاله علمی(paper) با مطالعه ۶۰۰ پروژه در گیتهاب شامل تقریبا ۷۰ میلیون خط کد و ۳ میلیون کامیت به نتایجی در این مورد رسیدهاست.
در این پژوهش که ۷ نفر دخیل بودهاند، زمان حل یک باگ(از زمان گزارش شدن تا زمان حل) در پروژههایی که با روبی نوشته شده بودند ۴ برابر پروژههایی بوده که با گو نوشته شده بودند و ۲.۵ برابر پروژههای جاوا. همچنین مشخص شده که اندازه راهحل باگ(تعداد خطهایی از کد که راهحل اضافه،کم یا ویرایش میکند)، برای زبانهایی با تعیین نوع ایستا(statically typed) و تعیین نوع قوی(strongly typed) بیشتر بوده است.
تعداد خطهای کد که سیشارپ و جاوا ویرایش میکنند ۲.۲ برابر روبی بوده است. همچنین تعداد فایلهایی که برای حل باگ در پروژههای سیشارپ و جاوا ویرایش شدهاست ۲ برابر همین رقم برای پایتون و روبی است. برای حل باگ در پروژهها با زبانهای دارای تعیین نوع پویا مانند پایتون و روبی حدود ۴۰ درصد خطوط کمتری ویرایش شدهاند اما در عوض حدود ۶۰ درصد زمان بیشتری برای حل باگ صرف شده است.
اگر علاقهمند هستید بیشتر بدانید، خود مقاله را بخوانید.
همم، با این که متغیر های زیادی در این پارامتر ها دخیل هستن که حتی مربوط به عادات شخص برنامهنویس هم میشن ولی حس میکنم میتونه آمار تقریبی مناسبی باشه
مطمئنا پژوهش جالب و مفیدی هست اما نمیشه راحت نتیجه گرفت. مثلا توی خود مقاله هم نوشته که وضعیت جامعه یک زبان هم توی حل باگ موثره.
جالبه.