برای شروع برنامه نویسی به چی احتیاج داریم؟

برای کوهنوردی کفش مخصوص، برای موتور سواری یک موتور خوب و برای چتر بازی هم یه چتر گرون قیمت احتیاج دارید. برنامه نویسی چطور؟Photo by Brad Barmore on Unsplashبرنامه نویسی هم مثل کار های دیگه که اشاره کردم یک کار تفریحی میتونه باشه یا یک کار تخصصی و پر خرج. این به شما بستگی داره که به اینکار چطور نگاه کنید. یک حرفه و شغل برای گذروندن زندگی یا یک کار تفریحی و عشقی؟من به شما میگم که به چی احتیاج دارید.کامپیوترصد البته که به کامپیوتر احتیاج دارید، ولی یک کامپیوتر خیلی قوی و گرون یا یک چیز معمولی؟ خب به این بستگی به این داره که چه کاری میخواید انجام بدید. تقریبا با هر کامپیوتری میشه هر کاری رو انجام داد ولی برای بعضی تخصص ها مثل یادگیری ماشین و‌ هوش مصنوعی بهتره یک سیستم با GPU قوی داشته باشید. برای کار طراحی و توسعه وب خیلی فرقی نداره و کمترین مشخصات سیستم هم کار شما رو انجام میده ولی توصیه من اینه که یک صفحه نمایش با کیفیت عالی برای اینکار تهیه کنید(رتینا و یا 2K یا حداقل فول اچ-دی رزولوشن های خوبی هستند). اینطوری طرح ها رو با کیفیت بهتری میبینید و چشمتون هم کمتر خسته میشه.به نظر من مک بوک بهترین ابزار برای برنامه نویسیه - این نظر کاملا شخصیهبرای طراحی و توسعه بازی، یک سیستم‌ قوی احتیاج دارید، حافظه RAM بالا و CPU قدرتمند میتونه سرعت کار شما رو حسابی بالا ببره.برای برنامه نویسی موبایل، اگر روی سیستم عامل iOS میخواید کار کنید متاسفانه برای اینکه بهترین نتیجه رو ‌بگیرید احتیاج به سیستم عامل مک دارید که طبیعتا روی Macbook باید دنبالش باشید تا بتونید از برنامه Xcode استفاده کنید. البته بدون مک هم میشه کار رو انجام داد ولی خب.... تجربه جالبی‌ نیست. البته با مک میتونید برای هر سیستم عاملی برنامه بنویسید. برای برنامه نویسی روی Android محدودیتی وجود نداره و میتونید از هر سیستم و سیستم عاملی استفاده کنید.برای شاخه های دیگه برنامه نویسی واقعا فرقی‌ نداره و‌ با کمترین سیستم ها هم‌ میتونید کار رو جلو ببرید. نکته اینجاست که ما حداقل ها رو در نظر می‌گیریم وگرنه هر چقدر بودجه شما بیشتر، سیستم بهتر، سرعت کار بیشتر و راحتی بیشتر.ابزار توسعههمونطور که نجار برای انجام دادن کارش به اره و چکش احتیاج داره، برنامه نویس هم برای انجام دادن کارش به ابزار های برنامه نویسی احتیاج داره.چکش و اره برای برنامه نویس همون ادیتور (Editor) یا IDE هست. جایی که بتونیم روش کد بنویسیم. این ابزار ها برای ما کد ها رو Highlight میکنن و به ما اجازه میدن راحت تر کد ها رو بخونیم، سرچ کردن توی کد، پریدن بین کد های برنامه، Bookmark کردن و خیلی کار های دیگه رو برای ما ساده تر و سریع تر میکنن.تفاوت مهمی که Editor ها و IDE ها دارند اینه که ادیتور ها منابع خیلی کمتری از سیستم مصرف میکنند و در نتیجه شاید سرعت کد نویسی شما سریع تر بشه البته منظور از سرعت صرفا سرعت لود شدن برنامه و باز شدن فایل ها و نبودن امکانات اضافی و دست و پا گیر هست. معمولا هم رایگان هستند که دردسر فعالسازی رو ندارند و عملا وقتی از شما بابت اون تلف نمیشه.ادیتور محبوب من - VSCodeاز طرف دیگه IDE ها عموما نرم افزار های Feature rich (پر از امکانات؟! فارسیش رو نمیدونم) هستند که معمولا هم رایگان نیستند. همه اون کار هایی که ادیتور ها انجام میدن رو با IDE ها دارید، به علاوه چند تا قابلیت جذاب دیگه که مثل Code refactoring, Debugging...محیط PhpStormموضوع مهم دیگه اینه که برای بعضی زبان ها و تکنولوژی های خاص، ادیتور های خاصی هم توسعه پیدا کردند که کار کردن با اونها، به کار ما خیلی سرعت میبخشه. مثلا اگر با PHP و مخصوصا فریمورک Laravel کار میکنید PhpStorm بهترین گزینه است یا اگر با پایتون کد میزنید میتونید از Pycharm استفاده کنید.بعضی پلتفرم ها هم مثل iOS شما رو مجبور به استفاده از ابزار خودشون میکنند.اگر تو شاخه طراحی و توسعه وب باشید ابزار دیگه ای که حتما بهش احتیاج دارید مرورگر ها هستند. هم برای دیدن نتیجه کار و دیباگ و پروفایلینگ و شبیه سازی و...محیط کارمعمولا این موضوع رو خیلی جدی نمی گیریم، ولی واقعا یکی از مهم ترین چیز هایی که موقع کار باید بهش توجه کنیم میز و صندلی و به طور کلی Setup ای هست که میخوایم اونجا کار کنیم.صندلی باید کفی راحتی داشته باشه و یا ترجیحا از پد برای پوشش دادن کمر و باسن خودتون استفاده کنید. اینطوری آسیب های احتمالی به ستون فقرات رو به حداقل میرسونید. به مدل نشستن تون اهمیت ویژه ای بدید.ارتفاع میز باید اندازه مناسبی باشه، من خوشم نمیاد از اعداد و شکل های عجیب غریب ولی چیزی باشه که روش احساس راحتی کنید. فضای کافی داشته باشه و طوری نباشه که نتونید هیچ چیز دیگه ای جز کامپیوتر و مانیتور روش قرار بدید.دکور میز رو فراموش نکنید، حتما از گلدون یا چیز های تزیینی استفاده کنید چون اگر قرار باشه مدت زیادی هر روز وقت بگذرونید باید به یه چیزی دل خوش کنید ?. البته نظرات مختلف و زیاده، مثلا یک عده اعتقاد دارند میز باید خیلی خلوت باشه که حواسشون پرت نشه. این به خودتون بستگی داره، هر دو رو امتحان کنید ببینید کدوم رو بیشتر میپسندید. بودن پنجره کنار میز، وایت بورد، فوم بورد، استیکر و این چینگولک بازیا هم خیلی شاید بد نباشه البته به روحیه خودتون بستگی داره.عکس از میز کار حسانکلام آخردرسته که ابزار های کار خیلی مهم هستند اما به ابزار ها توجه نکنید! با هر چیزی که دارید شروع کنید و نم نم توسعه بدید. این مقاله هدفش بیان کردن ایده آل ها و حداقل ها بود. تصمیم گیریش با شماست. امیدوارم از کارتون لذت ببرید.من حسان هستم و شما مقاله من رو خوندید، اگر ایده ای دارید حتما توی کامنت ها بنویسید. اگر از این مقاله خوشتون اومد توجه تون رو به مقالات دیگه ام جلب میکنم: https://virgool.io/cheyab-blog/%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86-%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%DA%86%DB%8C%D9%87-ktet1yrpyayh https://virgool.io/javacup/%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D8%B1%D9%88-%D8%A7%D8%B2-%DA%A9%D8%AC%D8%A7-%D8%B4%D8%B1%D9%88%D8%B9-%DA%A9%D9%86%DB%8C%D9%85-yyewiq6fcmnf