اکنون که ما تصمیم گرفتهایم به دنیای بی انتها و لذت بخش برنامهنویسی قدم بگذاریم، لاجرم نیاز داریم تا در کنار اصول و مفاهیم برنامهنویسی به علوم و مهارتهای جانبی که به حرفه ما کمک میکنند نیز نیم نگاهی داشته باشیم. در حقیقت در کنار فراگیری اصول برنامهنویسی، ما میباید تفکری انتقادی یا اصطلاحاً Critical Thinking و تفکر منطقی یا Logical Thinking داشته باشیم، کمی با ریاضیات آشنایی داشته باشیم، معانی رنگ ها و نحوه بهکارگیری رنگ در اپلیکیشن یا نرمافزار را بدانیم و …
شاید بیان چنین مسئلهای تا حدودی ناامید کننده باشد که چه طور ممکن است فردی کلیه موارد فوق را به علاوه بسیاری موارد دیگر به طور هم زمان فرا گیرد. در این آموزش قصد نداریم تا پیرامون مطالب فوقالذکر صحبت کنیم بلکه میخواهیم به دو مهارتی اشاره کنیم که شاید برای خیلی از دوستان مهم به نظر نرسد اما در دراز مدت میتواند حرفه شما را به عنوان یک برنامهنویس تحت الشعاع قرار دهند و آن دو مهارت عبارتند از فراگیری مهارتهای اصولی تایپ کردن و زبان انگلیسی.
تأثیر تایپ اصلی در راندمان برنامهنویسی
در واقع همانطور که یک ویرایشگر کد به منزله یک ابزار برنامهنویسی است، نحوه صحیح تایپ نیز میتواند همچون ابزاری کاربردی، کمک شایانی در حرفهای شدن ما به عنوان یک برنامهنویس کند. از دید ما کسب مهارت تایپ صحیح (ده انگشتی) برای حرفه ی برنامهنویسی لازم و ضروری است. به عبارت دیگر برنامهنویسی صرفاً در نوشتن کد خلاصه نمیشود بلکه ما به عنوان یک برنامهنویس گاهی نیاز داریم تا پیرامون اپلیکیشن خود توضیحاتی بنویسیم و یا چنانچه عضو یک تیم برنامهنویسی باشیم نیاز داریم تا با مابقی برنامهنویسان در تعامل بوده و مکاتبه نماییم و یا از طریق Comment، توضیحاتی را درون کد خود بنویسیم.
در حقیقت چنانچه ما به تایپ سریع و صحیح تسلط داشته باشیم، مابین فکر کردن و نوشتن کد زمان اندکی را صرف خواهیم کرد. شاید با ذکر این دو مثال اهمیت فراگیری تایپ سریع را بهتر متوجه شویم. خیلی اوقات اتفاق میافتد که ما با هدف خاصی به یکی از اتاق های منزل خود میرویم اما به محض این که به آن اتاق مد نظر میرسیم فراموش میکنیم که به چه منظور به آن اتاق رفتهایم (البته این مسئله در مورد خیلی از کاربران صدق نخواهد کرد!) یا این که در بحثی شرکت کردهایم و در همین حین که یکی از دوستان ما در حال صحبت کردن است نکتهای به ذهن ما میرسد و صبر میکنیم تا صحبت های دوستمان به اتمام برسد اما همین که وی سکوت کرد ما نکتهای که می خواستیم بیان کنیم را فراموش میکنیم. مابین زمانی که ما تصمیم میگیریم تا به آن اتاق برویم و زمانی که به آن اتاق میرسیم ممکن است چندین ثانیه طول بکشد و فراموشی هم میتواند در همین فاصله زمانی اتفاق افتد.
دقیقاً چنین اتفاقی هم در برنامهنویسی برای ما ممکن است پیش آید (توجه بفرمایید که گفتیم ممکن است!) در واقع زمان مابین ایده ای که در برنامهنویسی به ذهن ما خطور میکند تا تبدیل ایده به کد میتواند منجر به فراموشی گردد. حال اگر بتوانیم این زمان را به حداقل برسانیم میتوانیم انتظار داشته باشیم فراموشی ما هم به حداقل برسد. در واقع هدف ما در اینجا این نیست که برنامهنویسان را مجبور کنیم که به کلاس تایپ حرفهای بروند بلکه حداقل انتظاری که میرود این است که تایپ صحیح را بیاموزند. تجربه نشان داده است زمانی که ما با استفاده از ده انگشت دست خود اقدام به تایپ کردن می نماییم، نه تنها سرعت تایپ ما افزایش مییابد بلکه کمتر هم از اینکار خسته خواهیم شد چرا که میزان باری که روی دو انگشت وارد میآید (در تایپ دو انگشتی)، از این پس در تایپ ده انگشتی مابین ده انگشت تقسیم خواهد شد و بالتبع میزان خستگی ما نیز کمتر خواهد شد.
به منظور فراگیری نحوه صحیح تایپ راهکارهای متفاوتی وجود دارد من جمله نرمافزارهایی که برای این منظور طراحی شدهاند و حتی یک سری کلاسهای آموزشی نیز وجود دارند. در حقیقت ما با مد نظر قرار دادن این نکته که دو انگشت اشاره ما میباید روی دکمههای J و F قرار گیرند و همچنین این که هر کدام از انگشتان دست ما صرفاً میتواند حروف خاصی از صفحه کلید را فشار دهد، به راحتی خواهیم توانست -با کمی تمرین- تایپ ده انگشتی را فرا گیریم.
نکتهای که در فراگیری نحوه تایپ ده انگشتی میتواند خیلی به ما کمک بکند این است که در مرحله اول سعی کنیم در تمرینهای خود کلماتی را بنویسیم که کلیه حروف آن در خط وسط قرار دارند مثل کلمه ask سپس کلماتی را تمرین کنیم که کلیه حروف آن در خط بالای صفحه کلید قرار دارند مثل کلمه top و در نهایت کلماتی را تمرین کنیم که تلفیقی از کلیه حروف صفحه کلید میباشند (علت این که با خط پایین صفحه کلید کاری نداریم این است که به دشواری میتوان کلمه ای معنا دار با استفاده از حروف خط پایین صفحه کلید نوشت.) شاید در هفته های اول این کار کمی دشوار به نظر برسد و از این کار خسته شویم، اما با گذشت زمان نه تنها به این مهارت تسلط پیدا خواهیم کرد بلکه از تایپ کردن هم لذت خواهیم برد.
تأثیر دانش زبان انگلیسی در پیشرفت در برنامهنویسی
مهارت دومی که برای یک برنامهنویس لازم و ضروری است فراگیری زبان انگلیسی است. در واقع دلایل مختلفی وجود دارند که ما تاکید داریم برنامهنویسان مبتدی میباید حداقل به زبان انگلیسی آشنایی داشته باشند (اگر توجه کرده باشید به هیچ وجه از اصطلاح تسلط به زبان انگلیسی استفاده نکردیم چرا که اگر نگوییم تسلط به یک زبان خارجی کاری محال است، میتوانیم بگوییم که کاری بسیار دشوار میباشد.)
از جملهاین دلایل میتوان به این نکته اشاره کرد که یک برنامهنویس برای این که همواره به روز باشد و از آخرین پیشرفت ها در زمینه برنامهنویسی مطلع باشد میباید با زبان انگلیسی آشنا باشد چرا که تولید علم در دنیا به این زبان صورت میگیرد. از سوی دیگر Documentation یا اسناد زبانهای برنامهنویسی کاملاً به زبان انگلیسی نوشته شده است و برای خواندن آنها ما میباید با زبان انگلیسی آشنا باشیم. یکی دیگر از مواردی که دانستن زبان انگلیسی در آن به کمک ما میآید مکاتبه با دیگر برنامهنویسان در سرتاسر دنیا است. به طور مثال وبسایت Stack Overflow این امکان را به ما میدهد که سؤالات یا مشکلات خود به همراه کدی که نوشتهایم را به اشتراک بگذاریم و از نظر دیگر برنامهنویسان پیرامون آن آگاه شویم.
نظرات گوناگونی پیرامون این مسئله وجود دارد که برای درک مطالب به زبان انگلیسی به چه تعداد واژه نیاز داریم. به طور مثال در زبان انگلیسی در حدود یک میلیون واژه وجود دارد که هر روز تعدادی به این لیست اضافه میگردد. اما سؤال اینجا است که یک انگلیسی زبان به چه تعداد از این واژگان برای خواندن یک کتاب به زبان انگلیسی نیاز دارد.
طبق تحقیقات صورت گرفته، از این لیست واژگان که تعداد آن هم کم نیست در حدود 2 هزار واژه وجود دارد که در درصد قابلتوجهی از متون عمومی مورد استفاده قرار میگیرند. به عبارت دیگر میتوان گفت که برنامهنویسان مبتدی میتوانند با فراگیری صرفاً 2000 واژه پرکاربرد زبان انگلیسی بخش قابلتوجهی از مکالمات و مکاتبات خود (حدوداً 85 درصد) را با دیگر برنامهنویسان دنیا انجام داده و یا به سهولت بتوانند کتابهای مرجعی که به زبان انگلیسی نوشته شدهاند را مطالعه نمایند. حال 15 درصد مابقی واژگان که جزو آن 2000 واژه پرکاربرد نیستند هم مربوط به تخصصی است که افراد بر مبنای آن، واژگان خاصی را مورد استفاده قرار میدهند. به طور مثال یک برنامهنویس دامنه خاصی از واژگان را مورد استفاده قرار میدهد که معانی آن واژگان ممکن است برای افراد با حرفه های متفاوت نا آشنا باشد.
پس از کسب مهارت در زمینه ی اصول تایپ ده انگشتی و همچنین آشنایی نسبی با زبان انگلیسی -حداقل خواندن و نوشتن- میباید با موارد زیر هم آشنایی داشته باشیم تا بتوانیم با سرعت به مراتب بیشتری در زمینه ی برنامهنویسی گام برداریم:
- آشنایی نسبی با کامپیوتر: شروع برنامهنویسی با استفاده از یک کامپیوتر یا لپتاپ است لذا دانشجویی که قصد دارد برنامهنویسی یاد بگیرد حداقل میباید کار کردن با کامپیوترها را بلد باشد، میباید بتواند یک برنامه یا بازی را روی سیستم خود نصب و استفاده کند و برخی مشکلات رایج در کامپیوترها را به تنهایی حل کند (مثلاً این که چه طور یک فایلی که Delete کرده است را مجدد بازیابی کند!)
- آشنایی نسبی با اینترنت: تأثیرات مثبت اینترنت در زندگی روزمره ی ما بر کسی پوشیده نیست و جالب است بدانیم که برای یک برنامهنویس، اینترنت و برخی سایتهای اینترنتی -همچون گوگل و استک اور فلو- به منزله ی بهترین دوست میباشند. فردی که قصد ورود به دنیای برنامهنویسان را دارد میباید بتواند وارد اینترنت شده و یک چیز خاص را در اینترنت سرچ کرده و نتیجه را به دست آورد، در برخی سایت ها ثبتنام کند، استفاده از ایمیل را بلد باشد و ...