صحبت های فرید کرمی در رابطه با موضوع "چگونه یک برنامه نویس شویم ؟"
در حرفه برنامه نویسی 3 چیز بسیار مهم است که عبارتند از :
1 - علاقه و اشتیاق به این کار
2 - سه صفت صبر و حوصله ، توازع و فروتنی ، هوش و استعداد
3 - ذهنی آزاد و دور از هر گونه مسائل حاشیه ای (این نکته سوم رو بیشتر براتون شرح میدم که مثلا خود من (فرید کرمی) از 16 سالگی تا حالا در حال برنامه نویسی هستم و شاید براتون جالب باشه بعضی وقت ها از ساعت 8 صبح تا 8 شب بر روی یک مسئله کامپیوتر و برنامه نویسی کار میکنم و این در حالی است که در این مدت زمان که شاید برای شما خسته کننده باشه اما برای من (فرید کرمی) مهم نبوده و از زمان خود خارج شده ام.
از دیدگاه فرید کرمی، برای برنامهنویس شدن، نکات مهمی که باید در نظر داشته باشید شامل موارد زیر است
تسلط بر اصول اولیه برنامهنویسی: یادگیری مبانی برنامهنویسی، مانند ساختارهای داده، الگوریتمها، و مفاهیم شیءگرایی، ضروری است. این اصول پایه و اساس تمام زبانهای برنامهنویسی را تشکیل میدهند.
تمرین و تکرار مداوم: برنامهنویسی مهارتی است که با تمرین مداوم بهبود مییابد. فرید کرمی تأکید میکند که با حل مسئلههای مختلف و تمرین پروژههای کوچک و بزرگ، مهارت خود را تقویت کنید.
تجربه عملی با پروژههای واقعی: بهترین راه برای یادگیری و پیشرفت، انجام پروژههای واقعی است. از پروژههای متنباز شروع کنید یا به دنبال پروژههای کوچک شخصی باشید.
یادگیری زبانهای برنامهنویسی مختلف: فرید کرمی ممکن است پیشنهاد دهد که تنها به یک زبان برنامهنویسی اکتفا نکنید. با یادگیری زبانهای مختلف مانند Python، JavaScript، C#، و ... دامنه دید و تواناییهای خود را گسترش دهید.
آشنایی با ابزارها و فریمورکهای مدرن: ابزارها و فریمورکهایی مانند Git، Docker، React، Node.js، و غیره بخشی مهم از کار برنامهنویسان امروزی هستند. فرید کرمی به اهمیت یادگیری این ابزارها برای افزایش بهرهوری اشاره میکند.
تعامل با جامعه برنامهنویسان: فرید کرمی معتقد است که بخشی از یادگیری، ارتباط با سایر برنامهنویسان است. در گروهها، انجمنها، و کنفرانسهای برنامهنویسی شرکت کنید تا از تجربیات دیگران بهرهمند شوید.
مدیریت زمان و پروژه: یادگیری مدیریت پروژه و زمانبندی مناسب برای برنامهنویسی اهمیت دارد. این موضوع شامل استفاده از ابزارهایی مانند Jira یا Trello و بهکارگیری روشهای مدیریت پروژه نظیر اسکرام میشود.
تحقیق و بهروز ماندن: فرید کرمی اهمیت تحقیق و مطالعه مداوم را در این حوزه گوشزد میکند. دنیای برنامهنویسی همیشه در حال تغییر است؛ بنابراین، باید همواره از ترندها و فناوریهای جدید باخبر باشید.
صبوری و حل مسئله: برنامهنویسی مملو از چالشها و خطاها است. صبور بودن و توانایی حل مسئله از ویژگیهای ضروری یک برنامهنویس خوب به شمار میرود.
آشنایی با مفاهیم پایهای شبکه و امنیت: برای یک برنامهنویس، داشتن دانش پایهای در زمینه شبکه و امنیت سایبری بسیار مهم است تا بتواند برنامههایی امن و کارآمد توسعه دهد.
موفق باشید
فرید کرمی / 28 تیر 1392
استفاده از این مطالب با ذکر منبع بلا مانع می باشد
نکات جالب در مورد زبان های برنامه نویسی :
اشکال زدایی (debug) یک کد چندین مرتبه از نوشتن آن سختتر است. بنابراین اگر کد اولیه خود را بسیار هوشمندانه بنویسید، جهت اشکال زدایی آن به اندازهی کافی باهوش نخواهید بود! (Brian Kernighan)
تنها دو نوع زبان برنامه نویسی وجود دارد: آنهایی که برنامه نویسها از آن شکایت دارند و آنهایی که اصلا مورد استفاده قرار نمیگیرند! (Bjarne Stroustrup)
هر کسی میتواند کدی بنویسد که یک کامپیوتر آنرا درک کند. یک برنامه نویس خوب کدی را مینویسد که برای سایر همکارانش قابل درک باشد. (Martin Fowler)
اندازهگیری درصد پیشرفت یک پروژه برنامه نویسی با شمارش تعداد سطرهای کدهای آن همانند اندازه گیری درصد پیشرفت ساخت یک هواپیما از طریق وزن کردن آن است! (Bill Gates)
برنامه نویسی سطح پایین (Low-level) روح برنامه نویسها را جلا میبخشد! (John Carmack, ID software)
بزرگی واقعی با اندازه گیری مقدار آزادی که به دیگران عطا میکنید، سنجیده میشود و نه به اینکه چگونه دیگران را وادار میکنید تا آنچه را که مد نظر شما است اجرا کنند. (Larry Wall)
هیچگاه از gets و sprintf استفاده نکنید، در غیر اینصورت شیاطین به زودی به سراغ شما خواهند آمد! (FreeBSD Secure Programming Guidelines)
صحبت کردن ساده است. کدت رو نشون بده! (Linus Torvalds)
علوم رایانه هیچگاه شخصی را تبدیل به یک برنامه نویس خوب نمیکنند همانطور که مطالعه در مورد رنگها و قلمها شما را تبدیل به یک نقاش خوب نمیکند. (Eric Raymond)
هیچ برنامهای تا زمانیکه آخرین یوزر آن بمیرد به پایان نخواهد رسید! (از یک گروه پشتیبانی نرم افزار ناشناس!)
برنامه نویسهای C هرگز نخواهند مرد. آنها فقط تبدیل به void خواهند شد. (ناشناس)
پایان دنیای یونیکس 2 به توان 32 ثانیه پس از اول ژانویه 1970 است! (ناشناس)
زمانی که کد مینویسید فرض کنید شخصی که قرار است در آینده از کدهای شما نگهداری کند یک دیوانهی زنجیری است که آدرس خانهی شما را میداند! (Rick Osborne)
سادگی یک برنامه یکی از شرایط قابل اطمینان بودن آن است. (Edsger Dijkstra)
یونیکس سیستم عامل سادهای است، اما شماباید فرد باهوشی باشید تا بتوانید این سادگی را درک کنید! (Dennis Ritchie)
اگر به کامپایلر دروغ بگوئید او بعدا انتقام خواهد گرفت! (Henry Spencere)
پرل تنها زبان برنامه نویسی است که پیش و پس از رمزنگاری RSA به یک شکل به نظر میرسد! (Keith Bostic)
تنها دو صنعت هستند که به مصرف کنندگان خود "کاربر" میگویند: صنعت کامپیوتر و تجارت مواد مخدر! (ناشناس)