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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان
Amin
Amin
آقا اصلا یه سوال
حالا که فکر کردم فهمیدم تو سه سال راهنمایی من یه hello رو یاد گرفتم ولی وقتی اومدم دبیرستام رکورد زدم و تا سطح i am window 😎 فهمیدم یعنی واقعا حالا من باید زبان رو یاد بگیرم بعد برم برنامه نویسی ؟ 😭😭😭
( ولی به صورت عجیبی حس می کنم مجبورم )
بهزاد مرادی
بهزاد مرادی مدرس، کپی‌رایتر و دولوپر
صد در صد باید زبان انگلیسی شما خوب باشد با سرعت پیشرفت شما دوچندان گردد.

در پاسخ به

بهمن آفاقی
بهمن آفاقی
عالی بود , سپاس
mostafa
mostafa BlockChain Expert , SmartContract Developer
سلام آقای مرادی
در مورد زبان انگلیسی کتاب هایی مثل 504 و 1100 و ... تا چه حد میتونن مفید باشن ؟؟
تشکر
بهزاد مرادی
بهزاد مرادی مدرس، کپی‌رایتر و دولوپر
سلام
در یک کلام هیچ چی. ۱۱۰۰ که اصلا صحبتش رو نکنید!
لطفا به مقاله زیر مراجعه نمایید اگر بازهم سوالی بود در خدمتم:
https://sokanacademy.com/blog/157/post


قربان شما

در پاسخ به

mostafa
mostafa BlockChain Expert , SmartContract Developer
ممنون
آقای مرادی من دوره مقدماتی جاوا رو تو سکان خوندم ، واقعا یه خسته نباشید باید بهتون بگم
خواستم جاوا رو ادامه بدم ولی دیدم که منبع خوبی که به زبان فارسی باشه نیست پس تصمیم گرفتم کتاب دایتل رو بخونم حال سوالم اینه که
در حینی که دارم کتابو میخونم لغت ها و اصطلاحاتی رو که بلد نیستم یاد بگیرم ؟؟
یا
اول برم زبانو خوب یاد بگیرم و لغت ها رو بخونم بعد بیام سراغ کتاب ؟؟؟
اینم بگم که چیزی حدود 70 درصد کتابو وقتی میخونم میفهمم
سپاس

در پاسخ به

رضا سنگ سفیدی
رضا سنگ سفیدی
عالی. تازه شروع به یادگیری این دوره کردم و هرچی جلو تر میرم بیشتر غافلگیر میشم!
mrr3mc
mrr3mc
عالی
fighter
fighter
خیلی خوب بود
soldier
soldier
خدا قوت
اديب
اديب
سلام و هزاران درود بهترين سايت و بهترين آموزش ها فقط مي تونم بگم بهترين هستيد ، بابت همه چيز ممنون
Ahmadreza
Ahmadreza
سلام
آقای مرادی خدا قوت
این2000 کلمه پر کاربرد چیا هستند؟؟؟
بهزاد مرادی
بهزاد مرادی مدرس، کپی‌رایتر و دولوپر
سلام
لطفا به مقاله زیر مراجعه نمایید:
https://sokanacademy.com/blog/157/post

در پاسخ به

Computer
Computer
خیلی خیلی سپاسگذارم :)
کاربر میهمان
کاربر میهمان
بسیار عالی، من به تازگی علاقمند به این حرفه شدم،مطالبی که گذاشتید انگیزه من رو به یادگیری خیلی زیاد کرد ازتون ممنونم، انشأالله همچنان مطالب جدید بگذارید...سپاس
reza
reza
ما می توانیم...ان شاءالله
یک دنیا سپاس
haniyeh
haniyeh
ممنون از سایت خوبتون من خودم دانشجوی it هستم واحتیاج زیادی به یادگیری برنامه نویسی دارم و خوشحالم که میتونم به خوبی به کمک سایتتون یادبگیرم
حسن اسدی
حسن اسدی
برای یادگیری زبان انگلیسی به خصوص در زمینه لغت می تونید از نرم افزار jMemorize استفاده کنید، خیلی از بزرگان این نرم افزار رو توصیه می کنند. با تشکر از مطالب مفیدتون!
payam6054
payam6054
بازم مثل همیشه ازتون ممنونم
javad
javad
سلام و خسته نباشد

بابت تک تک آموزشهاتون سپاسگذارم
فرهاد فرهادی
فرهاد فرهادی
Alice Touch Typing Tutor بهترین گزینه برای یادگیریه تایپ هستش ... از دست ندینش ...فقط1 مگ حجمشه
soldier
soldier
بسیار عالی دستت درد نکنه

در پاسخ به

امیر
امیر
دوستان سلام ... من برای یادگیری کلمات تازه زبان انگلیسی یک روشی رو بهتون پیشنهاد میکنم امیدوارم مفید واقع بشه ...
کلمه ای که معنی اش رو نمیدونین داخل سایت translate.google بزنید تا ترجه اش رو بیاره ....
بعد اون رو ستاره دار کنین تا به لیست کلمات اختصاصی شما اضافه بشه ... بعد در پایان روز اون کلمات رو از طریق import ;کردن به فایل اکسل اونها رو روی هارد کامپیوتر ذخیره کنین ... و اونها رو درقالب برگه چاپ کنین .... مواقعی که وقت آزاد دارین مثلا توس اتوبوس یا تاکسی یا... کلمات رو مرور کنین تا ان شاالله خوب یاد بگیرین ....
soldier
soldier
سلام امیر آقا پیشنهاد بسیار خوبی کرده ای

در پاسخ به

an75
an75
ممنون از نظرتون
البته طبق اصول روز ؛ یادگیری زبان باید در قالب جمله صورت بگیره واین بسیار پایدارتر از حفظ لغات خارج از جمله است.
ضمنا به دوستان پیشنهاد می کنم برای یادگیری سریعتر زبان انگلیسی از سری برنامه های effortless english کمک بگیرد
سپاس

در پاسخ به

soldier
soldier
that\'s right . ok

در پاسخ به

Mostafa
Mostafa
خیلی آقایی

در پاسخ به

رضا بختیاری
رضا بختیاری
كاش سكان اكادمي هم مثل وب سايت درسنامه اپليكيشن اختصاصي داشت
رضا بختیاری
رضا بختیاری
يعني اگر ٢٠٠٠ كلمه انگليسي بلد باشيم ميتوانيم كتاب هاي اموزش برنامه نويسي كه به زبان انگليسي هستن را بخوانيم و بفهميم !!!!؟؟؟؟
منظور از رياضي چيه ؟؟؟
کاربر میهمان
کاربر میهمان
سلام
فقط یک سوال
نوشتید کمی با ریاضیات آشنایی داشته باشیم.در چه سطحی منظورتونه؟
چون من شخصا رابطه خوبی با ریاضیات ندارم.بهترین نمرم تا کنون 15 بوده!
CIna Deuxshiri
CIna Deuxshiri
سلام
ریاضی در برنامه نویسی خیلی مهم هست.اما فقط یک سری از مباحث است که مهمن. مثل ماتریس ها و گراف که مباحثی بسیار مهمی هستند. ساختمان داده ها و طراحی الگوریتم همگی نیاز به پایه ریاضی داره و باید ریاضی بلد باشید تا بتونید یاد بگیرید. در کل خیلی ها ها میگن که و خیلی ها هستند که بدون سواد ریاضی هم کاره برنامه نویسی می کنن، اما واقعا اصل برنامه نویسی ریاضیه و باید خوب بلد باشید.

در پاسخ به

الیاس براهویی نژاد
الیاس براهویی نژاد
در رابطه با ریاضی شما در ابتدای راه نیاز چندانی بهش احساس نخواهید کرد اما به مرور لازم میشه اما باید به این نکته هم توجه کرد که یادگیری ریاضی (از نظر شخص بنده) هیچ ربطی به استعداد نداره و تنها با تمرین و تکرار (درست مثل برنامه نویسی) میشه اونو تقویت کرد.
اما درباره زبان انگلیسی (که متاسفانه خیلی ها بهش توجه نمی کنند) باید در یک کلام بگم که برای یک برنامه نویس از شام شبم واجب تره و تو خود حدیث مفصل بخوان از این مجمل
محمد رستمی
محمد رستمی
سایت خوبی دارید و مطالب خوبی ارائه میدهید.ممنون میشم همین روال را ادامه دهید
نامشخص
نامشخص
با سلام ممنون از سایت خوبتون.امیدوارم به آموزشهاتون در سایت ادامه بدید.
کاربر میهمان
کاربر میهمان
ya aliبراي تفكر انتقادي به نظرم رسيد كتاب "واضح انديشيدن ، راهنماي تفكر نقادانه" ترجمه مهدي خسرواني از انتشارات نشر گمان ، كتاب اموزشي خوبي باشد .
ادمین سایت
ادمین سایت
ممنون از معرفی این کتاب

در پاسخ به