پیش نیازهای شروع برنامه نویسی


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

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

تاثیر تایپ اصلی در راندمان برنامه نویسی
در واقع همان طور که یک ویرایشگر کد به منزله یک ابزار برنامه نویسی است، نحوه صحیح تایپ نیز می‌تواند همچون ابزاری کاربردی، کمک شایانی در حرفه ای شدن ما به عنوان یک برنامه نویس کند. از دید ما کسب مهارت تایپ صحیح (ده انگشتی) برای حرفه ی برنامه نویسی لازم و ضروری است. به عبارت دیگر برنامه نویسی صرفاً در نوشتن کد خلاصه نمی شود بلکه ما به عنوان یک برنامه نویس گاهی نیاز داریم تا پیرامون اپلیکیشن خود توضیحاتی بنویسیم و یا چنانچه عضو یک تیم برنامه نویسی باشیم نیاز داریم تا با مابقی برنامه نویسان در تعامل بوده و مکاتبه نماییم و یا از طریق Comment، توضیحاتی را درون کد خود بنویسیم.

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

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

به منظور فراگیری نحوه صحیح تایپ راه کارهای متفاوتی وجود دارد من جمله نرم افزارهایی که برای این منظور طراحی شده اند و حتی یکسری کلاس های آموزشی نیز وجود دارند. در حقیقت ما با مد نظر قرار دادن این نکته که دو انگشت اشاره ما می بایست روی دکمه های J و F قرار گیرند و همچنین این که هر کدام از انگشتان دست ما صرفاً می تواند حروف خاصی از صفحه کلید را فشار دهد، به راحتی خواهیم توانست -با کمی تمرین- تایپ ده انگشتی را فرا گیریم.

نکته ای که در فراگیری نحوه تایپ ده انگشتی می تواند خیلی به ما کمک بکند این است که در مرحله اول سعی کنیم در تمرین های خود کلماتی را بنویسیم که کلیه حروف آن در خط وسط قرار دارند مثل کلمه ask سپس کلماتی را تمرین کنیم که کلیه حروف آن در خط بالای صفحه کلید قرار دارند مثل کلمه top و در نهایت کلماتی را تمرین کنیم که تلفیقی از کلیه حروف صفحه کلید می‌باشند (علت این که با خط پایین صفحه کلید کاری نداریم این است که به دشواری می توان کلمه ای معنا دار با استفاده از حروف خط پایین صفحه کلید نوشت.) شاید در هفته های اول این کار کمی دشوار به نظر برسد و از این کار خسته شویم، اما با گذشت زمان نه تنها به این مهارت تسلط پیدا خواهیم کرد بلکه از تایپ کردن هم لذت خواهیم برد.

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

از جمله این دلایل می توان به این نکته اشاره کرد که یک برنامه نویس برای این که همواره به روز باشد و از آخرین پیشرفت ها در زمینه برنامه نویسی مطلع باشد می بایست با زبان انگلیسی آشنا باشد چرا که تولید علم در دنیا به این زبان صورت می گیرد. از سوی دیگر Documentation یا اسناد زبان های برنامه نویسی کاملاً به زبان انگلیسی نوشته شده است و برای خواندن آن ها ما می بایست با زبان انگلیسی آشنا باشیم. یکی دیگر از مواردی که دانستن زبان انگلیسی در آن به کمک ما می آید مکاتبه با دیگر برنامه نویسان در سرتاسر دنیا است. به طور مثال وب سایت Stack Overflow این امکان را به ما می دهد که سؤالات یا مشکلات خود به همراه کدی که نوشته ایم را به اشتراک بگذاریم و از نظر دیگر برنامه نویسان پیرامون آن آگاه شویم.

نظرات گوناگونی پیرامون این مسئله وجود دارد که برای درک مطالب به زبان انگلیسی به چه تعداد واژه نیاز داریم. به طور مثال در زبان انگلیسی در حدود یک میلیون واژه وجود دارد که هر روز تعدادی به این لیست اضافه می‌گردد. اما سوال اینجا است که یک انگلیسی زبان به چه تعداد از این واژگان برای خواندن یک کتاب به زبان انگلیسی نیاز دارد.

طبق تحقیقات صورت گرفته، از این لیست واژگان که تعداد آن هم کم نیست در حدود 2 هزار واژه وجود دارد که در درصد قابل توجهی از متون عمومی مورد استفاده قرار می‌گیرند. به عبارت دیگر می‌توان گفت که برنامه نویسان مبتدی می‌توانند با فراگیری صرفاً 2000 واژه پرکاربرد زبان انگلیسی بخش قابل توجهی از مکالمات و مکاتبات خود (حدوداً 85 درصد) را با دیگر برنامه نویسان دنیا انجام داده و یا به سهولت بتوانند کتاب های مرجعی که به زبان انگلیسی نوشته شده اند را مطالعه نمایند. حال 15 درصد مابقی واژگان که جزو آن 2000 واژه پرکاربرد نیستند هم مربوط به تخصصی است که افراد بر مبنای آن، واژگان خاصی را مورد استفاده قرار می‌دهند. به طور مثال یک برنامه نویس دامنه خاصی از واژگان را مورد استفاده قرار می دهد که معانی آن واژگان ممکن است برای افراد با حرفه های متفاوت نا آشنا باشد.

پس از کسب مهارت در زمینه ی اصول تایپ ده انگشتی و همچنین آشنایی نسبی با زبان انگلیسی -حداقل خواندن و نوشتن- می بایست با موارد زیر هم آشنایی داشته باشیم تا بتوانیم با سرعت به مراتب بیشتری در زمینه ی برنامه نویسی گام برداریم:

- آشنایی نسبی با کامپیوتر: شروع برنامه نویسی با استفاده از یک کامپیوتر یا لپ تاپ است لذا دانشجویی که قصد دارد برنامه نویسی یاد بگیرد حداقل می بایست کار کردن با کامپیوترها را بلد باشد، می بایست بتواند یک برنامه یا بازی را روی سیستم خود نصب و استفاده کند و برخی مشکلات رایج در کامپیوترها را به تنهایی حل کند (مثلاً این که چه طور یک فایلی که Delete کردن است را مجدد بازیابی کند!)

- آشنایی نسبی با اینترنت: تأثیرات مثبت اینترنت در زندگی روزمره ی ما بر کسی پوشیده نیست و جالب است بدانیم که برای یک برنامه نویس، اینترنت و برخی سایت‌های اینترنتی -همچون گوگل و استک اور فلو- به منزله ی بهترین دوست می باشند. فردی که قصد ورود به دنیای برنامه نویسان را دارد می بایست بتواند وارد اینترنت شده و یک چیز خاص را در اینترنت سرچ کرده و نتیجه را به دست آورد، در برخی سایت ها ثبت نام کند، استفاده از ایمیل را بلد باشد و ...

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
mahdi jafari
mahdi jafari
به نظر من سایت http://typekadeh.com سایت بسیار خوبی برای تمرین تایپ ده انگشتی هست پیشنهاد میکنم .🙂😌
amir hoseyn moharrami
amir hoseyn moharramiamir hoseyn moharrami 1995 '' tarane sora va barname nevis
واقعا سایت مفیدی دارید و امیدوارم همیشه استوار و پابرجا باشه
اینکه میگین یک سال برای یاد گیری مناسبه یک سال خیلی زیاده من تو یک هفته تمومش کردم کل مباحث سایتتونو البته در مورد پایتون هفته پیش حتی نمیدونستم برنامه نویسی چیه الان تسلط دارم به پایتون😂
ب نظرم هر کسی که بخاد میتونه فقط باید بخاد
ممنون از سایت خوبتون
amin
amin
آقا اصلا یه سوال
حالا که فکر کردم فهمیدم تو سه سال راهنمایی من یه hello رو یاد گرفتم ولی وقتی اومدم دبیرستام رکورد زدم و تا سطح i am window 😎 فهمیدم یعنی واقعا حالا من باید زبان رو یاد بگیرم بعد برم برنامه نویسی ؟ 😭😭😭
( ولی به صورت عجیبی حس می کنم مجبورم )
بهمن آفاقی
بهمن آفاقی
عالی بود , سپاس
mostafa
mostafa BlockChain Expert , SmartContract Developer
سلام آقای مرادی
در مورد زبان انگلیسی کتاب هایی مثل 504 و 1100 و ... تا چه حد میتونن مفید باشن ؟؟
تشکر
رضا سنگ‌سفیدی
رضا سنگ‌سفیدیطراح رابط کاربری/توسعه‌دهنده php
عالی. تازه شروع به یادگیری این دوره کردم و هرچی جلو تر میرم بیشتر غافلگیر میشم!
mrr3mc
mrr3mc
عالی
fighter
fighter
خیلی خوب بود
soldier
soldier
خدا قوت
اديب
اديب
سلام و هزاران درود بهترين سايت و بهترين آموزش ها فقط مي تونم بگم بهترين هستيد ، بابت همه چيز ممنون