استک را قورت بده

1398/02/09
معرفی بهترین سایت پرسش و پاسخ برنامه نویسی – Stack OverFlow  
Stack-(1).jpg
 
هر کس که دستی در زمینه برنامه نویسی داشته حتما نام Stack Overflow به گوشش خورده، سایتی که در سال 2008 جف اتوود و جویل اسپولسکی با هدف ایجاد یک سایت پرسش و پاسخ درباره ی حوزه ی وسیعی از مباحث برنامه نویسی و زبان های مختلف برنامه نویسی آن را پیاده سازی کردند. این سایت پاسخگوی پرسش های تعداد زیادی از برنامه نویسان از سراسر دنیاست. که خود را اینگونه معرفی میکند:
این سایت یک سایت پرسش و پاسخ برای برنامه نویسان حرفه ای و علاقه مند است، استفاده از این سایت صد درصد رایگان است، بدون نیاز به ثبت نام
010-(1).jpg

سایت Stack Overflow دارای قابلیت OpenID است بدین صورت که بدون نیاز به ثبت نام می توانید در آن عضو شوید، یعنی اگر شما در گوگل، یاهو و ... عضو باشید در واقع در این سایت هم عضو هستید، فقط کافیست که وارد سایت شوید.

یکی از قابلیت های جالب سایت، امکان تایید کردن جواب، رأی دادن و کامنت گذاشتن برای جواب هاست. اگر شما به سوالی
پاسخ دهید یا ویرایش کنید و دیگران پاسخ شما را تایید کنند، در آن صورت شما امتیاز می گیرید و اگر امتیازات شما به حد معینی برسد می توانید با آنها مدال برنز، نقره و طلا بگیرید، گرفتن اینگونه مدال ها بسیار حائز اهمیت می باشد، چرا که هم در پروفایلتان ثبت می شود و هم در مواقعی که میخواهید از طریق این سایت به دنبال کار باشید کارفرما می تواند امتیازات و مدال های شما را ببیند.
سایت های مشابه مانند Server Fault  به سایت خواهر Stack overflow معروف است. البته این سایت پرسش و پاسخ های خود را در زمینه ی شبکه ارائه میدهد.

چه کسانی به Stack Overflow احتیاج پیدا می کنند؟

بدون شک مراجعان به این سایت، طیف بزرگی از مردم را شامل میشوند، اما به طور کلی دو دسته بندی عمده وجود دارد:
  1. کسانی که به دنبال یادگیری، آموزش و بدست آوردن جوابهایی هستند که  آنها را از بن بست های برنامه نویسی نجات می دهد.
  2.  کسانی که بر اثر گذشت زمان، سینتکس ها را فراموش کرده اند و به جای مرور کردن منابع آموزشی، به دنبال راهی سریعتر برای بدست آوردن جواب هایشان هستند.

فراموشی سینتکس ها

احتمالا جملات زیر را خیلی شنیده اید:
  1. باورم نمیشود که این برنامه را من نوشته ام، هیچ چیز آن یادم نمی آید.
  2. این سومین زبانی است که آن را فراموش کرده ام، نگران این هستم که فراموشی گرفته باشم.
  3. مفاهیم را درک میکنم اما سینتکس ها را به کلی فراموش کرده ام.
  4. برنامه نویسی خیلی بی رحم است.
  5. سینتکس های جاوا را به اشتباه در سی شارپ به کار بردم، امروز آبرویم رفت.
یکی از مهمترین دغدغه های برنامه نویسان، فراموشی زبان برنامه نویسی و سینتکس آن می باشد. این پدیده بسیار عادی است و به طور میانگین اگر شش ماه الی یک سال از زبان برنامه نویسی خاصی استفاده نکنیم آن را فراموش خواهیم کرد. بهترین های این حوزه پیشنهاد می کنند که به جای یادگیری سینتکس، مفهوم را یاد بگیریم و درک کنیم، این کار باعث می شود تا انعطاف پذیری قابل قبولی در مواجهه با یادگیری یک زبان جدید را داشته باشیم. در دنیای تکنولوژی و خصوصا برنامه نویسی به دلیل تغییرات فراوان زبان ها، تکنولوژی و ظهور زبان های جدید، حفظ کردن سینتکس ها کاری عبث بوده و تنها وقت شما را تلف می کند.
در چنین مواقعی Stack OverFlow به کمک می آید، با یک جستجوی ساده می توانیم به قسمت مورد نظر برسیم و جواب مسئله مان را در آن بیابیم. حتی مشاهده شده که برای حل یک مسئله ی خاص چندین راه حل مختلف پیشنهاد شده که تمامی درست می باشند. این شما هستید که با توجه به پروژه و نیازتان باید از بهترین پاسخ استفاده کنید.

راه های بدست اوردن شهرت Reputation در سایت
 
  1. اولین کسی باشید که به سوالات جدید پاسخ می دهید.  در صفحه ی اصلی سایت می توان جدید ترین سوالات بی پاسخ را مشاهده کرد.
  2. به جای پاسخ های سطحی و متنی، سعی کنید مشکل سوال کننده را به صورت قطعه کد برطرف کنید. پاسخ های متنی به سختی امتیاز میگیرند.
  3. در پروفایل خود می توانید لیست علاقه مندی ها و لیست سیاه خود را تنظیم کنید. مثلا می توانید در لیست علاقه مندی ها css ، html ، javascript را وارد کنید تا سوالاتی از این دست را بهتر ببینید.
  4. می توانید به سوالاتی که حداکثر سه تا جواب هم دارند پاسخ دهید، استفاده از پاسخ های قبلی به شما زمان و ایده ی کافی می دهد تا پاسخی کامل تر و بهینه تر ارائه دهید.
  5. زمان درست ویرایش کردن پاسخ را یاد بگیرید. ابتدا یک پاسخ کوتاه بدهید و سپس کمتر از پنج دقیقه فرصت دارید تا آن را ویرایش کنید.
  6. فروتن و منصف باشید. به پاسخ هایی که فکر میکنید صحیح هستند رأی بدهید. دنیای برنامه نویسی پر از نخبگان و افرادی است که بسیار قوی تر و متخصص تر از شما هستند، پاسخ های شما نباید به گونه ای باشد که اشتباه باشد یا خطای سینتکس داشته باشد، در این صورت نمره ی منفی میگیرید و تمام بافته هایتان پنبه خواهد شد.
  7. اگر سوالی را دیدید که قبلا به آن پاسخ داده شده و یا در سایت مرجعی مانند docs.microsoft.com جواب آن وجود دارد، در پاسخ به آن سوال، لینک آن صفحات را قرار دهید. این کار بسیار مفید و هوشمندانه است.
 
طرز پرسیدن سوال
 
  1. سعی کنید تا آنجایی که می توانید سوالاتی عاری از هر گونه اشتباه انگلیسی اعم از املایی و نگارشی مطرح کنید.
  2.  سوالاتتان نه خیلی کوتاه باشد و نه طولانی. فرض کنید که شما در حال پرسیدن سوال از یک همکار هستید که سرش شلوغ است.
  3. قبل از پرسیدن سوال ابتدا همان سوال را جستجو کنید، بسیاری از سوالاتی که در ذهن شماست قبلا به ذهن دیگران خطور کرده، پرسیده و جواب گرفته اند.
  4. اگر نمیدانید چگونه سوالاتتان را جستجو کنید می توانید از اواسط متن سوال تایپ کنید، در خیلی از مواقع با استفاده از این روش سریعتر به خواسته ی خود می رسید.
  5. قبل از آن که قطعه کد خود را بنویسید ابتدا به صورت واضح مشکل خود را بیان کنید.
  6. اگر قطعه کد شما جزء چندین دسته بندی است، سعی کنید نام آنها را تگ کنید.
  7. در صورتی که به سوال شما پاسخی داده شد سعی کنید بازخوردی نشان دهید.

چند نمونه از سوالات خوب و بد
 
  • Bad: C# Math Confusion
  • Good: Why does using float instead of int give me different results when all of my inputs are integers
  • Bad: php session doubt
  • Good: How can I redirect users to different pages based on session data in PHP
  • Bad: android if else problems
  • Good: Why does str == "value" evaluate to false when str is set to value


گزارش سالیانه

طبق گزارش بررسی سالیانه ی سایت Stack OverFlow، هر ماه تقریبا 50 میلیون بازدید از سایت با هدف رسیدن به جواب، آموزش ویا به اشتراک گذاشتن دانش صورت میگیرد، 21 میلیون بازدید از این تعداد مربوط به برنامه نویسان حرفه ای و محصلین دانشگاه ها می باشد.

پراکندگی نوع توسعه دهندگان

نمودار زیر پراکندگی نوع پاسخ دهندگان را نشان می دهد. این اطلاعات از پروفایل آنها استخراج شده است.
001.jpg
 
برنامه نویسی به عنوان سرگرمی و نه حرفه

بسیاری از پاسخ دهندگانی که در نظرسنجی شرکت کرده اند، برنامه نویسی را چیزی غیر از حرفه ی اصلی خود عنوان کرده اند و اظهار کرده اند که بیشتر به عنوان سرگرمی و نه دغدغه ی اصلی به سوالات پاسخ داده اند، البته این قاعده برای برنامه نویسانی که بچه دار شده اند یا مؤنث می باشند برقرار نیست. نمودار زیر گویای این موضوع است:
002.jpg
 
تجربه کاری

در حدود 45 درصد افرادی که آنها را به عنوان پاسخ دهندگان سایت StackOverFlow می شناسیم اذعان کرده اند که برنامه نویسی را بیش از ده سال پیش فراگرفته اند، نمودار ذیل گواه این قضیه است:
003.jpg
 
تحصیلات

یکی از موارد جالب این بررسی تحصیلات آکادمیک پاسخ دهندگان است، در حدود یک چهارم پاسخ دهندگان به سوالات دانشجویان دانشگاه ها هستند.
004.jpg
 
و بیشترین آمار پاسخ دهندگان مربوط به آن دسته از آنهاست که تحصیلاتی در سطح لیسانس دارند

005.jpg
 
جنسیت
 
در حدود 90 درصد از پاسخ دهندگان مرد هستند و زنان برنامه نویس بیشتر از ایالات متحده، کانادا  و بریتانیا هستند.

006-(1).jpg
 
پراکندگی زنان برنامه نویس بر اساس کشور
 
007.jpg
 

متداول ترین زبان برنامه نویسی در پرسش و پاسخ
 

برای هفده سال متوالی جاوا اسکریپت در صدر بیشترین تعداد سوالات مطرح شده در سایت قرار دارد، امسال زبان پایتون از جاوا پیشی گرفت و چهارمین زبان پرجستجو در سایت شده است.

008.jpg
محیط توسعه
 
نمودار زیر محبوبترین محیط های توسعه ی برنامه نویسی را نشان می دهد
 
009.jpg

 
“A language that doesn't affect the way you think about programming is not worth knowing.” 
― Alan J. Perlis

User Avatar
نویسنده : علیرضا علی رمضانی
امتیاز شما :

دیدگاه کاربران



ارسال پیام



 Security code