یه راست بریم سراغ اصل مطلب، برای شروع برنامهنویسی به چه ابزارهایی نیاز داریم؟
خیلیها به اشتباه فکر میکنن برای اینکه برنامهنویس بشن، حتما باید یه سری ویژگیهای خفن، یا یه سیستم خیلی قوی داشته باشن تا بتونن کارشون رو شروع کنن.
اول، بذارید ۵ تا از برداشتهای غلط عموم رو بهتون بگم:
واسه برنامهنویسی باید مخ ریاضی باشم!
عموم اکثرا رابطهی کامپیوتر با ریاضی رو اشتباه میگیرن، چون به نظرم فقط دنبال یه جواب آره یا نه هستن، در حالی که در واقعیت جواب بیشتر شبیه به بستگی داره به… هست تا صرفا آره یا نه.
ما به عنوان برنامهنویس وقتمون رو با نوشتن کد میگذرونیم، نه حل کردن فرمولهای ریاضی. در واقع به عنوان یه برنامهنویس، دانش ما الزاما رابطهی مستقیم با دانش ریاضیاتمون نداره.
البته منظور من رو اشتباه متوجه نشید! ما همچنان به دانش پایه جبر نیاز داریم، البته خیلی پایه و خب محدود به جبر، مثلا حل مسئله و طراحی الگوریتم.
البته خب اگر وارد شاخههایی مثل دانشداده یا هوشمصنوعی بخوایم بشیم، قاعدتا نیاز بیشتری به ریاضی هست. اما برای برنامهنویسی وبسایت و وباپ، و ساخت محصولات کاربردی که اصطلاحا نیچمارکتشون عموم مردم باشه، نیاز به ریاضیات سطحبالا کمتر میشه.
باید یه نابغه باشم!
برای برنامهنویس شدن، نیازی نیست آیکیو بالاتر از ۱۵۰ داشته باشیم! برنامهنویسی به فاکتورهای بیولوژیکی ارتباطی نداره، بلکه به علاقه مربوط میشه.
من خودم شخصا یه نابغه نیستم، تا الان نزدیک به ۹ سال تجربهی برنامهنویسی دارم، و برنامهنویسی میکنم چون ترسی از اشتباه کردن و تکرار کردن این اشتباهات ندارم، و از اشتباهاتم یاد میگیرم، که این در واقع اساس برنامهنویسیه!
باید مدرک دانشگاهی داشته باشم!
نمیتونم با این قضیه ۱۰۰٪ مخالفت کنم، اما واقعا نمیتونم کاملا موافقش هم باشم.به نظرم اینا همش بستگی به این داره که فرد هدفش از برنامهنویسی چیه؟ صرفا برنامهنویسی؟ یعنی خود حرفهی برنامهنویسی؟ و یا مهندسی نرمافزار؟
در حقیقت ورود به دانشگاه به شخص یه دید عمیقتر نسبت به مفاهیم برنامهنویسی میده، اما الزاما ازش یه برنامهنویس نمیسازه.
یه واقعیت (تلخ) دیگه هم هست، اینکه شرکتهای بزرگ اکثرا دنبال مدرک دانشگاهی هستن. اما اگر شما برنامتون اینه که تو شرکتهای کوچیک باشید، یا حتی کسبوکار خودتون رو شروع کنید، به احتمال قوی نیازی به مدرک ندارید.
واسه برنامهنویس شدن فقط چند هفته کافیه!
جدا این رو باور نکنید! حقیقت رو بذارید بهتون بگم: کانالهای اینستاگرامی، یوتیوبی و غیره، هیچکس رو برنامهنویس نمیکنن! و فقط شما با رفتن سمت اونها، پول توی جیبشون میریزید و به خودتون یه انگیزهی کاذب میدید!
خیلی جوونها بودن که فکر میکردن تو چند هفته میتونن شروع کنن و بازی جیتیای رو از اول بسازن!
واقعیت اینه: شما میتونید چند هفته بذارید تا برنامهنوشتن رو یاد بگیرید، اما برای اینکه واقعا یه برنامهنویس بشید، به چند تا چندین سال زمان نیاز دارید، درست مثل نقاشی کشیدن، برنامهنویسی به زمان، صبر و حوصله نیاز داره و چیزهایی که خصوصا اون اوایل میسازید، تقریبا هیچ کاربردی بعدا نخواهند داشت.
اما اگر حوصله کنید، آروم و ثابت قدم بردارید، و بدونید که برای یه برنامهنویس خوب شدن باید شکست بخورید و از شکست نترسید! قطعا میتونید یه برنامهنویس خوب بشید!
من باید همهی کدها رو حفظ کنم و از کسی کمک نگیرم!
این اولین و بزرگترین اشتباه تازهکارهاست! و این درست همونچیزیه که ما تو برنامهی آکادمی لُ روش تمرکز میکنیم، اینکه بچهها از همون روز اول سوال بپرسن و از هم کمک بگیرن! سرچ کنن و یافتههاشون رو با هم به اشتراک بذارن و خصوصا تحت هیچ شرایطی چیزی رو حفظ نکنن.
برای همین هم گوگل، استکاورفلو و یه عالمه ابزار دیگه وجود دارن که خیلی ساده بهتون کمک کنن!
چه سختافزاری برای شروع نیاز دارم؟
برای این یه تیکه، ترجیح دادم یه سری به دیجیکالا بزنم ببینم چه سیستمهایی توی ایران راحت پیدا میشن. اما چندتا نکته:
- برای شروع اصلا نیازی به یه سوپرکامپیوتر ندارید!
- تفاوت زیادی بین سیستمعاملهای مک، ویندوز و توزیعهای لینوکسی نیست و هرچیزی که راحت هستید رو انتخاب کنید.
حالا، من برای شروع توی سایت، رفتم و چند سختافزار رو فیلتر کردم:
- پردازندهی اینتل، ایامدی و اپل
- اندازهی صفحه نمایش ۱۴.۱ اینچ به بالا
- نوع حافظهداخلی اساسدی
- ظرفیت رم، ۱۶ گیگ
بعد در نهایت با قیمیت مرتبسازی کردم و ارزونترین لپتاپی که پیدا شد (سرم از قیمیتها سوت کشید!) لپ تاپ 15.6 اینچی اچپی مدل EF2126WM-A بود.
اما موردی که مهمه، اینه که حتما پردازندهای داشته باشید تا بتونید چیزی در حدود ۱۰گیگاهرتز سرعت بهتون بده (مثلا ۴تا هستهی ۲.۵ گیگاهرتزی). این دیگه حداقل سیستم هست. و رم ۱۶ گیگ بسیار مهمه.
چه نرمافزارهایی رو لازمه نصب کنم؟
بحث مهم اینه که با چه زبانی میخواید شروع کنید؟ زبانهای برنامهنویسی کاربردهای مختلف دارن و اکثرا براشون نرمافزارهای بخصوصی وجود داره. اما چندتا از اصلیترین نرمافزارهایی که حتما باید نصب داشته باشید رو میگم:
ویاسکد
یه نرمافزار ویرایشمتن هست که بسیار میتونه قدرتمند عمل کنه. برای شروع نرمافزار خوبیه و میشه تا مدتها ازش به سادگی استفاده کرد.
این نرمافزار رو میتونید از وبسایت رسمی خودشون دانلود کنید.
گیتهاب دسکتاپ
گیت، یکی از بزارهای بسیار مهم برای برنامهنویسهاست که تو مطلب برنامهی برنامهنویسی، فاز اول بخش دوم، کامل در موردش توضیح دادم٫خواهم داد.
این نرمافزار رو میتونید از اینجا دانلود کنید.
WSL برای ویندوز
من خودم شخصا فن توزیعهای لینوکسی هستم، و معتقدم که ترمینال لینوکس، یکی از قدرتمندترین ابزارهای دست یه برنامهنویسه. قسمت خوب قضیه اینه که ویندوز هم این سیستم رو داخل خودش اضافه کرده و این امکان رو میده که بشه به خوبی از قدرت لینوکس تو ویندوز استفاده کرد. البته، اگر لینوکس دارید یا مک، نیازی به نصب این سیستم نیست!
مراحل نصب این سیستم اینجا به خوبی توضیح داده شده.
Node
از اونجا که تمرکز خود من رو آموزش نُد و جاوااسکریپته، پس نیاز دارید که اگر مطالب من رو دنبال میکنید، این پلتفرم رو روی سیستم خودتون نصب کنید.
حالا با فرض اینکه شما WSL دارید، مراحل نصب نُد خیلی ساده، دنبالروی از روی مراحل نصبش روی سیستمعاملهای لینوکسیه.
اینجا خیلی ساده مراحل نصبش توضیح داده شدن.
مرورگر Google Chrome یا Firefox
که بعید میدونم همین الان هم نصبشون نداشته باشید. اما از اونجا که برای برنامهنویسی وب، به یه مرورگر و Developer Toolsاش نیاز دارید، این دو مرورگر بهترین گزینههای شما هستن. انتخاب به عهدهی خودتون هست.
دانلود گوگل کروم از این لینک، و دانلود فایرفاکس از این لینک.
خب، هر آنچه که تا اینجا فکر میکردم رو نوشتم. بازم اگر موردی به ذهنم برسه، حتما اینجا رو آپدیت میکنم.
موفق باشید.