نقل قولهای زیبای بسیاری را به فیلسوف چین باستان یعنی کنفسیوس (Confucius) نسبت میدهند، از پیامهای پرمعنا گرفته تا لطیفههای خندهدار. یکی از این نقل قولهای جالب، کاملا مناسب حال کسانی است که بهتازگی وارد حوزه برنامهنویسی شدهاند
: «میشنوم، فراموش میکنم. میبینم، به خاطر میآورم. انجام میدهم، میفهمم.»
نشستن در کلاس درس تفاوت بسیاری با روش ایدهآل و مناسب یادگیری برنامهنویسی برای اکثر افراد دارد. شاید مطالعه همزمان در باره مفاهیم برنامهنویسی هم مفید باشد، اما این کار جای مهارتیابی عملی به همراه مطالعه و تفکر موثر در باره کدهای پایه یا کدهای نوشتهشده توسط دیگران و فهم آنها را نمیگیرد.
هیچ چیز مانند نوشتن برنامه به دست خودتان، مهارتهای برنامهنویسی را در ذهن ماندگار نمیکند. کمی مطالعه کنید، کمی آموزش ببینید و سپس برنامهنویسی شخصی را در سطحی گسترده و با صرف وقت بسیار شروع کنید. دنبال آن چیزهایی که دوست داشتید سادهتر بودند، بگردید و به وسیله کدنویسی، آنها را خودکار و سادهتر سازید.
متاسفانه، گاهی فهمیدن این که چه باید کرد مشکلترین بخش یادگیری برنامهنویسی است. کلید این کار، بر حسب تجربه شخصی، این است که سعی کنید کارها را به جای قدمهای متعدد، در یک گام به انجام برسانید و قدر لحظاتی را که ناگهان با زدن جرقهای در ذهنتان، پی به چگونگی نوشتن برنامه مورد نظر میبرید، بدانید.
از آن جا که برنامهنویسان تازهکار دانش اندکی برای یافتن نقطه آغاز کار دارند، پس میتوان گامها را کمی سادهتر کرد. اول ببینید کدام قسمت کاربرد روزانه کامپیوترتان را بهراحتی میتوان کدنویسی کرد. سپس آموزشهای اولیهتان را روی مهارتهایی متمرکز کنید که در آن شرایط به کارتان میآیند. اگر چنین شرایطی وجود نداشت، محیط کامپیوتریتان را عوض کنید تا برای خودتان فرصت به وجود بیاورید.
مهمترین مساله داشتن انگیزه برای کدنویسی است. در ادامه مقاله پیشنهادهایی چند برای یادگیری بهتر برنامهنویسی از طریق عملی برایتان لیست کردهایم..jpg)
1- سیستمهای مدیریت پایگاه داده (DBMS)
سیستمهای مدیریت پایگاه داده اصلی و قدرتمندی نظیر PostgreSQL، Oracle، Microsoft SQL Server و Informix قابلیتهای اسکریپتنویسی را از طریق روشها یا روالهای ذخیرهشده در پایگاه داده خاص خود فراهم میکنند. شناختهشدهترین و پر کاربردترین زبانها در این حوزه، TransactSQL در SQL Server مایکروسافت و Sybase و PL/SQL در اوراکل هستند. PostgreSQL یک افزونه فرآیندی زبان برنامهنویسی با نام PL/Tcl، مشابه PL/SQL برای SQL و امکان بهکارگیری و استفاده از دیگر زبانهای برنامهنویسی مانند PL/Perl، PL/Python، PL/Ruby و PL/Tcl را هم فراهم میکند.
چنین فرصتهای برنامهنویسی محدود به حوزههای خاصی از مشکلات هستند؛ اگر در زمینه مدیریت پایگاه داده فعالیت میکنید یا شغلتان به هر نحوی ارتباطی با توسعه گزارشهای پایگاه داده دارد، برایتان مفید خواهند بود.
2- افزونهها (Plugin)
بسیاری از بازیهای کامپیوتری جدید امکان نوشتن و بارگذاری افزونهها را فراهم کردهاند. برای مثال World of Warcraft، دارای سیستم مبتنی بر افزونه پیشرفتهای است که از زبان اسکریپتنویسی Lua استفاده میکند. مرورگرهای جدید و مدرن امروزی هم دارای سیستمهای انعطافپذیر مبتنی بر افزونه هستند که در این بین فایرفاکس گوی سبقت را از دیگر رقبا ربوده است. در سادهترین حالت، افزونههای فایرفاکس توسط جاوااسکریپت طراحی و نوشته میشوند. در مقام مقایسه، نسبت به مرورگرهای متنبسته افزونههای بیشتری برای مرورگرهای متنباز طراحی میشوند. در حال حاضر بعد از فایرفاکس سیستم مبتنی بر افزونه Chromium (مورد استفاده در مرورگر و سیستم عامل گوگل کروم)، دومین هدف طراحان افزونه است.
3- تمرین حل مساله
یکی دیگر از پیشنهادهای جالب برای تقویت مهارت برنامهنویسی، سعی در حل مسایلی است که در لیستی جامع برای افزایش مهارت برنامهنویسان فراهم شدهاند. یکی از پروژههای محبوب در این حوزه، فارغ از هر زبان برنامهنویسی، Project Euler نام دارد که مجموعهای از مشکلات برنامهنویسی چالش برانگیز در حوزه ریاضی و کامپیوتر است. صدها مساله مطرح شده در آن از آسان به مشکل طبقهبندی شدهاند که تا مدتهای مدیدی شما را مشغول خواهند کرد.
4- گوشیهای هوشمند
بیشترین شور و شوق کنونی در حوزه طراحی و توسعه برنامه، مربوط به ساخت برنامه برای گوشیهای هوشمند است. در حوزه گوشیهای هوشمند، طراح و برنامهنویس باید یک زبان خاص را به طور کامل فرا بگیرد تا بتواند از تمام امکانات و پتانسیلهای آن برای طراحی و ساخت یک برنامه استفاده کند.
نفوذ روزافزون گوشیهای هوشمند در میان کاربران، موجب تولد صنعت جدیدی شده است. در این صنعت شرکتها در حال تلاش برای ساخت و توسعه چارچوبهایی هستند که از طریق آنها بتوان برنامههای گوشیهای هوشمند را به انواع زبانهای کامپیوتری نوشت و سپس تبدیل به برنامههایی کرد که یک گوشی هوشمند قادر به تفسیر و در نهایت اجرای آنها باشد. البته نباید از سرویسهای برنامهنویسی تحت وب که در حال جذب مخاطبان خاص خود به منظور طراحی برنامههای گوشیهای هوشمند هستند، غافل بود. با استفاده از سرویسهای برنامهنویسی تحت وب، برنامهنویس نیازی به یادگیری زبان رسمی برای طراحی و توسعه برنامههای هر کدام از بسترههای خاص گوشیهای هوشمند نخواهند داشت.
یکی دیگر از گزینههای پیش رو برای پیشرفت در حوزه برنامهنویسی گوشیهای هوشمند، استفاده از تلفن همراهی مانند مدل N900 شرکت نوکیا است. این تلفن همراه که توزیع لینوکسی اقتباس شده از Debian بر روی آن نصب شده و قادر به اجرای تعداد زیادی برنامه است، از جمله نمونههایی است که در اصل برای اجرا در بستره سیستمهای عامل گوشیهای هوشمند و نه یک توزیع از لینوکس، طراحی شده است.
کتاب و راهنماهای برخطی که بر روشهای توسعه برنامههای گوشیهای هوشمند و اندرویید تمرکز دارند، به وفور در اینترنت یافت میشوند. چهارچوبهای ثالثی هم هستند که برنامههای نوشته شده به هر زبانی، از HTML+ گرفته تا روبی و پایتون را به برنامههای مناسب برای بسترههای مختلف تلفن همراه و حتی کامپیوترهای خانگی تبدیل میکنند. نکته جالب این که این چهارچوبها به هیچ وجه قصد ندارند تمامی مشکلات برنامهنویسی را مانند چهارچوبهای عظیمی چون ویژوال استودیو و .Net Framework برطرف کنند؛ این امر باعث میشود فرآیند توسعه برنامهها بسیار آسانتر شود.
5- صفحاتگسترده (Spreadsheets)
اگر از برنامههای صفحاتگسترده با سیستم ماکروی قوی استفاده میکنید، شیوه سریعی برای خواندن کدهای دیگران و همچنین نوشتن کدهای خود خواهید داشت. ابتدا، ماکرویی را برای عملکردی که به دفعات زیاد و ملالآور انجام میدهید، ثبت کنید. بعد نگاهی به منبع کد ماکرو مورد نظر انداخته، آن را ویرایش کنید تا استفاده کلی از آن سادهتر و سریعتر شود. البته این کار با محدودیتهای خاص خود روبهرو بوده و تاثیر چندانی در پیشرفت شما نخواهد داشت؛ اما برای ورزیده شدن در حوزه برنامهنویسی، گزینه بدی نیست.
معروفترین برنامه صفحهگسترده برای این نوع از اسکریپتنویسی، اکسل مایکروسافت است. اکسل از VBA استفاده میکند که زبان واقعا ضعیفی است؛ اما اگر کار روزانه شما شامل کدنویسی سنگین با اکسل میشود، این مهارت به دردتان خواهد خورد. لازم به ذکر است که مجموعه نرمافزاری Openoffice.org، رقیب متنباز مجموعه آفیس مایکروسافت هم از سیستم ماکرو مشابهی استفاده میکند.
6-یونیکس
در صورتی که از سیستمهای یونیکس استفاده میکنید، راههای گوناگونی برای تمرین مهارتهای برنامهنویسی در حال رشد خود خواهید داشت. یونیکس در مقایسه با دیگر سیستمهای عامل چندمنظوره، فرصتهای خوبی برای خودکارسازی فرآیند اسکریپتنویسی فراهم میکند؛ این مهم به خاطر انعطافپذیری فوقالعاده این سیستم عامل در حوزه اسکریپتنویسی فراهم شده است. در سادهترین حالت اسکریپتهایی که توسط این سیستم عامل طراحی و نوشته میشوند، تنها یک سری فرامین سادهاند که در یک فایل ذخیره میشوند. میتوان با ساختارهای شرطی و حلقهای، کنترل ورودیها و خروجیها، خواندن و نوشتن فایلها و وظایف برنامهریزی شده، فرصتهای یادگیری خود را بالا ببرید.
7- صفحات وب
یک پیشنهاد خطرناک برای کسب مهارت در برنامهنویسی، سروکله زدن با جاوااسکریپت است. استفاده از واژه خطرناک به این معنی نیست که جاوااسکریپت زبان بدی است؛ بلکه متاسفانه خرابکاران فضای اینترنت از این زبان سوءاستفاده کرده و کارهای خطرناکی توسط آن انجام دادهاند. اگر فرد مسئولیتپذیری بود، قصد خرابکاری نداشته باشید، میتوانید از قابلیتها و امکانات جالب جاوااسکرپیت بهخوبی استفاده نمایید. ضمن این که این روزها صحبت راجع به استفاده از جاوااسکریپت برای انتقال برنامههای تحت سیستمهای عامل رومیزی و امکان اجرای آنها در مرورگرها توسط جاوااسکریپت مطرح شده است. از این رو بهتر است یادگیری جاوا اسکرپیت را در ابتدای لیست مورد نظر خود برای تقویت مهارت برنامهنویسیتان قرار دهید. از آن جایی که جاوااسکریپت یکی از پرکاربردترین زبانهای برنامهنویسی تحت وب است، بنابراین میتوان با خواندن کد سایر برنامهنویسان آن را آسانتر از هر زبان دیگری فرا گرفت.
| < قبلی | بعدی > |
|---|