۳ مطلب با کلمهی کلیدی «برنامه نویسی» ثبت شده است
هوش مصنوعی و علم دادهها دو مفهوم جدانشدنی هستند. هوش مصنوعی به زیرشاخههای مختلفی تقسیم شده که هر یک کاربردهای خاصی دارند. یادگیری ماشین، شبکههای عصبی مصنوعی، پردازش زبان طبیعی، بینایی ماشین، یادگیری عمیق و.... همگی در زیر مجموعه مفهومی به نام هوش مصنوعی طبقهبندی میشوند. اما در بطن تمامی فناوریهای هوشمندی که از آنها استفاده میکنیم عنصر بنیادینی بهنام داده وجود دارد. بدون دادهها هیچیک از فناوریهای هوشمند امروزی قادر به انجام وظایف خود نیستند. به همین دلیل است که دانشی بهنام علم دادهها (Data science) به یکی از داغترین مباحث روز دنیای هوش مصنوعی تبدیل شده که پژوهشگران و برنامهنویسان زیادی را جذب کرده است. علم دادهها به دلیل جذابیت و گستردگی خاصی که دارد، زمینهساز شکلگیری مشاغل متنوعی همچون دانشمند دادهها، مهندس دادهها، مهندس یادگیری ماشین، مدیر دادهها، معمار دادهها و تحلیلگر دادهها شده که همگی جزء مشاغل پر درآمد این حوزه هستند.
زمانیکه صحبت از تجزیه و تحلیل دادهها میشود، هر دو زبان برنامهنویسی پایتون و R به عنوان گزینههای ساده و رایگانی که نصب و یادگیری آنها پیچیدگی خاصی ندارد، پیشنهاد میشوند. اگر فردی تازهوارد به دنیای علم دادهها هستید و تجربه کار با هیچیک از این دو زبان را ندارید یا در حالت کلی هیچ تجربهای در دنیای برنامهنویسی ندارید، در انتخاب گزینه مناسب دچار تردید خواهید شد که بهتر است ابتدا به سراغ یادگیری پایتون برویم یا زبان R را انتخاب کرده یا در حالت کلیتر هر دو زبان را همزمان یاد بگیریم (که حالت آخر را توصیه نمیکنیم). انتخاب هر یک از گزینههای یاد شده به عنوان نقطه شروع کار اشتباهی نیست، زیرا هر دو زبان مهارتهای کلیدی در اختیارتان قرار میدهند تا بتوانید به درستی با دادهها کار کنید. برای آنکه با قابلیتها و مزایای هر یک از زبانها آشنا شوید، اجازه دهید ابتدا به سراغ زبان R رفته و سپس به این پرسش مهم پاسخ دهیم که بر مبنای ویژگیهای هر یک از این دو زبان، چگونه گزینه مدنظر خود را انتخاب کنیم.
زبان R چه مزایایی دارد؟
زبان برنامهنویسی R قدمتی زیاد دارد و در گروه زبانهای برنامهنویسی قابل اعتماد طبقهبندی میشود که انجمنی قدرتمند از توسعهدهندگان و متخصصان علم دادهها از آن پشتیبانی میکنند. به لطف انجمنهای مختلفی که برای این زبان برنامهنویسی وجود دارند افرادی که از زبان آر استفاده میکنند با مشکل چندان خاصی روبرو نمیشوند، زیرا پشتیبانی آنلاین خوبی از آنها به عمل میآید. در نتیجه افراد تازهکار یا توسعهدهندگانی که در انجام پروژههای خود با مشکلی روبرو میشوند با طیف گستردهای از متخصصان این زبان پشتیبانی خواهند شد. علاوه بر پشتیبانی آنلاین، نفوذ این زبان در میان متخصصان زیاد بوده و بالغ بر 5000 هزار بسته آماده برای این زبان ارائه شده که امکان دانلود و بهکارگیری آنها همراه با زبان R امکانپذیر است. بستههایی که دامنه فعالیتهای این زبان را گسترش داده و اجازه میدهند از زبان R برای انجام وظایف مختلف (عمدتا در ارتباط با مبحث تحلیل دادهها و دادهکاوی) استفاده کنید. همین موضوع باعث شده تا زبان آر برای انجام تجزیه و تحلیلهای داده اکتشافی (exploratory data analysis) به گزینه مناسبی تبدیل شود. زبان برنامهنویسی آر با سایر زبانهای برنامهنویسی همچون سیپلاسپلاس، جاوا و سی یکپارچه میشود. زمانیکه نیاز به انجام تحلیلهای آماری پیچیده و سنگین یا رسم نمودار ضروری است، زبان برنامهنویسی آر انتخاب درستی است. عملیات ریاضی رایج همچون ضرب ماتریسها به سادگی و به دور از پیچیدگیهای مرسوم انجام میشود و ترکیب نحوی آرایهمحور این زبان قابلیت کارآمدی برای ترجمه ریاضیات به کدها در اختیار افرادی قرار داده که هیچ پیشینهای در برنامهنویسی ندارند.
چرا باید پایتون را انتخاب کرد؟
پایتون یک زبان برنامهنویسی همه منظوره است و میتواند هر کاری انجام دهد. پایتون میتواند در زمینه پیشپردازش دادهها، مهندسی دادهها، ساخت برنامههای تحت وب، جمعآوری دادهها از وب website scraping)، data wrangling) و..... استفاده شود. اگر در گذشته با زبانهای برنامهنویسی شیگرایی همچون جاوا یا سیپلاسپلاس کار کردهاید، یادگیری پایتون در مقایسه با R سادهتر است. علاوه بر این، پایتون یک زبان برنامهنویسی شیگرا است که اجازه میدهد کدهای بزرگ گسترشپذیر، قابل نگهداری و قدرتمند را سادهتر از زبان آر بنویسید. زبان برنامهنویسی پایتون به توسعهدهندگان اجازه میدهد کدنمونه اولیه (prototype) که روی کامپیوتر خود نوشتهاند را در صورت لزوم به عنوان کدمحصول (محصولی که به عنوان پیشنمایش به مشتری نشان داده میشود) استفاده کنند. درست است که پایتون در مقایسه با زبان آر بستههای جامع کمتری برای انجام تحلیلهای آماری در اختیار دارد، اما هنوز هم کتابخانهها و ابزارهایی شبیه به Pandas، NumPy، Scipy، Scikit-Learn و Seaborn وجود دارندکه پایتون را به زبان مناسبی برای تحلیل دادههای هوش مصنوعی و یادگیری ماشین تبدیل کردهاند. پایتون به یکی از گزینههای اصلی در حوزه برنامهنویسی یادگیری ماشین تبدیل شده و در انجام کارهای آماری در حد اولیه و متوسط که پیش از این در حیطه تواناییهای زبان آر بود، عملکرد قابل قبولی دارد.
کدامیک را باید انتخاب کنیم؟ پایتون یا R
اکنون که تا حدودی با قابلیتهای اصلی این دو زبان در ارتباط با مبحث علم دادهها آشنا شدید وقت آن رسیده تا مقایسهای میان این دو زبان داشته باشیم.
ترجیح شخصی
انتخاب یک زبان برنامهنویسی در ابتدای راه، به میزان قابل توجهی به علایق شخصی و اولویتهای فردی بستگی دارد. بهطور مثال، بیشتر کارشناسان حوزه آمار و ریاضیدانان برای انجام کارها زبان آر را انتخاب میکنند، در مقابل مهندسان نرمافزار و دانشمندان علوم کامپیوتر زبان پایتون را انتخاب میکنند. در برخی از دانشگاههای کشور نیز دانشجویان رشتههای نرمافزار باید با زبان جاوا یا پایتون برنامههای خود را بنویسند، به ویژه اگر دانشجوی رشته کارشناسی ارشد هوش مصنوعی باشند. قاعدهای کلی در ارتباط با یادگیری زبانها وجود دارد. این قاعده میگوید اگر شما یک زبان برنامهنویسی را به درستی یاد گرفته باشید، در ادامه یادگیری سایر زبانها کار چندان سختی نیست، البته به شرطی که تمرکز به جای آنکه روی ترکیب نحوی یک زبان خاص باشد، باید روی یادگیری مفاهیم و مبانی برنامهنویسی باشد. یادگیری ترکیب نحوی و ویژگیهای یک زبان در اولویت بعدی قرار دارند.
انتخاب پروژه
در بیشتر موارد یادگیری یک زبان جدید به ویژه در بحث علم دادهها به پروژهای که در حال کار روی آن هستید بستگی دارد. بهطور مثال، اگر با دادههای جمعآوری و پالایش شده سرورکار دارید و پروژه شما حول محور تحلیل دادهها قرار دارد، زبان R انتخاب بهتری نسبت به پایتون است. اگر در حال جمعآوری دادهها هستید یا دادههای غیرساخت یافته و ناهمگون در اختیار دارید یا به دنبال استخراج دادهها از صفحات وب و فایلها هستید یا به دنبال افزایش سطح مهارتهای خود در زمینه کار با دادهها هستید، پایتون انتخاب درستی است.
نحوه تعامل و همکاری با سایر اعضا تیم
زمانیکه مبانی تجزیه و تحلیل دادهها را آموختید، فاکتور مهم دیگری که به شما در یادگیری یک زبان جدید کمک فراوانی میکند به نحوه تعامل شما با سایر اعضا تیم بستگی دارد. در این مرحله باید ببینید که سایر اعضا تیم از چه زبان برنامهنویسی استفاده میکنند. اگر مشاهده کردید که همه اعضا تیم از زبان برنامهنویسی یکسانی استفاده میکنند، یادگیری همان زبان به تعامل سادهتر و درک مشترک کمک فراوانی میکند.
بازار کار
بازار کار مهمترین فاکتوری است که باید مدنظر قرار داد. بهطور مثال، علاقه شخصی شما ممکن است یادگیری زبان برنامهنویسی سیپلاسپلاس در انجام تحلیلهای دادهای باشد، اما بازار کار گستردهای برای این ترکیب در دسترس نباشد. فرصتهای شغلی برای برنامهنویسان پایتون در زمینه تجزیه و تحلیل دادهها در مقایسه با زبان R در چند سال گذشته رشد چشمگیری داشته است. شکل 1 نشان میدهد که پایتون توانسته است فرصتهای شغلی که پیش از این در سیطره زبان R بود را از آن خود کند.
اکوسیستم پایتون به اندازهای رشد کرده و بزرگ شده که تقریبا برای هر مدل پردازشی که قرار است در زبان پایتون انجام شود ابزارها و کتابخانههای متنوعی وجود دارد. توسعهدهندگان میتوانند از پایتون برای طراحی و ساخت برنامههای تحت وب استفاده کنند. این قابلیت به توسعهدهندگان و شرکتها اجازه میدهد نیروهای موردنیاز خود را هم برای تیمهای تحلیل علم دادهها و هم تیمهای توسعه برنامههای کاربردی تحت وب استخدام کنند. البته این مسئله باعث بروز مشکلاتی نیز شده است، زیرا متخصصان علم دادهها ممکن است برای کسب درآمد و امرار معاش جذب تیمهایی شوند که حیطه کاری آنها محدود به طراحی برنامههای تحت وب است و به این شکل بازار کار با کمبود متخصصان علم دادهها روبرو میشود.
کلام آخر
در حالت کلی، اگر در ابتدا پایتون یا R را برای تجزیه و تحلیل دادهها یاد بگیرید، ضرری نکردهاید. هر زبان در سناریوهای مختلف و برای انجام کارهای مختلف نقاط قوت و ضعف خاص خود را دارد. همچنین، کتابخانههایی وجود دارند که اجازه میدهند پایتون را همراه با زبان آر یا بالعکس استفاده کرد. بنابراین یادگیری یک زبان، باعث نمیشود از یادگیری زبان دیگر انصراف دهید. اما به عنوان یک قاعده کلی پیشنهاد میکنیم ابتدا به سراغ زبان پایتون بروید، زیرا در دنیای برنامهنویسی نقش یک آچار فرانسه را بازی میکند!
منبع: مجله شبکه
برچسب ها آزاد آموزش اینترنت برنامه نویسی
برچسب ها آموزش برنامه نویسی پایتون
چرا باید برنامهنویسی یاد گرفت؟
مشاغل مربوط به علوم کامپیوتر، به خصوص حوزه برنامهنویسی، هر روزه با نیاز فزایندهای مورد درخواست شرکتها، صنایع و کارفرمایان هستند. البته، این موضوع چندان دور از ذهن هم نیست؛ چرا که ما هم اکنون در عصر اطلاعات زندگی میکنیم و مهمترین مؤلفه و ابزار این عصر، کامپیوترها هستند؛ کامپیوترهایی که اساساً بدون آنها، این عصر وجود نمیداشت و برای توسعه فناوری در این عصر نیز، مهمترین مسیر از دل دنیای کامپیوتر میگذرد. به خصوص که بررسیها نشان میدهند با افزایش نفوذ مهندسی نرمافزار در حوزههای مختلف کسب و کار، سرعت افزایش موقعیتهای شغلی برنامهنویسی در حال پیشی گرفتن از سرعت رشد تعداد برنامهنویسان تعلیم دیده در دانشگاهها و مؤسسات فنی است.
علاوه بر تعدد موقعیتهای شغلی، برنامهنویسی یکی از مشاغل پردرآمد دنیا نیز محسوب میشود. مثلاً طبق آمار رسمی منتشر شده از طرف دولت آمریکا، درآمد سالانه برنامهنویسان در سال 2014، به طور متوسط برابر با 77,550 دلار (بیش از 270 میلیون تومان) بوده است که نسبت به سال 2012، به میزان 3,200 دلار (4.3 درصد) افزایش داشته است؛ که البته نسبت به افزایش درآمد سایر مشاغل در اقتصاد آمریکا، عدد بزرگی محسوب میشود. طبق همین آمار، درآمد سالیانه نخستین دهک پردرآمد برنامهنویسان، بالغ بر 127 هزار دلار (440 میلیون تومان) در سال بوده است.
برای بسیاری از افراد نیز، آموزش برنامهنویسی (حداقل در حد رفع نیاز) بخشی از تحصیلات دانشگاهی و تخصصی است، که اهمیت ویژهای را برای این موضوع ایجاد میکند. مثلاً، یک دانشجوی رشته مهندسی، که قصد دارد الگوریتم و شیوه محاسباتی جدیدی را برای یک مسئله تخصصی ارائه نماید، بدون یاد گرفتن مهارتهای برنامهنویسی کار بسیار سختی را در پیش خواهد داشت.
دهها موضوع دیگر را نیز میتوان به این بخش افزود و در خصوص اهمیت و ضرورت یادگیری برنامهنویسی صحبت کرد. اما اغلب خوانندگان این مطلب، معتقد به اهمیت یادگیری برنامهنویسی هستند و مشکلی که در مسیر وجود دارد، چگونگی محقق شدن این یادگیری است. سؤالات فراوانی از طرف افراد مطرح میشوند که از میان آنها، میتوان به این موارد اشاره کرد:
- برای آموزش برنامهنویسی از کجا باید شروع کرد؟
- آیا برای برنامهنویس شدن، حتماً باید تحصیلات در زمینه مهندسی کامپیوتر یا مهندسی نرمافزار داشته باشم؟
- آیا در این سن میتوانم برنامهنویسی یاد بگیرم؟
- بهترین زبان برنامهنویسی چیست؟
- و …
در ادامه سعی شده است که به اکثر این پرسشها پاسخ داده شود و مسیری عملی و شدنی در پیش روی خوانندگان گرامی، که تمایل به یادگیری برنامهنویسی دارند، ترسیم شود.
پیشنیازهای یادگیری برنامهنویسی
یکی از بزرگترین دغدغههای افراد در شروع آموزش برنامهنویسی این است که «پیشنیازهای برنامهنویسی چیستند؟» و این که «آیا آنها این پیشنیازها را دارند یا نه؟». در حالت کلی، یادگرفتن مهارت برنامهنویسی، بسیار شبیه به یادگیری زبان (منظور زبانهای انسانی) است. وجه مشترک میان زبانهای انسانی و زبانهای برنامهنویسی این است که به واسطه آنها، مطلبی از ذهن گوینده، به ذهن شنونده منتقل میشود.
بسیاری از افرادی که برنامهنویسی بلد نیستند، بر این باورند که برنامهنویسی نیاز به استعداد یا امکانات خاصی دارد که احتمالا فقط در عده خاصی از مردم وجود دارد. این باور چندان درست نیست و در واقع، اکثر انسانها، میتوانند برنامهنویسهای خوبی باشند؛ به شرطی که بخواهند. چرا که از نظر تئوری، اساساً هر کسی که توانایی درک زبان انسانی را دارد و میتواند حرف بزند یا بنویسد، توانایی برنامهنویسی را هم میتواند کسب کند. پس خیلی نگران نباشید؛ برنامهنویسی آن قدرها هم که به نظر میآید، سخت نیست.
آموزش برنامهنویسی بازه سنی خاصی ندارد؛ یعنی اگر خیلی جوان هستید و یا فکر میکنید پا به سن گذاشتهاید، خودتان را ناتوان از یادگیری برنامهنویسی فرض نکنید. برنامهنویسی را میتوان تقریبا در هر سنی یاد گرفت؛ از 7 تا 70 سال. فقط کافی است به اندازه کافی علاقه و پشتکار داشته باشید؛ مطمئنا شما هم میتوانید یکی از هزاران نفری باشید که برنامهنویسی را یاد گرفتهاند.
از نظر تحصیلات هم، نیازی نیست که شما حتما دانش آموخته رشته مهندسی کامپیوتر یا نرمافزار باشید تا بتوانید برنامهنویس خوبی باشید. البته، مباحثی که در دانشگاه آموزش داده میشوند، بسیار بسیار مهم هستند؛ اما بسیاری از برنامهنویسان موفق نیز هستند که بدون داشتن مدرک، اما با صرف زمان و یادگیری مداوم فنون برنامهنویسی، توانستهاند موفق شوند.
ما در بندهای قبلی، در مورد شرایطی که چندان ضروری نبودند، و اغلب مانعی میشوند بر سر راه علاقهمندان، صحبت کردیم. اما چند مورد در ادامه آمدهاند که برای یادگیری مؤثر برنامهنویسی، مهم و بعضا ضروری هستند. این شرایط عبارتند از:
- منطق: کامپیوترها همیشه بر پایه اصول منطقی ثابتی کار میکنند و مهمتر از این که به چه زبانی با ایشان صحبت میکنید، این است که منطقی صحبت کنید. برای منطقی بودن نیز، درک اصول منطق ریاضی، ضروری است. البته، شاید برای شما این موضوع کمی ترسناک شده باشد؛ اما منطق ریاضی چیزی است که ما همه با آن آشنا هستیم و هر روزه آن را به کار میبریم.
- ریاضیات (به طور خاص ریاضیات گسسته): درک صحیح مفاهیم ریاضی، در یادگیری برنامهنویسی بسیار مهم است. متأسفانه بسیاری از افراد این موضوع را جدی نمیگیرند و بعضا دچار مشکلاتی میشوند؛ اما ریاضیات و به ویژه ریاضی گسسته، بیش از آنچه به نظر میرسد، در یادگیری برنامهنویسی مهم هستند.
- زبان انگلیسی: آگاهی به زبان انگلیسی (حداقل در حد مهارت خواندن و درک مطلب) در خصوص آموزش برنامهنویسی بسیار مهم است. دانش برنامهنویسی رشد بسیار سریعی دارد و برای به روز بودن، شما هیچ گاه بی نیاز از مطالعه نیستید. از طرفی، اغلب منابع نیز به صورت ترجمه شده در دسترس نیستند و حتی در صورت ترجمه نیز، شاید اصالت مطلب مخدوش شود و چندان قابل استفاده نباشد. لذا، تسلط به زبان انگلیسی، یک مهارت بسیار کلیدی برای برنامهنویس شدن است.
جالب است که در موضوع آموزش برنامهنویسی، سه موضوع به هم گره خوردهاند که اتفاقا سبک و نظام آموزشی فعلی در ایران (و اغلب کشورها) مشکلات جدی در آن موارد دارد؛ یعنی آموزش (1) ریاضیات، (2) زبان خارجی و (3) خود برنامهنویسی.
از کجا شروع کنیم؟
برای یادگیری برنامهنویسی، باید قبل از هر چیزی، یک زبان برنامهنویسی انتخاب کنید و آموزش کار با آن را، شروع کنید. اما پیش از آن، لازم است مقدماتی را از منطق، ساختار زبانهای برنامهنویسی، فلوچارت و الگوریتم یاد بگیرید. این موارد، مستقل از هر زبان برنامهنویسی هستند و اغلب مشکلی که وجود دارد، این است که افراد بدون دانش کافی در مورد این مباحث، اقدام به یادگیری یک زبان برنامهنویسی میکنند و اتفاقا همه اجزای زبان را هم به خوبی میآموزند. اما زمانی که قرار است مستقلا کاری را انجام دهند، به مشکل بر میخورند. ریشه مشکل دقیقا در همین جاست.
یاد گرفتن زبان برنامهنویسی و ساختار آن، با یادگرفتن مهارت برنامهنویسی تفاوت دارد. یادگرفتن زبان برنامهنویسی، مثل یاد گرفتن حروف الفبا و مهارت املا (نوشتن) است. اما میدانیم که هر نوشتنی، الزاماً به معنای انشا نیست. تفاوت میان تسلط بر یک زبان برنامهنویسی با تسلط بر مهارت برنامهنویسی، مانند تفاوت دو درس املا و انشاست. برای انشا نوشتن، علاوه بر مهارت املا، نیازمند درک صحیح از ساختار جمله و اجزای آن هستیم. ضمنا، باید بدانیم که مفاهیم را چطور در قالب کلمات و جملات بیان کنیم و خواننده را از نقطهای به نقطه دیگر منتقل نماییم. این دقیقا همان مهارتی است که برای برنامهنویسی لازم داریم. در واقع، برنامهنویسی یک نوع انشا نویسی برای کامپیوترهاست.
کدام زبان برنامهنویسی بهتر است؟
قبل از همه، باید متذکر شویم که اساسا هیچ زبان برنامهنویسی بهتر از دیگری نیست. اغلب زبانهای برنامهنویسی، برای مقصد خاصی طراحی شدهاند و آن کار را، از برخی ابعاد، بهتر انجام میدهند. اما هیچ زبان برنامهنویسی وجود ندارد که به صورت مطلق، بهتر از سایرین باشد. شاید بهتر باشد باشد سئوال فوق، به این صورت پرسیده شود: «بهترین زبان برنامهنویسی برای شروع چیست؟» و یا این که «بهترین زبان برنامهنویسی برای فلان منظور خاص کدام است؟». در واقع، اگر میخواهید یک برنامهنویس حرفهای باشید، احتمالا مجبور خواهید شد که چند زبان برنامهنویسی را فرا بگیرید.
اما برای شروع، یکی از این زبانهای برنامهنویسی را توصیه میکنیم:
- اگر کم سن و سال هستید، احتمالا شروع برنامهنویس با زبان اسکرچ (Scratch)، که محصولی از دانشگاه MIT است، برای شما جذاب باشد. در این زبان برنامهنویسی، برنامهها به جای نوشته شدن، ترسیم میشوند و به همین دلیل، درک مفاهیم آن برای کودکان، بسیار آسان است. در حال حاضر، آموزش این زبان برنامهنویسی به صورت پیش ثبت نام بر روی فرادرس قرار داده شده است.
- اگر کم سن و سال و/یا مبتدی هستید، و میخواهید برنامهنویسی را با نوشتن شروع کنید (به جای ترسیم)، شاید زبان برنامهنویسی اسمال بیسیک (Small Basic)، که محصول مایکروسافت است، گزینه خوبی باشد. خوشبختانه آموزش این زبان برنامهنویسی، پیش از این در فرادرس منتشر شده است.
- زبان برنامهنویسی سی (C)، یکی از قدیمیترین و با سابقهترین زبانهای برنامهنویسی است که تعداد قابل توجهی از زبانهای برنامهنویسی مدرن نیز، با اقتباس از آن ایجاد و توسعه داده شدهاند؛ به عنوان مثال، زبانهای برنامهنویسی سی پلاس پلاس، سی شارپ، جاوا، جاوا اسکریپت و PHP، که همگی از زبانهای برنامهنویسی بسیار پرکاربرد هستند، اشتراکات فراوانی با زبان سی دارند. از این رو، یادگیری زبان C، میتواند نقطه شروع بسیار خوبی برای ورود به دنیای برنامهنویسی باشد. به همین دلیل است که در دانشگاهها و موسسات آموزشی، این زبان یکی از انتخابهای رایج برای آموزش درس برنامهنویسی و برنامهسازی کامپیوتری است. آموزش برنامهنویسی C، که بر روی فرادرس ارائه شده است، یکی از پرطرفدارترین مجموعههای آموزشی فرادرس، و نقطه شروع بسیاری از دانشجویان برای ورود به دنیای برنامهنویسی بوده است.
- زبان برنامهنویسی متلب (MATLAB)، که اغلب در میان دانشجویان رشتههای فنی و مهندسی شناخته شده است، یکی از زبانهای بسیار آسان برای یادگیری است و نقطه شروع خوبی برای آموزش برنامهنویسی محسوب میشود. به خصوص که، امکانات منحصر به فردی در نرمافزار متلب وجود دارند که آن را به یک آزمایشگاه فنی تمام عیار برای همه رشتههای فنی، مهندسی و علمی تبدیل میکند. البته، هیچ محدودیتی برای استفاده از زبان متلب وجود ندارد و شما در هر شرایطی که باشید، میتوانید از این زبان برنامهنویسی استفاده نمایید
هر چند، شاید زبانهای برنامهنویسی دیگری هم به عنوان نقطه شروع به شما توصیه شوند؛ اما این موارد، طبق تجربه نگارنده و صرفا به عنوان توصیه، مطرح شدهاند.
چطور ادامه دهیم؟
برای ادامه، شما میتوانید یادگیری هر زبان برنامهنویسی دیگری را، که متناسب با نیازها و علایق شماست، در برنامه خود قرار دهید. هر چند، مهارت برنامهنویسی، اساسا ربطی به خود زبان برنامهنویسی ندارد و شما بعد از یادگیری یک یا دو زبان برنامهنویسی، خواهید دید که یادگیری زبانهای برنامهنویسی جدید، چندان هم سخت نیست و حتی در عرض چند روز یا ساعت، میتوانید یک زبان جدید به زبانهای برنامهنویسی که بلد هستید، اضافه نمایید.
اما مهمتر از یادگیری چندین زبان، یادگیری تکنیکها و فنون برنامهنویسی است. همان طور که یک نویسنده خوب، احتمالا بخش زیادی از عمر خودش را صرف خواندن آثار سایر نویسندگان میکند، شما هم سعی کنید که همیشه از منابع مختلف استفاده کنید و برنامههای برنامهنویسان حرفهای را مطالعه کنید. بسیاری از فنون هستند که در هیچ کلاسی به خوبی مطرح نمیشوند؛ اما در دل برنامههای پیادهسازی شده توسط برنامهنویسان حرفهای قابل درک هستند.
همیشه سعی کنید به اندازه کافی تمرین حل کنید؛ مسائل روزمره را به مسائل برنامهنویسی تبدیل کنید و با استفاده از برنامهنویسی، آنها را حل نمایید. این همان مهارتی است که فقط خودتان مسئول تقویتش هستید و متأسفانه (یا شاید خوشبختانه) هیچ کسی غیر از خودتان، نمیتواند در توسعه این مهارت، به شما کمک کنید. اما قبل از هر گونه تلاش، مطمئن باشید که به اندازه کافی آموزش دیدهاید؛ چه به صورت حضوری، چه در قالب ویدئوهای آموزشی، و چه با مطالعه کتب آموزشی برنامهنویسی. اما حتما به یاد داشته باشید که دریافت این مطالب، از هر کانالی که باشد، صرفا شرط لازم هستند و نه کافی؛ شما هیچ گاه بینیاز از تمرین و تکرار نیستید. من معمولا به دانشجویانم این طور میگویم که: «برای برنامهنویس شدن، یک راه بیشتر ندارید؛ و آن این است که برنامه بنویسید».
خوشبختانه امروزه منابع مطالعاتی فراوانی نیز در سطح اینترنت در دسترس هستند و شما به راحتی میتوانید پاسخ سئوالات خود را، از این منابع پیدا کنید. البته، برای استفاده مناسب از این منابع، قطعا باید به زبان انگلیسی مسلط باشید (حداقل در حد رفع نیاز). از طرفی، مثلا اگر در برنامه با خطایی مواجه میشوید، پیام خطا را بخوانید. این پیامها بسیار بسیار مهم هستند و درسهایی را در خود دارند، که در هیچ کلاسی شاید مجال مطرح شدن پیدا نکنند. در بسیاری از موارد نیز، پاسخ سئوال شما، دقیقا در همان پیام خطاست؛ اما اغلب افراد متوجه این موضوع نیستند.
هیچ گاه از یاد گرفتن خسته نشوید. به روز بمانید. اگر چند سال است با یک زبان برنامهنویسی کار میکنید و هنوز، یک برنامه را مانند سال قبلتان مینویسید، احتمالا یک مشکلی در مسیر است. اگر به اندازه کافی مطالعه و تمرین دارید، اصولا باید سبک برنامهنویسیتان بهبود یابد و اگر این طور نیست، حتما به فکر تغییر در رویه خودتان باشید.
چند توصیه مهم
- علمی باشید. بسیاری از برنامهنویسان شاید دانش خود را به صورت تجربی و یا شاید شفاهی دریافت میکنند. اما اغلب دیده میشود که بیانهای نادقیق و غیر علمی، باعث ایجاد باورهای نادرستی در برنامهنویسان میشود. از این رو، اگر میخواهید یک برنامهنویس قوی و اصولی باشید، در اولین فرصتی که دارید، از طریق منابع آکادمیک و کتب معتبر دانش خود را اعتبارسنجی نمایید. دلیل علمی و دقیق هر نکته را جویا شوید و همواره این روحیه را حفظ کنید.
- منظم و خوش سلیقه باشید. اغلب برنامهنویسان زندگی چندان منظمی ندارند. میز کارشان به هم ریخته است و ساعات کارشان، نظم خاصی ندارد. اما در مقابل، برنامهنویسان حرفهای، در برنامههایی که مینویسند، با نهایت دقت عمل میکنند. متغیرها، توابع و فایلها را به درستی نامگذاری میکنند. فواصل خالی را در متن برنامههایشان، به خوبی رعایت میکنند. اصولی برنامهنویسی میکنند. اما متأسفانه در کشورمان، برنامهنویسان آماتور و بعضا حرفهای، چندان پایبند به این اصول نیستند. شاید عدهای بر این عقیده باشند که رعایت این موارد چندان ضروری نیست. اما به زعم من، این طور نیست. به خصوص، زمانی که قرار است دو یا چند برنامهنویس به صورت تیمی با هم کار کنند، ارزش و اهمیت رعایت این موارد، بیشتر مشخص می شود. این یک مورد را، حتما باید از برنامهنویسان خارجی یاد بگیریم.
- برای کدهای خود توضیح بنویسید. این موارد را، اصولا باید در بند قبل مینوشتیم. اما به دلیل اهمیت آن را جدا کرده و در بندی مستقل بیان کردیم. نوشتن کامنت یا توضیح برای کدها، یکی از اصول حرفهای و مهم است. برنامهای که کامنت مناسب داشته باشد، به راحتی توسط شما و همکارانتان قابل خواندن است؛ اشکالاتش به سرعت یافت میشود؛ و البته ظاهری حرفهای تر هم دارد.
- تمرین کنید؛ مسأله حل کنید. مجددا و به دلیل اهمیت بسیاری که دارد، تاکید میکنیم که برنامهنویسی یک مهارت صرفا تئوری نیست. تقویت مهارتهای برنامهنویسی نیز، صرفا با تکیه بر منابع آموزشی، قابل حصول نیست. بهترین استاد برنامهنویسی هم، نمیتواند شما را برنامهنویس کند. او میتواند زبان را و برخی اصول را به شما یاد دهد؛ اما ادامه مسیر را، شما باید به تنهایی بروید. یک استاد خوب، نهایتا میتواند در را به شما نشان دهد؛ این که در را باز کنید و قدم بردارید، کاملا وابسته به شماست.
منبع: سازمان علمی و آموزشی «فرادرس» (Faradars)
برچسب ها آموزش برنامه نویسی فرادرس