چگونه برنامه نویس شویم؟ قدم به قدم

برای اینکه یک برنامه نویس خوب شوید اول باید ببینید که آیا واقعا به این رشته علاقه دارید یا خیر!

کامپیوتر ها موجودات بسیار احمقی هستند. الان برای مثال اگر من به شما بگویم “کیک رو از توی یخچال بیار، طبقه پایینشه” شما به راحتی این کار را انجام خواهید داد. با اینکه جملاتی که من گفتم نه از نظر گرامر و نگارش درست بود و نه مفهوم را درست بیان میکردند. در واقع شما به کمک مغز میتوانید بسیاری چیزها را بدون اینکه من به شما بگویم متوجه شوید.

مثلا اینکه:

  • یخچال کجاست؟
  • در یخچال رو چیجوری باز کنم؟
  • برای رسیدن به یخچال از کدوم مسیر برم؟
  • آیا اول باید از جام پاشم؟
  • قدم هام رو چیجوری بردارم؟
  • طبقه پایین یخچال میشه طبقه چندم از کجا؟
  • کیک کجای طبقه پایین یخچاله؟
  • اصلا کیک چیه؟

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

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

  • قاعده شرط
  • قاعده حلقه
  • قاعده ترتیب

با این سه قابلیت ما میتوانیم چیزهای فوق العاده ای را بسازیم که امروز به عنوان نرم افزار در حال استفاده از آنها هستیم. (تقریبا تمام تمدن بشری بر روی نرم افزار ها بنا شده است) بنابراین شما اول باید الگوریتم و مفهوم فلوچارت را درست درک کنید. الگوریتم نویسی هنر استفاده از این سه قابلیت برای حل مسائل پیچیده جهان واقعی است. در واقع شما باید بتوانید منطق هایی که در ذهنتان هست را به زبان کامپیوتر در بیاورید. یعنی زبان الگوریتم نویسی.

آموزش الگوریتم نویسی و فلوچارت در وبسایت فرادرس

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

البته این کدها قبل از اجرا شدن به صفر و یک تبدیل می‌شوند یا همان زبان ماشین. فعلا نیازی نیست به سمت اینکه زبان ماشین چیست بروید ولی در آینده بیشتر راجع به آن درک خواهید کرد.

سعی کنید با انجام الگوریتم نویسی ببینید واقعا به برنامه نویسی کامپیوتر علاقه دارید یا نه! اگر از این کار راضی بودید و حس خوبی داشتید بعد الگوریتم ها را به کد تبدیل کنید و از آنجا به بعد کار راحت خواهد شد و میتوانید یک حرفه را انتخاب کنید:

مثلا:

  • ایجاد صفحات وب
  • برنامه نویسی سرور
  • برنامه نویسی سیستمی
  • برنامه نویسی هوش مصنوعی
  • برنامه نویسی آندروید
  • برنامه نویسی آی او اس
  • برنامه نویسی ویندوز یا کامپیوتر شخصی
  • برنامه نویسی توکار (embedded)
  • برنامه نویسی بازی های کامپیوتری (روی موتور بازی سازی)
  • و …

برای یاد گرفتن هر کدام از اینها، آنقدر مطلب و ویدیوی آموزشی رایگان و بعضا غیر رایگان در اینترنت هست که نیازی به هیچ کتاب و یا معلم خاصی ندارید! (به هیچ عنوان سمت کلاس نروید!). به دلیل اینکه همه چیز در اینترنت موجود است! اصلا یکی از هنر های یک برنامه نویس خوب این است که با جستجو در اینترنت آن چیزی را که نمیداند یاد بگیرد. البته از هوش مصنوعی مثل chat gpt هم میتوانید برای سوالات بنیادی یا جزئیتان کمک بگیرید.

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

آن روز هست که تقریبا میتوانید سینه خود را سپر کنید و بگویید: من نه فقط یک برنامه نویس بلکه یک برنامه نویس حرفه ای هستم.

من سعی کردم صریح و بدون مقدمه چینی کل مسیر را به شما نشان دهم. خود من دقیقا همین مراحل را طی کردم بدون هیچ کم و کاستی! البته شوق نوشتن کد از همان ابتدا درونم بود. شوق به کار انداختن ماشین هایی که با تعدادی سیگنال الکتریکی میتوانند هر چیزی را خلق کنند!

حالا یک سوال بزرگ: آیا برای یادگیری برنامه نویسی نیاز به مدرک دارید؟ آیا نیاز دارید دانش آکادمیک راجع به کامپیوتر کسب کنید؟

پاسخ به این سوال کمی چالش برانگیز است.

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

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

بنابراین شما دو راه دارید. یا برای یادگیری علوم کامپیوتر به دانشگاه بروید و مدرک لیسانس بگیرید. و یا اینکه خودتان در کنار یادگیری برنامه نویسی، یادگیری علوم کامپیوتر را هم در دست اقدام بگذارید. مثلا ساختار یک cpu ساده را یاد بگیرید. ساختاری که حافظه تصادفی یا RAM از آن استفاده میکند و … .

به طور کلی نه علوم کامپیوتر به تنهایی کافیست و نه صرفا تکنیک های برنامه نویسی میتواند شما را به یک مهندس نرم افزار تمام عیار تبدیل کند. ترکیبی از این دو است که شما را به یک انسان مدعی در این زمینه میرساند.

در مورد نیاز به مدرک برای استخدام هم باید بگویم تقریبا تمامی شرکت های بزرگ و کوچک شرط مدرک را برای استخدام برنامه نویس و مهندس نرم افزار حذف کرده اند و مشکلی از این نظر نخواهید داشت.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *