برنامه نویسی چیست؟ یک تعریف ساده، کاربردی و جذاب
اگر در گوگل سرچ کنید برنامه نویسی چیست ، با دنیایی از مقالاتی مواجه میشوید که برنامه نویسی را بسیار پیچیده و سخت معرفی کردهاند. گاهی خواندن این مقالات پیچیده، افراد مبتدی را میترساند و هیچوقت نمیتوانند به سمت یادگیری برنامه نویسی بیایند. زیرا فکر میکنند که برنامه نویسی یک علم بسیار پیچیده است و برای یادگیری آن فقط باید نابغه بود ! در این مقاله و فایل ویدئویی، میخواهیم دربارهی برنامه نویسی صحبت کنیم و به سوال برنامه نویسی چیست ، به زبان ساده و کاربردی پاسخ دهیم.
برنامه نویسی چیست
اگر به دنبال یک پاسخ خیلی ساده ولی کاربردی برای سوال برنامه نویسی چیست هستید، فیلم زیر را مشاهده کنید.
دانلود این فیلم آموزشی با حجم ۴۵ مگ
فرض کنید میخواهید با “محمد” به استخر بروید
فرض کنید که میخواهید با یکی از دوستانتان به استخر بروید، با او تماس میگیرید و درخواستتان را مطرح میکنید. اگر شما و دوستتان هردو فارسی زبان باشید، به زبان فارسی باهم صحبت میکنید.
در واقع زبان فارسی، پل ارتباطی بین شما و دوستتان است و باعث میشود که شما بتوانید با هم ارتباط و تعامل داشته باشید.
اگر به کشورهای دیگر بروید، این زبان تعامل بین انسانها میتواند متفاوت باشد:
- در دبی، زبان تعامل بین افراد جامعه زبان عربی میباشد
- در امریکا، زبان تعامل انگلیسی میباشد
- و در المان، انسان ها از طریق زبان آلمانی با هم ارتباط برقرار میکنند.
اگر بخواهیم ساده بگوییم، زبان ها به ما کمک میکنند که با هم ارتباط و تعامل داشته باشیم. و هر جامعهای زبان خاص خودش را برای ارتباط بین مردمانش دارد که با استفاده از آن زبان، با یکدیگر تعامل میکنند.
برنامه نویسی چیست : زبان تعامل بین انسان و ماشین
با توجه به مقدمهی بالا، فکر کنید که میخواهیم با یک ماشین (machine) ارتباط برقرار کنیم و از آن درخواستی داشته باشیم. برای مثال میخواهیم به دستگاه عابربانک (ATM) بگوییم که وقتی کاربر کارت بانکی خودش را وارد دستگاه کرد و رمز عبورش صحیح بود، امکان برداشت پول به او داده شود.
آیا میتوانیم همانطور که با دوستمان به زبان فارسی صحبت میکنیم، با دستگاه عابربانک (و یا هر ماشین دیگری) نیز به زبان فارسی صحبت کنیم؟ طبیعتا خیر.
همانطور که برای تعامل با یک فرد انلگیسی یا المانی زبان، باید به زبان خاص آنها صحبت کنیم، برای تعامل با ماشین ها هم باید به زبان خاص آنها صحبت کنیم.
هر ماشین، سیستم و… زبان خاص خودش را دارد. ممکن است یکی به زبان PHP بتواند صحبت کند، یکی به زبان JAVA و دیگری به زبان C. ما باید با همان زبانی که آن ماشین به آن مسلط است صحبت کنیم.
ما از هر ماشین، مثل کامپیوتر، تلفن همراه و… انتظار داریم که کارهایی برای ما انجام دهد. در واقع دستوری به آنها میدهیم (مثلا کلیک میکنیم) و در مقابل از آنها انتظار یک واکنش داریم. از طریق برنامه نویسی میتوانیم دستوراتمان را به ماشین ها بفهمانیم!
به زبان سادهتر، اگر بخواهیم با یک ماشین (مثل کامپیوتر، سرور، تلفن همراه و…) ارتباط برقرار کنیم، باید مجموعه دستوراتی را از طریق زبان های برنامه نویسی برای آنها مشخص کنیم. و این مجموعه دستورات را به آنها بدهیم تا اجرا کنند و نتیجه را به ما نشان دهند.
نرم افزارها و اپلکیشنها
ممکن است بپرسید که نرم افزارها و اپلیکیشن ها چیستند و چه کاربردی دارند؟ سوال بسیار خوبی است.
همانطور که گفتیم، برای اینکه بخواهیم یک ماشین کارهایی برای ما انجام دهد، باید به آن ماشین دستوراتی بدهیم. و گفتیم که این دستورات را از طریق مجموعه کدها به آن ماشین میدهیم.
و مجددا گفتیم که هر ماشینی به زبان خاص خودش صحبت میکند، همانطور که هر جامعهای زبان خاص خودش را دارد.
ما وقتی مجموعه دستوراتی را برای یک ماشین مینویسیم، معمولا آنرا در قالب یک اپلیکیشن یا نرم افزار (یا …) در میآوریم و تقدیم آن ماشین میکنیم!
برای مثال از تلفن همراهمان میخواهیم که وقتی کاربری اپلیکیشن x را باز کرد، یک فیلم به او نشان داده شود. برای اینکا مجموعه کدهایی را مینویسیم و به یک اپلیکیشن (مثلا اندروید) تبدیل میکنیم. سپس کاربر میتواند آن اپلیکیشن را نصب کند، آنرا اجرا کند و آن فیلم را مشاهده کند.
نرم افزارها، مجموعه دستورات ما هستند که میخواهیم توسط یک ماشین اجرا شوند.
نرم افزارها و اپلکیشنها به چه دلیلی نوشته میشوند؟
اگر بخواهیم به سوال برنامه نویسی چیست پاسخ دهیم، باید با کاربرد اصلی اپلیکیشن ها و نرم افزراها آشنا شویم.
در اپلیکیشن ها و نرم افزارها (که اپلیکیشن نیز خود یک نوع از نرم افزار است) همه چیز به ساختچیزی که یک فیلم ساده را نمایش بدهد ختم نمیشود. نرم افزارها و اپلیکیشن ها کارهای بسیار مهم تری میتوانند انجام دهند. در واقع برنامه نویسی و برنامه نویسان کارهای بسیار مهم تری میتوانند انجام دهند.
یکی از دلایلی که هر نرم افزاری نوشته میشود، حل یک مشکل است. نرم افزارها آمدهاند که زندگی را برای ما راحت تر کنند. اگر بخواهیم چند مثال بزنیم میتوانیم به نرم افزارهای زیر اشاره کنیم:
- نرم افزاری که امکان سفارش انلاین غذا را از داخل منزل برای ما فراهم میکند
- نرم افزاری که امکان گرفتن تاکسی اینترنتی را فراهم میکند.
- نرم افزاری که کمک میکند هر آن چیزی که میخواهید را در خانه و از طریق اینترنت یاد بگیرید.
- نرم افزاری که کمک میکند در خانه باشید و سفارش دهید یا بیایند و اتومبیلتان را تمیز کنند.
- و هزاران نرم افزار کاربردی دیگر …
نرم افزارها آمدهاند که زندگی را برای ما راحتتر کنند و مشکلات ما را حل کنند.
وظیفهی یک برنامه نویس: حل مشکل
فکر میکنم تا الان توانستیم پاسخ مناسبی برای سوال برنامه نویسی چیست پیدا کنیم. حالا میخواهیم به این موضوع بپردازیم که وظیفهی یک برنامه نویس چیست؟
وظیفهی یک برنامه نویس خوب را میتوان در متن زیر خلاصه کرد:
یک برنامه نویس خوب و حرفهای، باید مشکلات زندگی انسانها، شرکتها، سازمانها و… را پیدا کند و از طریق طراحی و برنامه نویسی سیستمهایی، آن مشکلات را حل کند. بطور خلاصه، وظیفهی اصلی یک برنامه نویس، حل مشکلات موجود است. که با استفاده از تخصصی که دارد، میتواند این مشکلات را حل کند.
انواع زمینههای برنامه نویسی
بسیاری از دوستان در کلاس ها و کارگاههای آموزشی ما این سوال را مطرح میکنند که «کدام زبان برنامه نویسی رو انتخاب کنم؟» و من همیشه برای این سوال یک پاسخ دارم: بستگی به این دارد که چه کاری میخواهید انجام دهید.
در مقاله و آموزش «چرا چیزی به نام بهترین زبان برنامه نویسی وجود ندارد؟» توضیح دادیم شما نمیتوانید به دنبال بهترین زبان برنامه نویسی باشید و این سوال را مطرح کنید که بهترین زبان برنامه نویسی چیست. هر زبان برنامه نویسی در یک محیط خاص و برای کار خاصی ساخته شده است.
برای اینکه بخواهید اقدام به یادگیری یک زبان برنامه نویسی کنید، اول باید تصمیم بگیرید که در چه حیطهای میخواهید کار کنید؟
آیا میخواهید یک طراح وب باشید؟ یا دوست دارید به یک برنامه نویس وب تبدیل شوید. شاید هم بخواهید یک برنامه نویس فول استک باشید. یا شاید به طور کلی علاقهی شما سمت ساخت اپلیکیشن های موبایلی باشد. شما با توجه علاقهتان باید انتخاب کنید که کدام زبان برنامه نویسی را میخواهید یاد بگیرید.
یک زبان برنامه نویسی عالی نداریم. زبان های برنامه نویسی مختلف در زمینههای مختلف میتوانند عالی باشند. پس سوال «بهترین زبان برنامه نویسی چیست؟» یک سوال اشتباه است که بجای آن مثلا برای بپرسیم که «بهترین زبان برنامه نویسی برای ساخت اپلکیشین های اندرویدی چیست؟»
اگر میخواهید دربارهی این موضوعات بیشتر بدانید، مطالبی که در چند خط بالا لینک شدهاند را مطالعه کنید. مطالعهی مطالب زیر نیز میتواند برایتان مفید باشد:
- Front End چیست و به چه کسی برنامه نویس فرانت اند میگویند؟
- Back End چیست و به چه کسی برنامه نویس بک اند میگویند؟
یک دنیای بزرگ: وب، اندروید، ios، دسکتاپ و…
دنیای برنامه نویسی بسیار بزرگ است. برنامه نویسی وب، اندروید، ios و… . اولین سوالمان این بود که برنامه نویسی چیست . اما ممکن است سوالات دیگری نیز برایمان پیش بیاید که کدام زبان برنامه نویسی را انتخاب کنیم؟ تفاوت زبان های برنامه نویسی چیست ؟ کدام زبان برنامه نویسی بهتر است؟ درآمد برنامه نویسی در ایران چطور است؟ و هزاران سوال دیگر.
با ما در یادیفای همراه باشید تا در مقالات آینده بتوانیم تماس سوالاتی که در ذهنتان است را باهم بررسی کنیم و به پاسخ برسیم.
نظر شما دربارهی چیست؟ بنظرتان واقعا برنامه نویسی چیست ؟ شما برنامه نویسی را چطور برای خودتان معنا میکنید و به سوال برنامه نویسی چیست چطور پاسخ میدهید؟ لطفا نظرتان را برایمان بنویسید.
درباره مهدی خسروی
۸ سال پیش که یادگیری برنامه نویسی رو آغاز کردم، با یک مشکل بزرگ مواجه شدم: کمبود منابع آموزشی حرفهای و کاربردی به زبان فارسی. به همین دلیل، بعد از چندین سال فعالیت حرفهای در زمینهی برنامه نویسی، تصمیم گرفتم دانستهها و تجربیات خودم را با شما عزیزان به اشتراک بگذارم. پیشنهاد میکنم به آدرس yadify.com/gifts حتما سر بزنید :)
نوشته های بیشتر از مهدی خسرویمطالب زیر را حتما مطالعه کنید
25 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
دیدگاهتان را بنویسید لغو پاسخ
این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش میشوند.
سلام خوبید تبریک میگم بابت سایت جدیدتون
من چجور این ویدیو ها رو دانلود کنم؟؟
سلام
سپاس بابت محبت شما
بزودی لینک های دانلود فیلم هارو هم قرار میدیم.
ولی بپیشنهاد میکنیم ویدئو هارو آنلاین و همون لحظه نگاه کنید. به این دلیل که آموزش ها بعد از دانلود، بین دهها فایل دیگه در سیستم شما گم میشه و خیلی احتمالش کمه که پیدا کنید فیلم رو و مشاهدهاش کنید. ولی اگر انلاین باشه، همون لحظه مشاهده میکنید.
سلام
جناب خسروی فقط خدا میداند که برای تهیه این مطالب آموزشی چقدر زحمت میکشی و تمام سختی هاش رو به جان میخری 🙁
پرقدرت ادامه بده و باید کشور عزیزمان را از نظر منبع آموزشی غنی کنیم.
موفق و پیروز باشید
سلام مسعود گرامی
از لطف و محبت شما ممنونم
دقیقا یکی از اهداف تیم ما این هست که آموزش حرفهای و استاندارد رو در کشور رواج بدیم و کاری کنیم که همهی مردم به آموزش سطح بالا دسترسی داشته باشند. از نظرتان انرژی مثبت بسیار زیادی گرفتم. سپاسگزارم
سلام آقای خسروی عزیز
شما گفتید base همه ی زبان ها یکی است. منظورتون رو متوجه نشدم. ممنون میشم اگر توضیح بدید.
با تشکر
سلام اویس گرامی
ممنونم بابت سوال خوبتون. این سوالتون باعث شد که فایل «چطور در ۱ ماه ۱۰ زبان برنامه نویسی را یاد بگیریم؟» را ضبط کنم. پیشنهاد میکنم حتما این فایل را مشاهده کنید. در آن کاملا منظور خودم را توضیح دادهام.
موفق باشید 🙂
سلام.وقت بخیر
خیلی ممنون که به زبان ساده و خیلی کامل توضیح میدید. همیشه فکر میکردم برنامه نویسی و … خیلی پیچیده و سخته و نمیشه یاد گرفت!
لطفا راهنمایی کنید اگه بخوام در زمینه کارهای کامپیوتری به طور کلی، وارد بازار کار بشم از کجا باید شروع کنم و ابتدا چه آموزشی ببینم؟
با توجه به اینکه قبلا هیچ آموزشی در این زمینه ندیدم
تشکر
سلام دوست گرامی
برای هرکدام از زمینه های کاری، میشود استراتژی مختلفی را برای موفقتر بودن پیش گرفت. در آینده حتما دربارهی این موضوعات صحبت خواهیم کرد.
با سلام من علاقه ی زیادی به برنامه نویسی دارم بین زبان های برنامه نویسی هر کدام رو که علاقه بیشتر بهش دارم و بپردازم ؟ یا همه زبان هارو باید یاد بگیرم !؟
سلام جناب بارانزاده گرامی
بهتون تبریک میگم که علاقمند به این حیطه هستید. امیدوارم موفق باشید.
در خصوص یادگیری، اصلا نیاز نیست که شما همهی زبان های برنامه نویسی رو یاد بگیرید. فقط تصمیم بگیرید که در کدام حیطه میخواهید کار کنید و سپس اقدام کنید و زبان برنامه نویسی مخصوص اون حیطه رو یاد بگیرید. پیشنهاد میکنم فیلم آموزشی «بهترین زبان برنامه نویسی چیست» رو مشاهده کنید.
مطالبتون بسیار مفید و کاربردی بود
شما تدریس برنامه نویسی هم دارین؟
جهت تولید فیلماموزشی
اگر علاقه مند بودین
سلام اقای/خانوم میرزایی عزیز
تدریس من فقط در همین سایت هست. ممنونم از محبت شما 🙂
برنامه نویسی قشنگ ترین کار دنیاست که اتفاقا برخلاف اینکه خیلی ها اون رو سخت و ترسناک نشون میدن خیلی هم ساده و جذاب هست فقط کافیه بتونی با مکانیزم طبیعی ذهن خودت برنامه نویسی کنی، یعنی ۶مدن چیزی که میبینیم رو تبدیل به کد بکنیم بعد هم با زبان برنامه نویسی تبدیل به نرم افزار میشه
به همین سادگی
سلام خسته نباشیدممنون میشم دوست عزیز پاسخ بدین برای برنامه نویس حرفه ای شدن حتما نیاز رشته شو بخونی یا با تخصص دیگه مثلا رشته های دیگه قبل درک و فهمیدن و حرفه ای شدن باتوجه به منابع خوب.
سلام محمدامین عزیز
خیر. برای تبدیل شدن به یک برنامه نویس خوب، نیاز نیست که حتما رشتهی اون رو بخونید. خیلی از برنامه نویس های حرفهای رو میشناسم که رشتههای متفاوتی مثل معماری، مکانیک یا … رو در دانشگاه خوندن و الان در برنامه نویسی بسیار موفق هستن. مهم اینه که یاد بگیرید، تجربه کنید و زمان بگذارید. توی دانشگاه معمولا چیز خاصی رو به شما آموزش نمیدن متاسفانه
سلام ..من تازه میخوام وارد دنیای برنامه نویسی بشم .. راستش من به هکر شدن خیلی علاقه مندم البته یه هکر کلاه سفید .. برای این کار نمی دونم که باید کدوم زبان رو یاد بگیرم و چه مطالبی رو بخونم … میخوام اول اصول و پایه برنامه نویسی رو یاد بگیرم اما نمی دونم باید از کجا شروع کنم 🙁
میشه کمکم کنید …
درضمن ..سایتتون حرف نداره
سلام عرشیا گرامی
برای تبدیل شدن به یک هکر خوب، اول باید یک برنامه نویس خیلی خوب باشید. بنظر من تمرکزتون رو از روی هکر شدن فعلا بردارید و بزارید روی تبدیل شدن به یک برنامه نویس حرفهای. بعد از یه مدتی که حرفهای شدید، خودتون متوجه میشید که چطور میتونید کارهای مربوط به هک رو انجام بدید. موفق باشی 🙂
سلام آقا مهدی
بدبخت شدیم
دوباره هوش سیاه می خواد که از شبکه آی فیلم پخش بشه
و دوباره نشان دادن شخصیت بد برنامه نویس ها و هکر ها
سلام حسن گرامی
ای بابا:))) البته که این داستان همیشه هست. مخصوصا با شبکهی آی فیلم :))
چند سال طول میکشه به یک برنامه نویس حرفه ای تبدیل شم؟
سلام علیرضا جان
نمیشه به این سوال با یک عدد جواب داد. کاملا بستگی به خودتون داره. اما اگه یک تمرین و یادگیری خوب داشته باشید، بعد از ۲ الی ۳ سال تجربهی در برنامه نویسی، میتونید یک برنامه نویس خوب باشید. و هرچقدر رزومه و تجربهی کاری شما بیشتر باشد،به یک برنامه نویس حرفهای تر تبدیل خواهید شد.
سلام من همیشه از ک نویسی حس خوبینداشتم ولی الان مشتاق شدم یاد بگیرم به نظرتون چقدر زمان میبره تا یک برنامه نویس حرفه ای بشم؟
سلام سعید عزیز
جواب این سوال کاملا به خودتون بستگی داره. اما بنظرم با یک تلاش خوب، بین ۶ ماه تا ۱ سال میتونید نتایج خوبی از برنامه نویسی بگیرید. اما بازم میگم که همه چیز بستگی به خودتون داره.
باتشکر از شما بخاطر سایتتون
بنظرتون برای برنامه نویسی برنامه های موبایل اندروید چه زبان رو استفاده کنم ؟؟؟؟
باتشکر
ممنونم از شما محمد جان
برای برنامه نویسی اندروید شما میتونید از دو زبان جاوا و کاتلین استفاده کنید. که جفشتون هم عالی هستن. اما حتما پیشنهاد میکنم که جاوا رو فراموش نکنید و حتما یادش بگیرید. چون خیلی به شما کمک میکنه یادگیریش