کدنویسی برای برخی از دولوپرها بیش از اینکه یک حرفه یا تخصص باشد، یک سرگرمی است! این دست دولوپرها تا آخر شب و حتی تا ساعتها پس از نیمهشب همچنان در حال کد زدن هستند و هرگز احساس خستگی نمیکنند زیرا از کاری که میکنند لذت میبرند. نیاز به توضیح نیست که بسیاری از دولوپرها وقتی به مشکلی برمیخورند، برای یافتن سولوشن (راهحل) به سایتهایی مانند Stack Overflow مراجعه میکنند و این سایت هم با رصد کردن رفتار کاربرانش، در یک بررسی بر مبنای تعداد بازید از موضوعات مختلف موجود در این سایت در ساعتهای مختلف شبانه روز، در سال ۲۰۱۶ مشخص کرد که کدام دولوپرها در چه ساعاتی از شبانه روز مشغول کد زدن هستند.
در این بررسی، بازدیدهای 250 تگ از سؤالات رایج در سایت استک اورفلو به مدت چهار هفته در ماه آگوست سال 2016 مورد بررسی قرار گرفت و منطقۀ زمانی کاربران با توجه به IP آنها مشخص شد. ماه آگوست به این دلیل انتخاب شد که این بررسی با تعطیلات ادارات و سازمانها همزمان نگردد و از سوی دیگر در بازۀ زمانی سال تحصیلی مدارس قرار نگیرد (تا دانشآموزانی که برای انجام تکالیف خود به سایتهای مختلف سر میزنند، بر این بررسی تأثیر نگذارند.) ضمناً نتایج کلی این بررسی با نتایج محدود به ایالات متحده مقایسه شد و همسانی زیادی میان این دو نتیجه مشاهده شد. حال بگذارید با این سؤال شروع کنیم که چه ساعاتی در روز کاربران از سایت Stack Overflow بازدید میکنند؟
استک اورفلو انجام کارها را برای برنامهنویسان سادهتر میکند بنابراین عجیب نیست که ترافیک این سایت در روزهای کاری هفته به اوج خود برسد. در طی روزهای کاری هفته در بین ساعات 9 صبح تا 5 بعد از ظهر، این سایت حداقل هر ساعت به تعداد ۱/۰۰۰/۰۰۰ بازدید دارد اما این در حالی است که یک اُفت بازدید نیز در ساعت 12 ظهر روزهای کاری وجود دارد که احتمالاً به این دلیل است که اغلب افراد در این ساعت مشغول صرف ناهار هستند.
نتایج این بررسی در سال ۲۰۱۶ نشان داد که در روز جمعه (که در ایالات متحده و کشورهای اروپایی روز کاری محسوب میشود)، افراد کمتری به این سایت مراجعه کردهاند و اغلب مراجعات در این روز در بعد از ظهر و عصر صورت گرفتهاند. نیاز به توضیح نیست که در تعطیلات آخر هفته نیز بازدید از این سایت محبوب دولوپرها به حداقل رسیده است (به علت اختلاف ترافیک روز جمعه نسبت به سایر روزهای کاری، در ادامۀ این بررسی تنها ترافیک روزهای دوشنبه تا پنجشنه را مد نظر قرار داده و ترافیک روز جمعه نادیده گرفته شده است.)
کدام تگها بیشتر مورد بازدید قرار گرفتهاند؟
در بخش قبل دیدیم که در چه ساعاتی از شبانه روز سؤالات مطرح شده در سایت استک اورفلو بیشتر مورد بازدید قرار گرفتهاند؛ اما آیا در مورد زبانهای برنامهنویسی مختلف نیز این الگوی زمانی صادق است؟
اجازه بدهید روند بازدیدهای روزانۀ مطالب مربوط به تعدادی زبان برنامهنویسی محبوبتر، یعنی C ،Python ،Javascript و #C، را مد نظر قرار دهیم (دقت داشته باشید که در اینجا میزان بازدیدها از هر یک از این تگها نرمالیزه شده و به درصدِ بازدید تبدیل شده است.) نتایج مقایسهٔ بین این چهار زبان، الگوهای کلی مشابهی را نشان میدهد. اما چند تفاوت عمده وجود دارد که عبارتند از:
- برنامهنویسان #C روز خود را زودتر شروع نموده و زودتر هم به آن را به پایان میرسانند؛ آنها کمتر ترجیح میدهند که بعد از ظهرها نیز با این زبان کد بزنند که شاید این موضوع به این دلیل باشد که زبان #C عمدتاً در شرکتهای نرمافزاری مالی و تجاری کاربرد دارد و این نوع شرکتها معمولاً برنامۀ کاری سفت و سختی دارند.
- برنامهنویسان C روز خود را اندکی دیرتر شروع میکنند، بعد از ظهرها نیز به برنامهنویسی با این زبان ادامه میدهند و شبها بیشتر بیدار میمانند. این الگو میتواند نشاندهندۀ محبوبیت زبان C در بین دولوپرهایی باشد که کد زدن را یک سرگرمی میدانند و وقت آزاد خود را به آن اختصاص میدهند (این امکان نیز وجود دارد که بخشی از بازدیدکنندگان مطالب دارای تگ C، دانشآموزانی باشند که تکالیف کلاسهای تابستانی خود را انجام میدهند.)
- برنامهنویسان Python و JavaScript هم چیزی مابین این دو قرار دارند؛ به عبارت دیگر، دولوپرهای این دو زبان روز خود را اندکی دیرتر از برنامهنویسان #C آغاز میکنند و برخلاف برنامهنویسان C، تمایل زیادی به کار در شب ندارند!
کدام زبانها در فاصلۀ زمانی 9 صبح تا 5 بعد از ظهر بیشتر مورد استفاده قرار میگیرند؟
نمودارهای رسمشده نشان میدهند که یکی از مهمترین ویژگیهای زبانهای مختلف میزان بازدیدی است که در طی روزهای کاری از مطالب مرتبط با آنها در سایت استک اورفلو صورت میگیرد؛ به ویژه در ساعتهای بین 9 صبح تا 5 بعد از ظهر به وقت محلی (در واقع میتوان میزان بازدید را تابعی از تعداد افرادی دانست که در این ساعات مشغول کار با آن زبان هستند.) در بین این چهار زبان محبوب که در بالا مطرح شد، زبان #C بالاترین میزان بازدید 9 تا 5 را داشته و کمترین میزان بازدید در بین این ساعات متعلق به زبان C است. برای درک بهتر این موضوع، در نمودار زیر 16 تگ دارای بالاترین میزان بازدید و 16 تگ دارای کمترین میزان بازدید در ساعات 9 صبح تا 5 بعد از ظهر روزهای کاری نشان داده شده است:
بر اساس این نمودار، تکنولوژیهای مایکروسافتی مانند SQL Server ،Excel ،VBA ،Internet Explorer و همچنین تکنولوژیهایی مانند SVN و Oracle از جمله تکنولوژیهایی هستند که در روزهای کاری در شرکتهای تجاری مورد استفاده قرار گرفتهاند. از سوی دیگر، تکنولوژیهای دیگری از جمله فریمورکهایی مانند Firebase ،Meteor و Express و همچنین ابزارهایی مانند OpenGL و Unity در روزهای غیرکاری بیشتر مورد استفاده بودهاند. تگ زبان فانکشنال Haskell بیشترین موارد بازدید در روزهای غیرکاری را به خود اختصاص داده و تنها نیمی از این بازدیدها در بین ساعت 9 صبح تا 5 بعد از ظهر صورت گرفتهاند. اجازه دهید تا صرفنظر از اینکه کدام زبان بیشترین بازدید را به خود اختصاص داده، فراوانی موارد بازدید زبانهای مختلف را مورد بررسی قرار دهیم:
همانطور که در نمودار فوق نشان داده شده است، تکنولوژیهایی مانند C# ،SQL ،SQL Server و Excel بیشترین بازدید را در ساعات کاری (ساعت 9 صبح تا 5 بعد از ظهر) داشتهاند در حالی که Android ،iOS ،Swift ،Node.JS ،C و ++C بیشترین بازدید را در خارج از ساعات کاری به خود اختصاص دادهاند.
نتایج این بررسی نشان میدهد که تکنولوژیهای مایکروسافتی (Excel ،VBA و #C) در همان اوایل صبح به حداکثر بازدید رسیده و در طول ساعات کاری همچنان جایگاه خود را حفظ میکنند؛ سپس در حدود ساعت 5 بعد از ظهر زبانهای C و ++C، تکنولوژیهای موبایلی و مخصوصاً زبان Haskell جای آنها را میگیرند.
کدام تکنولوژیها صبحها و کدامیک عصرها مورد استفاده قرار میگیرند؟
با دقت در جزئیات این بررسی درمییابیم که تقریباً در تمام تگهای مورد بررسی، میزان بازدید بعد از ظهر از میزان بازدید قبل از ظهر بیشتر است؛ البته در برخی موارد اختلاف واضحتری وجود دارد. در واقع، بازدید بین ساعات 9 تا 12 قبل از ظهر و بازدید بین ساعات 1 تا 4 بعد از ظهر به دست آمده و نرخ بازدید صبح / بعد از ظهر محاسبه شده است و این در حالی است که هرچه این نرخ به عدد 1 نزدیکتر باشد، نشاندهندۀ اختلاف کمتر میان میزان بازدید صبح و بعد از ظهر است در حالی که نرخهایی که خیلی از ۱ فاصله دارند و به ۰ نزدیکتر هستند، این موضوع را نشان میدهند که تعدادی از دولوپرها کار با آن زبان را بعد از ظهر شروع نمودهاند.
جالب است بدانید دولوپرهایی که روز کاری خود را در ساعت 9 صبح شروع میکنند، تمایل دارند تا آن را در ساعت 5 به پایان برسانند و علاقهای به کار کردن در ساعات پایانی روز و همچنین شب ندارند. در نمودار زیر سه مورد از تکنولوژیهایی که بیشترین اختلاف بازدید صبح/ بعد از ظهر را داشتند مورد بررسی قرار گرفتهاند:
در این نمودار مشاهده میشود که الگوی زمانی بازدید تگهای SVN و Haskell بر بازۀ زمانی 9 تا 5 منطبق است. SVN بیشترین ترافیک خود را در ساعات 10 تا 11 صبح داشته است در حالی که با ادامۀ روز کاری، ترافیک Haskell بالاتر رفته و تا پایان روز این میزان بازدید کموبیش ادامه داشته است. Matplotlib روند کاملاً متفاوتی را نشان میدهد و اختلاف صبح و بعد از ظهر آن بسیار زیاد بوده و عمدتاً توسط عصر کارها مورد استفاده قرار گرفته است. دولوپرهای Python و R نیز عمدتاً عصرکار هستند.
شما دولوپر کدام زبان هستید و از دید شما کدنویسی یک حرفه است یا یک سرگرمی؟ همچنین بیشتر در چه ساعاتی از شبانهروز کد میزنید و آیا الگوهای به دست آمده در این مطالعه در مورد شما نیز صادقاند؟ نظرات و دیدگاههای خود را با دیگر کاربران سکان آکادمی به اشتراک بگذارید.