کدام مهم‌تر است؛ دانش حل مسئله یا دانستن زبان برنامه نویسی؟


دانش حل مسئله مهم‌تر است یا مهارت در برنامه نویسی؟ این پرسش از سال‌ها قبل مطرح شد و هنوز هم یک چالش مهم و عمده به حساب می‌آید. می‌توان گفت حل مسائل، عنصر مرکزی در علوم کامپیوتر است. برنامه نویسان باید در ابتدا بفهمند که یک فرد، مسئله را چطور حل می‌کند و سپس بدانند که چطور این «الگوریتم» را به چیزی تبدیل کنند که کامپیوتر بفهمد و در نهایت چطور یک syntax خاص بنویسند. گاهی اوقات، روند حل مسئله توسط ماشین کاملاً متفاوت با انسان است.

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

شاید دلیل آن باشد که اکثر کتاب های برنامه نویسی می خواهند افراد را به ابزار مجهز کنند نه به ذهنیت (mindset). کتاب های برنامه نویسی، چیزی مثل راهنمای تعمیر خودرو هستند. آنها به شما می گویند که چطور خودروی خود را تعمیر کنید اما آنها به شما نمی گویند که چطور از نقطه A به نقطه B بروید.

حال باید در مورد دانش زبان برنامه نویسی صحبت کنیم. یک زبان برنامه نویسی، زبان کامپیوتری است که برنامه نویسان از آن استفاده می‌کنند تا برنامه های نرم افزاری، اسکریپت ها و یا سایر دستورات را برای کامپیوترها بنویسند و اجرا کنند. به محض آنکه یک برنامه نویس، rule, syntax, structure زبان را یاد می گیرد، می تواند source code را در یک ویرایشگر متنی یا IDE بنویسد. سپس برنامه نویسان اغلب کد را در زبان ماشین کامپایل می‌کنند که ماشین بتواند آن را متوجه شود. زبان های اسکریپتی به کامپایلر نیاز ندارند و از مفسر برای اجرای اسکریپت استفاده می‌کنند.

چرا دانش در مورد زبان‌های برنامه نویسی مهم است؟

هر زبان برنامه نویسی، مزایای خاص خود را دارد.

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

بعد از آنکه دانش خوبی در مورد زبان های برنامه نویسی بدست آوردید، کارهای زیر را انجام دهید.

1-متد یادگیری خود را بهبود دهید

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

2-در debugging مهارت کسب کنید

دیباگینگ بخش جدایی ناپذیر برنامه نویسی است. زمانی که یک برنامه نویس در مفاهیم پایه اشتباه می کند باید وقت زیادی را صرف تلاش برای رفع باگ‌ها کند. به همین دلیل است که تکنیک های دیباگینگ مانند divide and conquer  بسیار مهم است.

3-کد سایر developer ها را بخوانید

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

4-کدهای خوانا بنویسید

به گفته ماریت فالر «هر نادانی می تواند کدی بنویسد که کامپیوتر متوجه شود. برنامه نویسان خوب کدی می نویسند که انسان ها متوجه شوند».

یک برنامه نوس خوب باید کدی بنویسد که خوانا و قابل درک باشد به گونه ای که

  • به شما کمک کند که کد را به راحتی دیباگ کنید
  • به سایر توسعه دهندگان این امکان را می دهد که کد شما را بدون تلاش زیاد متوجه شوند.

5-روی پروژه ها کار کنید

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

6-اشتیاق داشته باشید

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

اما از دو مورد زیر اجتناب کنید

  1. تا حد ممکن سعی نکنید تعداد زیادی  زبان های برنامه نویسی یاد بگیرید
  2. تا زمانی که مطمئن نشدید فریم ورک های جدید پاسخگوی نیازهای شما نیستند، سراغ آنها نروید.

دیدگاه ها

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

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

code