کدنویسی شامل چیزهای زیادی میشود: آزاردهنده، چالش برانگیز، سرگرم کننده، قدرتمند، و ..
(من قبلاً در این مورد وبلاگ نویسی کرده ام.) رایانه ها کارفرمایان بی رحم و بی بخشش هستند. فرقی نمیکند که فکر میکنید درست انجام دادهاید: اگر خطای کوچکی مرتکب شدهاید – در سطح یک نقطه نقطهگذاری – کامپیوتر همان جا مینشیند، از همکاری امتناع میکند، ناخنهایش را با خونسردی میکند، یا شاید ارائه پیام های خطا به اندازه اعلامیه های دلفیک اوراکل غیرقابل درک باشد. هنگام برنامه نویسی، بسیار آسان است که احساس کنید یک احمق کامل هستید و شروع به فحش دادن با صدای بلند کنید.
شروع به فحش دادن در کد نیز آسان است. به نظر می رسد، همانطور که تحقیقات نشان داده است، برنامه نویسان بسیاری از کلمات دشنام دهنده را دقیقاً در کد خود قرار می دهند. و جالبتر اینکه برخی از آن فحش دادن در واقع ممکن است مفید باشد.
اجازه دهید این مطب را باز کنیم!
اولین باری که متوجه شدم برنامه نویسان چند وقت یکبار فحش و ناسزا را در کد خود وارد می کنند، در اوایل دهه 2010 بود. این زمانی بود که توسعه دهنده اندرو ووس تصمیم گرفت به «پیام های تعهد» در GitHub نگاه کند.
یک پیام commit به این صورت عمل می کند: زمانی که برنامه نویسان یک کار را تمام می کنند و آن را در GitHub آپلود می کنند، معمولاً یک توضیح متنی کوتاه از کاری که انجام داده اند اضافه می کنند.
ووس 1 میلیون پیام ارتکاب را تجزیه و تحلیل کرد و دریافت که اغلب حاوی کلمات نفرین است. گاهی اوقات توسعه دهندگان از بی کفایتی خود اذیت می شدند و به خود فحش می دادند. گاهی اوقات آنها از کار زشت دیگران که مجبور به اصلاح آنها بودند عصبانی بودند. و گاهی اوقات آنها فقط سعی می کردند بامزه باشند.
نمونه ای از این موارد را نگاه کنیم
Vos همچنین متوجه شد که زبانهای برنامهنویسی که بیشترین کلمات نفرینکننده را داشتند C++ بودند و بعد از آن Ruby و JavaScript قرار گرفتند. (که تا حدی من را متعجب کرد:
C++ معروف است، بنابراین منطقی است؛ و جاوا اسکریپت می تواند یک کابوس باشد، که من از تجربه شخصی هق هق می دانم. اما Ruby یک زبان بسیار سرگرم کننده در نظر گرفته می شود، پس چه کسی می داند؟)
اما جالبتر این است که فحش به کد ممکن است با کیفیت کد مرتبط باشد.
اوایل امسال، یان استرهمل – دانشجوی کارشناسی در موسسه فناوری کارلسروهه – مقاله جذابی را به صورت آنلاین منتشر کرد. او 3800 قطعه کد C را از GitHub تجزیه و تحلیل کرد که حاوی یک کلمه ناسزا بود،
در جایی واقعاً در داخل کد: شاید متغیری از کلمه نفرینی استفاده کرده باشد (مانند “itsBullshit”)، یا شاید در یک نظر کد (مانند “// omg this) است. لعنتی”).
سپس 7600 قطعه کد C جمع آوری کرد که هیچ کلمه فحشی در آنها وجود نداشت.
در نهایت، او با استفاده از نرم افزاری به نام SoftWipe، کیفیت آن کدها را تجزیه و تحلیل کرد. (به دنبال عناصری می گردد که کدهای با کیفیت بالاتر مانند ساختار واضح را پیشنهاد می کنند.)
کدی که حاوی کلمات ناسزا بود کمی بیشتر از کدهایی که هیچ کلمه فحشی نداشت امتیاز بیشتری کسب کرد. به طور دقیق، در مقیاس ده درجه ای، کد با کلمات فحش به طور میانگین نمره 5.87، در حالی که کد بدون دارای میانگین 5.41 بود.
چرا کد با کلمات فحش و ناسزا دقیقاً کیفیت بالاتری دارد؟ خوب، همانطور که سایما سیدیک در Ars Technica اشاره کرد، فحش دادن می تواند به افراد در تسکین درد و افزایش عملکرد فیزیکی کمک کند. بنابراین ممکن است به مدیریت ناامیدی و درد وجودی کدنویسی کمک کند، به نحوی که عملکرد را بهبود بخشد؟
سیدیک با بنجامین برگن، روانشناس و نویسنده کتاب What the F: What Swearing Reveals about Our Language, مغز و خودمان صحبت کرد…
برگن این فرضیه را مطرح کرد که برنامه نویسانی که فحش می دهند ممکن است از نظر عاطفی بیشتر از کسانی که این کار را انجام نمی دهند درگیر کار خود باشند، که می تواند آنها را به تولید محصولات با کیفیت بالاتر سوق دهد. از طرف دیگر، برنامه نویسان ممکن است برای سرگرم کردن یا شوکه کردن افرادی که کد آنها را می خوانند، فحاشی کنند – و اگر انتظار دارند کد آنها خوانده شود، ممکن است تلاش بیشتری برای آن انجام دهند. برگن گفت، احتمالاً دشنام دادن «نشانهای از اتفاق عمیقتری است» و او مایل است که کار آینده را بر علت اصلی انجمن متمرکز کند.
مهندس نرم افزار، گرگ ویلسون، که اکنون در شرکت بیوتکنولوژی Deep Genomics کار می کند، از دیدن شخصیت کدنویس ها که از طریق انتخاب کلمات وارد کارشان می شوند، تعجب نمی کند. ویلسون سازمانی به نام The Carpentries را تأسیس کرد که به دانشمندان می آموزد که کدنویسان خوبی شوند و می گوید: “من کسی را نمی شناسم که در هر کاری مهارت داشته باشد و خودش را کنار بگذارد.”
هه. من، می گویم احتمالا نه. اولاً، مطالعه استرهمل همبستگی است، نه علی. ممکن است برنامه نویسانی که کار خوب انجام می دهند، احتمال بیشتری دارد که فحش دادن را در کد خود بگنجانند. افزایش لعن و نفرین خود ممکن است نرم افزار شما را در جهت بهتری کج نکند.
مهمتر از آن، پرتاب کردن بمب های اف به اطراف ممکن است حرکتی نسبتاً تهاجمی به سمت سایر کدنویس هایی باشد که کد شما را می خوانند. اگر به این ضرب المثل اعتقاد داشته باشیم (مانند من) که کد در درجه اول برای افراد دیگر نوشته شده است (یعنی افراد بیچاره ای که سال ها بعد کد شما را حفظ می کنند) و در درجه دوم برای رایانه، آنگاه ما وظیفه داریم که کد را به وضوح بنویسیم، و شاید هوشمندانه، اما به شیوه ای که کمترین احتمال را دارد که دیگران را خاموش کند.
من، شخصاً کلمات نفرین در کد را خنده دار می دانم. اما دیگران این کار را نخواهند کرد——از جمله، احتمالاً، مدیر شما. اهم گفته شد، رمز بیان انسان است! بنابراین احتمالاً برای همیشه تمام جنبههای بیان انسان را شامل میشود، حتی جنبههای بد دهان.
نه کامپیوتر پدرگربه آن را تغییر خواهد داد.