در جامعه برنامهنویسان ابزار های زیادی وجود داره که هدفشون سادهتر کردن و سرعت بخشیدن به کار برنامهنویس هست، یکی از اصلیترین ابزار های موردنیاز برنامهنویس مکانی هست که در اون کد هاش رو بنویسه و اجرا کنه که در سادهترین حالت میشه به NotePad ویندوز اشاره کرد:
در حالت کلی کاملا به برنامهنویس و میزان راحتیش با محیط اون IDE یا TextEditor بستگی داره ولی اکثرا IDE ها و Editor ها برای یک زبان خاص کانفیگ میشن اما استفاده ازشون در زبان های دیگه مشکلی ایجاد نمیکنه به عنوان مثال من چند سالی هست که بعد از تست کردن انواع Editor ها به VSCode رسیدم(و خب IDE های مختلف رو هم تست کردم ولی آنچنان جذبشون نشدم هم به دلیل اینکه تنها یک زبان خاص رو ساپورت میکنن و هم اینکه اکثرا لایسنس دارن ) و اما بریم سراغ تفاوت IDE و Editor:
اگر تازه وارد حیطه برنامهنویسی شدین احتمالا کار با یک محیط ساده و معمولی واستون بهتر باشه به عنوان مثال اگر تازه برنامهنویسی رو با پایتون آغاز کردین بهتره چند ماهی از IDLE پایتون استفاده کنین:
که خب باعث میشه بیشتر با توابع و سینتکسش آشنا بشین، بعد از اون میتونین برین سراغ IDE ها و Text Editor های موجود، که پیشرفتهترین IDE که برای پایتون میشناسم و زمانی استفاده میکردم PyCharm هست:
به اینصورت کار شما رو تسریع میبخشن که همونطور که در تصویر میبینین داکیومنت ها رو درون خودش داره، میتونین از داخل خودش env درست کنین(اگر نمیدونین env چی هست مقالات بعدی ما رو دنبال کنید) و اون رو مدیریت کنین، اتوکامپلیت داره که میتونه فانکشن ها و variable هایی که تعریف میکنین رو واستون تکمیل کنه وقتی اولش رو مینویسین و دیباگر بیلتاین داره و میتونه یک ساختار درختی(hierarchy) رو از برنامتون نشون بده و ... و این ها به صورت از پیش تعیین شده در این نرمافزار هستن(و IDE های دیگه واسه زبان های دیگه مثل PHPStorm واسه زبان php و Eclipse که بیشتر واسه java استفاده میشه) و اما Text Editor ها، از لول پایین مثل همون notepad ویندوز که بالاتر اشاره شد شروع میشن تا VSCode و Atom و VIM و ... و همشون یک چیزی رو پیروی میکنن و اون هم اینکه Text Editorن و امکانات خاصی ندارن اما چیزی که اونا رو خاص میکنه پلاگین هاشون هست که خب بهش میرسیم تا فعلا اسکرینشات چند تا از اونها رو ببینیم:
تصویر بالا vscode هست که کد پروژه curlyModerator درون اون باز هست(کرلیمدریتور آخرین پروژه کرلیبرکت هست که یک ربات مدیریت گروه هست با قابلیت های متعدد که از این لینک میتونین وارد کانال ساپورتش بشید با vpn البته) و خب خود من همونطور که گفتم چند سالی هست که ازش استفاده میکنم و از خوبی هایی که داره میشه به این اشاره کرد که مصرف سیپییو پایینی داره و پلاگین های زیاد و متعددی داره(هم از سمت خود مایکروسافت و هم از طرف کامیونیتی) و خب محیط ساده و تمیزی داره و میتونین با نصب کردن تم ها و آیکنپک های مختلف اون رو تغییر بدین. ادیتور بعدی Atom هست:
ادیتور اتم که خب توسط تیم گیتهاب نوشته شده تا حدودی شبیه vscodeه با این تفاوت که سادهتر هست و کانکشن خیلی بهتری با github داره(که خب مشخصه دیگه چون خود گیتهاب نوشته) ولی چیزی که من تجربه کردم این هست که نسبت به VSCode رم و سیپییو بیشتری رو اشغال میکنه و خب من زمانی که روی لپتاپ قدیمیم کد میزدم با توجه به محدودیتی که داشتم از لحاظ رم و سیپییو(رم 2 و سیپییو پنتیوم) مجبور بودم مدیریت کنم همه رو و خب سیستمعاملم یک زمانی lxde بود و یک زمان i3 و خب با اتم کار میکردم که همونطور که گفتم یک کم تو کنترل منابع از VSCode ضعیفتر بود که خب همون یک کم داخل لپتاپ قدیمی من خیلی مهم بود و خب به سمت VSCode رفتم و دیگه موندگار شدم تکستادیتور بعدی sublime text هست:
میشه اون رو شبیه ++ notepad دونست ولی با این تفاوت رو ظاهر کار شده و خب خیلی از زبان ها رو به صورت بیلتاین داره و میتونین از قابلیت هایی که داره استفاده کنید که خب lightweight هست و میتونه واسه کسایی که دسکتاپ های مینیمال دوست دارن ادیتور خوبی باشه، ادیتور بعدی و نهایی vim هست:
در نهایت باید به VIM اشاره بشه که خب در سیستم های لینوکس بیشتر استفاده میشه و خب خیلی ها باهاش مشکل دارن در دفعه اولی که واردش میشن چون واسه خارج شدن ازش باید تایپ کنن q: و خب این رو نمیدونن و معمولا کسایی که بار اولشون هست در محیط سرور کار میکنن مجبور میشن سرور رو ریاستارت کنن تا خارج بشن ازش و اما قابلیت هاش، شما میتونین هر پلاگینی که میخواین رو کانفیگ کنین واسش ولی دقت داشته باشین که باید دستی کانفیگ کنین و مثل VSCode و Atom خودش پلاگینمنیجر نداره و خب ممکنه واستون دردسر ساز بشه اگه اول کار هستین و خب فکر نکنین چون تکستبیسد هست و درون ترمینال باز میشه قدرت کمی داره، خیلی از بزرگترین برنامه ها درون ویم نوشته شدن و خیلی از برنامهنویس ها ازش استفاده میکنن حتی درون همون لپتاپ که گفتم من داخل Vim کد فلاتر زدم :)
و خب IDE ها رو در حد همون نام بردن اکتفا میکنم چون هر کدوم واسه یک زبان هستن و معرفی کاملشون خیلی طول خواهد کشید(محصولات jetbrains معمولا از کیفیت خوبی برخوردارن ولی همونطور که گفتم کرکی هستن)
امیدوارم از این مقاله خوشتون اومده باشه و روز خوبی داشته باشین☘️
تهیه و تنظیم: محمد میرآب
اینستاگرام: curlybracket_ir
تلگرام: @curlybracket