زبان های برنامه نویسی ابزارند

زبان‏ های برنامه‏ نویسی فقط ابزار هستند، نه بیشتر

مراقب باشید ابزارها را به هویت خود گره نزنید

زبان های برنامه نویسی ابزارند نه بیشتر. یکی از چالش‏‌های مهم شغل برنامه نویسی (و بصورت کلّی مشاغل مرتبط با فناوری، که امروزه بسیاری از مشاغل را در برمی‌‏گیرد)، یادگیری مستمر است. یک برنامه نویس باید یادگیرنده سریعی باشد. این چیزی است که در مصاحبه‏‌های استخدامی نیز مهم است. بسیاری از کارفرمایان به دنبال برنامه نویسانی هستند که سرعت یادگیری بالایی داشته باشند.

در این میان، بعضی افراد به جای شروع یادگیری برنامه نویسی، همواره به دنبال پیدا کردن بهترین زبان برنامه نویسی هستند. در حالی که بهتر است بپرسیم: “بهترین برای چه هدفی؟”. 

به نظر می‏‌رسد نگاه صرفاً ابزاری به زبان‏ های برنامه نویسی، برای حل این مسئله کمک مؤثری باشد. مقاله “آن‏ها تنها ابزار هستند” به خوبی به این موضوع پرداخته است. زبان‏ های برنامه نویسی، سیستم‏‌های عامل، محیط‏‌های توسعه نرم ‏افزار، متدولوژی‏‌ها و … تنها ابزار هستند. به عنوان یک فرد حرفه‌ای، باید درباره ابزارهای مختلف مطالعه کرد، آن‏‌ها را آزمایش کرد و جعبه ابزار خود را گسترش داد.

نباید خود را به عنوان برنامه نویس VB یا ++C معرفی کنیم، بلکه باید بگوییم که “برنامه نویس هستم”. گفتن اینکه برنامه‏ نویس VB یا ++C هستم، درست مانند این است که یک نجّار خودش را بجای مهارتش، با وسایل کارش معرفی کند و بگوید: “من یک چکش کار هستم” یا “من یک ارّه کار هستم”. چکش و ارّه، بخشی از وسایل داخل جعبه ابزار نجّار هستند، نه سازنده هویت او.

لذا در آکادمی یاسان، تلاش می‌‏شود تا اعضای آکادمی علاوه بر کسب تخصّص و تسلّط بر جزئیات و مهارت به کارگیری آن‏‌ها، دید کلان نسبت به مفاهیم و موضوعاتی مانند تفکر رایانشی داشته باشند. در این صورت در کنار دانش به کارگیری ابزارها، وابسته به ابزارهایی که دائماً در حال تغییر هستند نخواهند بود.

این نگاه ابزاری (و نه بیش از ابزار) به زبان برنامه نویسی را می‌‏توان در مورد پروژه‏‌های درسی در بعضی از مؤسسات آموزشی و دانشگاه‌‏های مطرح دنیا مشاهده نمود. برای مثال در اینجا می‏‌توان مشاهده نمود که فراگیر، قرار است یکی از این زبان‏‌ها را برای درس زبان‏ های برنامه سازی انتخاب نموده باشد و با آن زبان، یکی از پروژه‏‌های مطرح شده را انتخاب نموده و انجام دهد: 

Piet، Chef، C Sharp، Swift، Kotlin، rust، go، Haskell، Clojure، Ruby، Lua، Ada، Fortran.

خروج از نسخه موبایل