در دنیای پرشتاب فناوری، ۱۳ سپتامبر (۲۲ شهریور) روزی است که به افتخار مهندسان نرمافزار و برنامهنویسان سراسر جهان نامگذاری شده است. روز برنامهنویس، فرصتی برای قدردانی از نقش حیاتی این متخصصان خلاق که دنیای دیجیتال ما را شکل میدهند، میباشد.
امسال، ما مجموعه CS50xShiraz بههمراه فینگرکدر و انجمن IT دانشگاه شیراز، این روز را با شور و هیجان خاصی جشن میگیریم. با برگزاری جشن روز جهانی برنامهنویس، قصد داریم جامعه فنی شهرمان را گرد هم آوریم تا دستاوردهای گذشته را ارج نهیم و چشماندازهای هیجانانگیز آینده را کاوش کنیم. از مبتدیان مشتاق گرفته تا متخصصان باتجربه، این رویداد فرصتی است برای یادگیری، شبکهسازی و الهام گرفتن در فضایی سرشار از نوآوری و خلاقیت.
۱۳ سپتامبر معادل ۲۲ شهریور (۱۲ سپتامبر معادل ۲۱ شهریور در سالهای کبیسه) برای تجلیل از مشارکتها و نوآوریهای برنامهنویسان و مهندسان نرمافزار که کدهای کامپیوتری را طراحی میکنند و مینویسند، روز برنامهنویس نامگذاری شده است. از آنجایی که ۲۵۶ عددی بسیار مهم در محاسبات کامپیوتری میباشد، روز برنامهنویس در ۲۵۶مین روز سال جشن گرفته میشود. علاوه بر اینکه یک بایت، واحد اساسی داده در محاسبات، از ۸ بیت تشکیل شده و میتواند ۲۵۶ مقدار متمایز را در خود ذخیره کند، این عدد بزرگترین توان ۲ بوده که کمتر از تعداد روزهای سال، یعنی ۳۶۵ روز، میباشد.
کدنویسی عمل نوشتن کد به یک زبان برنامهنویسی خاص گفته میشود که در نهایت دستورالعملهای انسانی را به زبانی که برای کامپیوتر قابلفهم است ترجمه میکند. تمرکز کدنویسی بیشتر روی سینتکس و قوانین یک زبان برنامهنویسی است و شامل وظایف کوچکتر و تخصصیتر مانند نوشتن یک تابع یا برنامه میشود. با داشتن دانش زبان برنامهنویسی موردنظر و اطلاع از سینتکس آن میتوان در یک ویرایشگر متن ساده کدنویسی کرد.
برنامهنویسی اصطلاحی گستردهتر میباشد که کل فرآیند توسعه نرمافزار یعنی نوشتن کد، طراحی کد، تست کد، دیباگ کردن کد و نگهداری از نرمافزار را در بر میگیرد. تمرکز برنامهنویسی روی حل مسئله، طراحی الگوریتم، معماری سیستم و مدیریت پروژه است. از آنجایی که برنامهنویسی کل چرخه توسعه نرمافزار را شامل میشود، نیاز به ابزارهای متفاوتی مثل IDE، دیباگرها و سیستمهای کنترل نسخه دارد تا در کنار دانش و درک عمیقی از الگوریتمها، اصول مهندسی نرمافزار و ساختمان دادهها بتوان در برنامهنویسی مؤثر عمل کرد.
زبانهای برنامهنویسی در طول سالها بهطور چشمگیری تکامل یافتهاند؛ از کد ماشین و زبان اسمبلی که بسیار تخصصی و دشوار هستند شروع شدهاند و اکنون به پایتون که سینتکس ساده و خوانایی بالایی دارد رسیدهاند. ایجاد زبانهای برنامهنویسی سطح بالا مانند FORTRAN در دهه ۱۹۵۰ یک نقطه عطف بزرگ بود که برنامهنویسی را دسترسپذیرتر و کارآمدتر کرد. دهههای ۱۹۶۰ و ۱۹۷۰ شاهد توسعه زبانهایی مانند COBOL و C بودند که قابلیتهای توسعه نرمافزار را بیشتر گسترش دادند و با ظهور برنامهنویسی شیءگرا در دهه ۱۹۸۰ با زبانهایی مانند C++ و بعداً جاوا، طراحی نرمافزار بهدلیل ترویج مدولاریت و قابلیت استفاده مجدد متحول شد. در سالهای اخیر، زبانهایی مانند پایتون و جاوا اسکریپت به دلیل سادگی و تطبیقپذیری خود محبوبیت یافتهاند و نوآوری در زمینههایی مانند توسعه وب، علم داده و هوش مصنوعی را پیش میبرند. این تکامل مداوم نشاندهنده طبیعت پویای فناوری و جستجوی مداوم برای قدرتمندتر و کاربرپسندتر کردن برنامهنویسی است.
برنامهنویسان با چالشهای متنوعی در حرفه خود مواجه میشوند که از مشکلات فنی تا موانع شخصی و حرفهای را شامل میشود.
باگ و دیباگینگ
در سال ۱۹۴۷ یک شبپره که در رلههای کامپیوتر گیر کرده بود باعث اختلال عملکرد در کامپیوتر شد. گریس هاپر، این حادثه را در دفترچه ثبت کامپیوتر مستند کرد و این اتفاق را «باگ» و رفع این خرابی را «دیباگینگ» نامید.
دیباگینگ اردک پلاستیکی
وقتی برنامهنویسان هنگام اجرا کردن کد به مشکلی بر میخورند که نمیتوانند ریشه آن را پیدا و رفع کنند، کد خود را برای یک شیء بیجان مانند اردک پلاستیکی توضیح میدهند تا بیان فرآیند کد بهصورت شفاهی به آنها کمک کند که خطاها را شناسایی کرده و کد خود را بهتر درک کنند.
تعداد زبانهای برنامهنویسی
بیش از ۷۰۰ زبان برنامهنویسی مختلف امروزه وجود دارد که هر کدام برای پاسخگویی به نیازها و وظایف خاصی در دنیای محاسبات طراحی شدهاند.
اولین ویروس کامپیوتری
اولین ویروس کامپیوتری معروف به "Creeper" در سال ۱۹۷۱ توسط برنامه خودتکثیری که برای آزمایش نظریه برنامههای خودتکثیر طراحی شده بود ایجاد شد که با آلوده کردن سیستم عامل پیام «من Creeper هستم، اگه میتونی من رو بگیر!» را روی مانیتور نمایش میداد.
برای یادگیری برنامهنویسی باید در ریاضیات خوب باشید.
با اینکه تفکر ریاضی میتواند در زمینههایی مانند علم داده و توسعه بازی کمککننده باشد، برای برنامهنویس شدن نیازی نیست که در ریاضیات عالی بود.
برای برنامهنویس شدن نیاز به مدرک دانشگاهی دارید.
بسیاری از برنامهنویسان موفق خودآموخته هستند. دورههای آنلاین، بوتکمپها، هکاتونها و پروژههای شخصی میتوانند بهاندازه آموزش رسمی ارزشمند باشند.
هوش مصنوعی جایگزین برنامهنویسان خواهد شد.
در حالی که هوش مصنوعی میتواند در انجام برخی وظایف کمک کند، همچنان نیاز به نظارت و خلاقیت انسانی دارد و وجود برنامهنویسان برای توسعه، نگهداری و بهبود سیستمهای هوش مصنوعی ضروری است.
برنامهنویسی یک فعالیت انفرادی است.
با اینکه کدنویسی میتواند به تنهایی انجام شود اما برنامهنویسان اغلب در تیمها کار میکنند، کد را به اشتراک میگذارند و در پروژههای منبع باز مشارکت میکنند.
تلاشهای بیوقفهی برنامهنویسان دستاوردهایی را بههمراه داشته است که اکنون به جزئی جداییناپذیر از زندگیمان تبدیل شدهاند.
مجموعه CS50xShiraz بههمراه فینگرکدر و انجمن IT دانشگاه شیراز، به مناسبت روز جهانی برنامهنویس جشنی برای برنامهنویسان و علاقهمندان تکنولوژی و برنامهنویسی در سالن فجر دانشگاه شیراز تدارک دیدهاند. این جشن برای تمامی برنامهنویسان اعم از فرانتاند و بکاند یا سینیور و جونیور برگزار میشود و حتی علاقهمندانی که تازه پا به حوزهی برنامهنویسی گذاشتهاند هم دعوتاند.
در این رویداد، فرصت مشارکت در حل مسائل و چالشهای برنامهنویسی، آشنایی با همکاران و دوستان جدید و بهرهمند گردیدن از تجربیات حرفهایهای حوزه برنامهنویسی فراهم شده است.
جناب آقایان نوید بارسالاری، حسین ناصری، امیر خلیلی و محمد کهکشانی در جشن روز برنامهنویس تجربیات خود از کار کردن در حوزه برنامهنویسی را به اشتراک خواهند گذاشت.
برای ثبتنام در اولین جشن روز برنامهنویس ایران به ایوند مراجعه کنید و برای اطلاع از آخرین اخبار، CS50xShiraz را با همین نام در شبکههای اجتماعی دنبال کنید.