برو به محتوای اصلی

چرا ابزارهایی که برنامه‌نویس‌ها تولید می‌کنن (مثل Git یا Vim) انقدر پیچیده و سخت هستن برای تازه واردها؟ یا بهتر بگم، چرا ما برنامه‌نویس‌ها دوست داریم چیزهای پیچیده بسازیم؟

۴

من کجام؟ اینجا کجاست؟

در جوابکو می‌تونید در مورد هر موضوعی سوال کنید، به سوالای بقیه جواب بدید و تجربتون رو به اشتراک بگذارید!

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

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

البته اینم باید اضافه کنم که ابزارهای تجاری بسیاری هست که به نسبت مواردی که گفتی خیلی خیلی ساده‌تر هستن و همه امکانات مورد نیاز روی به راحت‌ترین شکل ممکن در اختیار برنامه‌نویس‌ها قرار میدن، ولی خوب رایگان یا حتی اوپن سورس نیستن.

۱۴
میلاد معافی ، توسعه‌دهنده جاوا

برای قسمت اول سوال به نظرم  مستندات ابزارها به خوبی مطالعه نمیشه. دلیل اول میتونه عدم آشنایی فرد با زبان انگلیسی باشه یا اینکه درست متوجه جملات نمیشه. دلیل دوم کم‌کاری و عدم رغبت برای یادگیری موضوع جدید میتونه باشه. دلیل سوم این هست که آیا واقعا و به طور حتم فرد میخواد که از این ابزارها استفاده کنه یا اینکه صرفا شنیده ابزار با وجهه مثبت تو جامعه کاریش هست و همه ازش دارن صحبت میکنن، اونم واسه اینکه این کمبود رو جبران کنه میره سراغ خوندن اجمالی منابع. دلیل چهارم بر میگرده به اینکه تازه وارد هنوز به اون سطح نرسیده که درک کنه چرا ابزاری مثل Git برای کارش نیاز هست.

برای قسمت دوم سوال؛ ما برنامه‌نویس‌ها واقعا دوست نداریم که محصولات یا ابزارهای پیچیده درست کنیم. ذهن ما برای ارائه یک راهکار، راه‌های پیچیده رو رفته، حلاجی کرده، تصمیم گرفته، مسئله رو حل کرده و اون رو ساخته، بنابراین بعد از حل از دید خودش یک مسئله ساده و پیش پا افتاده‌اس و فکر میکنه همه اون فرآیند رو مثل خودش راحت درک میکنن. فارغ از اینکه آیا واقعا راه رسیدن به جواب همونی بوده که باید میرفته؟ 

۱۱

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

۱۱
میثم پورگنجی ، برنامه‌نویس در تیم یسنا

این ابزارها به نظر من پیچیده نیستن و برعکس خیلی هم ساده‌‌اند! برای اثبات ادعام، دو مورد رو مقایسه می‌کنم.

  • شما گیت ندارید و می‌خواید یک فایل رو که تغییر دادید به حالت قبل از تغییر برگردونید. چیکار می‌کنید؟ وقتی گیت دارید میدونید که می‌خواهید از این استیج خارج شید و به استیج قبل اون برگردید. راه تغییر مکان هم برای گیت روشنه که checkout هست.
  • شما از یک IDE گرافیکی استفاده می‌کنید، میخواید یک تابع رو بازنویسی کنید. برای حذف بدنه‌ی داخل بلاک تابع طبیعتا یک بار کلیک می‌کنید. در ابتدای بلاک، کلیک رو نگه می‌دارید تا انتهای بلاک، کلیک رو رها می‌کنید و دکمه‌ی پاک کردن رو می‌زنید. برای همین کار داخل ویم می‌زنید `di}`. جدا از آسون بودن کار، منطق هم روشنه: حذف کن (d) داخلِ (i) کروشه (}) رو.

در مورد خودم من وقتی بجای یاد گرفتن منطق پشت کار، سعی کردم خود ابزار رو یاد بگیرم، همیشه کار برام سخت بوده. شاید علت این هم بتونه باشه که به منطقی که برنامه‌نویس برای خودش چیده کسی کاری نداره، در حالیکه کیه که ندونه که برنامه‌نویس‌ها بجای حافظه بافر دارن و توان (حس و حال؟) حفظ کردن ندارن و ترجیح میدن یه منطق باشه که همیشه کار کنه!

۸

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

۷
ایمان آل طه ، مدیر فنی adpulse.ir - بنیان گذار facebax.com , softmac.ir

رسالت و هدف برنامه‌نویسان ساده کردن کارهاست! و اینکه کارها رو پیچیده و سخت میکنن یکم که نه خیلی غیر منطقی به نظر میرسه!

ابزارهایی که نام بردید بسیار ساده هستند. این که دوستان وقتی برای مطالعه و یادگیری نمیگذارند رو نمیشه پای پیچیده کار کردن برنامه‌نویس‌ها گذاشت. هر کاری سختی‌های خودش رو داره. سالار جان خود شما یکی از قدیمی‌های کامینویتی برنامه‌نویس‌های ایرانید و جز موفق‌ها! اگر مطالعه و تلاش رو نداشتی آیا به این نقطه می‌رسیدی؟ 

همانطور که برنامه‌نویسی برای دوستان غیربرنامه‌نویس و تازه‌کار ممکن است سخت باشه، کارهای دیگه‌ای هم هست که برای ما برنامه‌نویسان خیلی سخت به نظر بیاد ولی با تلاش و مطالعه هرکاری ممکن میشه و تا حد زیادی آسون. 

امیدوارم منظورم رو تونسته باشم برسونم.

۷
علیرضا رضوی ، توسعه‌دهنده وب و موبایل

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

۷
نبی ، برنامه نویس

سوالت اشتباهه! چون اصلاً پیچیده نیستند :-D

۲

آمار سوال

۱۵۲ نمایش
۴ دنبال‌کننده
سال گذشته پرسیده شده
آمار بازدید در این ماه

سوال رو به اشتراک بگذار