برنامه نویسی امروزه یکی از حوزه های پرطرفدار و محبوبی است که در ایران نیز افراد زیادی به یادگیری و فعالیت در آن گرایش و تمایل بسیار زیادی دارند. برنامه نویسی چیست؟ چطور میتوانیم برنامه نویس شویم؟ درآمد یک برنامه نویس چقدر است.؟ اینها همه سوالاتی هستند که درباره برنامه نویسی در ذهن شما وجود دارد. به همین واسطه در این مطلب قصد داریم به طور کامل و مفصل حوزه برنامه نویسی و کلیت آن را مورد بررسی قرار دهیم.
برنامه نویسی چیست و چگونه باید آن را یاد بگیریم؟
برنامه نویسی به معنای واقعی کلمه در اطراف ماست.
از سفارش صادرات گرفته تا فیلم هایی که پخش می کنیم و در اینستاگرام یا شبکه های اجتماعی دیگر مشاهده می کنیم.
در واقع این برنامه نویسی است که باعث ساخته برنامه هایی ماندد اینستاگرام و یا تلگرام شده است.
به عبارت دیگر برنامه نویسی یعنی “به کامپیوتر خود دستور دهید“: ایین کلمه در واقع به این معنی است که شما اصولاً مجموعه ای از دستورالعمل ها را به زبان خود ارائه می دهید تا کامپیوتر بتواند آنها را درک کند.
برای مثال یک برنامه ای بسازید که 2 عدد را از کاربر دریافت کند و آن ها را با هم جمع بکند و سپس به کاربر عدد جمع شده را نشان دهد.
همانطور که ما انسانها می توانیم چندین زبان (انگلیسی ، اسپانیایی ، ماندارین ، فرانسوی و …) را بفهمیم ، در کامپیوتر نیز همینطور است.
در واقع کامپیوتر ها نیز زبان های مخصوص خودشان را دارند و برای اینکه ما بتوانیم دستوراتی را به کامپیوتر خود بدهیم و از او بخواهیم برنامه مورد نظر ما را بسازد باید یک زبان برنامه نویسی را یاد بگیریم.
در بالاتر به شما توضیح دادیم که برنامه نویسی می تواند خیلی ساده باشد که برای مثال 2 عدد را با هم جمع بکند.
اما شما می توانید برنامه های پیچیده تری بنویسید که کار های بیشتری را انجام دهد و کاربرد بیشتری داشته باشد.
برای مثال:
شما وقتی از یک فروشگاه بزرگ و معتبر خرید می کنید، وقتی به صندوق می روید و می خواهید صورت حساب خود را مشاهده کنید می بینید که صندوق دار با استفاده از کامپیوتر خود قیمت تمامی اجناس را به شما نشان می دهد و فاکتور شما را چاپ می کند.
خب این هم یک برنامه است که طراحی کرده اند تا قیمت اجناس را با یکدگیر جمع بزند و در آخر آن را چاپ کرده و به مشتری نشان دهد.
پس با این مثالی که برای شما زدم باید متوحه شده باشید که برنامه نویسی چیست و چه کاربردی در زندگی عادی ما دارد.
پس یک بار دیگر برای شما مثال میزنم ، به طور خلاصه ، برنامه نویسی راهی است که به کامپیوترها می گوید یک کار خاص را انجام دهند.
اولین زبان های برنامه نویسی چگونه ساخته شدند؟
به عنوان مثال به جای کد ۰۱۰۰۱۱۰۱ عبارت SUM را به ماشین تحویل میدادند و کامپیوتر زحمت تبدیل این عبارت به معادل باینری آن را بر عهده داشت، اگر تا قبل از به وجود آمدن این زبان رشتهی عددی 01001101 نشاندهندهی عملیات جمع در کامپیوتر بود، از این پس عبارت SUM برای کامپیوتر معادل 01001101 و به معنای عملیات جمع تلقی میشد.
البته که در نهایت تمام این دستورات برای فهم کامپیوتر باید به زبان باینری تبدیل میشد، که این فرایند (یعنی تبدیل دستورات اسمبلی به باینری) بر عهدهی اسمبلر بود، از آنجایی که تبدیل زبان اسمبلی خود احتیاج به پردازش جداگانهای داشت، بنابراین از سرعت کمتری نسبت به زبان باینری برخوردار بود.
به مرور زمان، زبانهای پیشرفتهای خلق شد که امکانات و قابلیتهای گستردهتری را در اختیار برنامهنویسان قرار میداد، زبانهایی مانند سی، جاوا، پایتون و… نمونههایی از این زبانها به شمار میآیند، هرچند زبانهای سطح بالا سادگی و کارایی بیشتری را در اختیار برنامهنویس قرار میدادند، اما زبانهای سطح پایین مانند باینری و اسمبلی همچنان از سرعت بیشتری برخوردار هستند، چراکه فرایند تبدیل و کامپایل در آنها وجود نداشته و پردازش کمتری توسط رایانه انجام میشود.
امروزه در سیستمهایی که احتیاج به سرعت پردازش بالایی دارند، بهعنوان مثال فضاپیماها، سیستمهای بیمارستانی یا رباتهای خاص از زبانهای سطح پایینتر مانند اسمبلی و حتی باینری استفاده میشود، اما در برنامهنویسیهای معمولی، مانند اپلیکیشنهای کامپیوتر، موبایل و وب از زبانهای سطح بالا استفاده شده و وظیفهی کامپایل یا ترجمهی دستورات برعهدهی کامپیوتر گذاشته میشود.
تاریخچه برنامه نویسی
در ادامه مطلب برنامه نویسی چیست به تاریخ برنامه نویسی می پردازیم.
اولین نمونه عملی برنامه نویسی به شخصی به نام ژاکارد به سال 1801 در فرانسه برمی گردد.
او یک ماشین بافندگی طراحی کرده بود که می توانست برخی از کارهای بافندگی را که روی کارتهای پانچ ثبت شده است ، انجام دهد.
این فناوری به کارگران عادی این امکان را می دهد که بافتهای پیچیده و با کیفیت بالاتری تولید کنند.
اکنون ، به جای کارگران ماهر متعدد ، فقط یک نفر کافی بود تا کل دستگاه را اداره کند.
تقریباً یک روند مشابه در جریان انقلاب صنعتی انگلیس مشاهده شد.
پس از استفاده از ماشین های خودکار و کاهش نیروی انسانی ، جنبشی به نام لودیت ها آغاز شد.
این جنبش را افرادی تشکیل می دهند که مخالف توسعه فناوری هستند و برای دستیابی به کار ، نان و غذا بر علیه فناوری می جنگیدند.
در این دوره ، برنامه نویسی به موازات ساخت ماشین های جدید توسط پاسکال ، بابیج ، شوالتز و غیره توسعه یافت.
برای حل هر مشکل ، ماشین جدیدی ساخته میشد که دارای چرخ دنده ، سیم ، میله و کنترل جدیدتر از قبل بود.
در سال 1847 ، یک ریاضیدان انگلیسی به نام جورج بول با معرفی جبر منطقی ارتباط بین ریاضیات و منطق را اثبات کرد.
برای اولین بار او ثابت کرد که منطق بخشی از ریاضیات است تا فلسفه! این عمل که گام بزرگی در تفکر انسان است ، تقریباً صد سال (تا سال 1940) طول کشید تا در محاسبات رایانه ای مورد استفاده قرار گیرد.
اولین کامپیوتر الکترونیکی در دهه 1940 ساخته شد.
حافظه محدود و سرعت بسیار کم (در مقایسه با سرعت رایانه های مدرن) از ویژگی های اصلی رایانه های الکترونیکی اولیه بود.
در آن سال ها ، که به عنوان عصر اطلاعات شناخته می شود ، اجرای برنامه های رایانه ای نیاز به تنظیم سوئیچ ها، و اتصال سیم های مختلف داشت که منطق برنامه را تعیین می کرد.
در آن صورت ، برنامه نویسی چیزی بیشتر از تنظیم تعداد زیادی سیم نبود.
چند دقیقه محاسبه برای اتصال سیم ، سوئیچ و پورت به چند روز زمان نیاز دارید.
برای هر عملیات ، سخت افزار خاصی طراحی شده بود که باید از طریق سیم و درگاه ها متصل می شد تا برنامه اصلی تشکیل شود.
در سال 1945 ، جان ون نویمان ، در حالی که در انستیتوی تحقیقات عالی کار می کرد ، دو اصل اساسی را ارائه داد که تأثیر مستقیمی بر توسعه برنامه نویسی داشت.
اولین اصل “تکنیک برنامه مشترک” نام داشت.
طبق این اصل ، سخت افزار کامپیوتر باید بسیار ساده باشد و نیازی به اتصال دستی و مجهز کردن هر برنامه نیست.
در عوض ، دستورات نرم افزار باید ترکیبی از همان دستورات سخت افزاری ساده باشد تا یک دستور نرم افزار پیچیده تر تشکیل شود.
این اصل دستورات سخت افزاری و نرم افزاری پیچیده را ساده می کند.
جان ون نویمان اصل دوم خود را “انتقال کنترل مشروط” نامید.
مطابق این اصل که تأثیر بسزایی در توسعه برنامه نویسی داشته است ، یک برنامه کامپیوتری می تواند حاوی بلوک های کوچکتری از دستورات باشد که زیرروال ها نامیده می شوند و می توانند در هر جای برنامه اصلی قرار بگیرند.
از این بلوک ها می توان به تعداد مورد نیاز در هر کجای برنامه اصلی استفاده کرد.
بخش مهم دیگر این اصل امکان کنترل روند برنامه یک کامپیوتر از طریق دستورات منطقی مانند IF … سپس چرخه هایی مانند FOR را فراهم می کند.
1948 مصادف با مقدمه تئوری ریاضیات ارتباطات توسط کلود شانون است.(کلود شانون ، 1916-2001).
پایان نامه وی در مورد نظریه ریاضیات ارتباطات اساس نظریه اطلاعات است.
این نظریه نحوه استفاده از منطق باینری (اعداد مبتنی بر صفر و یک برابر) را در محاسبات نرم افزار کامپیوتر توضیح می دهد.
پایان نامه شانون دنیای صفر و یک (باینری) را تشکیل داد که اساس رایانه های الکترونیکی امروزی است.
بعداً ، اولین کامپیوتر باینری در طول جنگ جهانی دوم توسط یک شخص آلمانی به نام زئوس ساخته شد.
در سال 1949 ، پس از معرفی دو اصل جان ون نویمان ، یک زبان برنامه نویسی به نام Short Code ایجاد شد.
کد کوتاه ، که دستورات آن از یک سری صفر و یک تشکیل شده است ، اولین زبان برنامه نویسی برای رایانه های الکترونیکی است.
ایجاد این زبان برنامه نویسی اولین قدم در ایجاد دنیای برنامه نویسی امروز محسوب می شود.
در سال 1951 ، گریس هاپر اولین کامپایلر رایانه ای ، A-0 را نوشت.
کامپایلر برنامه ای است که دستورات برنامه نویسی را به دستورات صفر و یک تبدیل می کند (سپس دستورات زبان کد کوتاه).
از آن به بعد ، برنامه نویس نیازی به وارد کردن کدهای صفر و یک نداشت و توسعه جهان برنامه نویسی به سرعت چند برابر شد.
سپس FORTRAN به عنوان اولین زبان برنامه نویسی به شکل فعلی در سال 1957 توسط IBM توسعه یافت.
نام آن به معنی FORMula TRANSlating است.
دستورات آن بسیار ساده بود و فقط شامل دستورات IF ، DO و GOTO بود.
اگرچه امروزه دستورات به این زبان بسیار محدود و ناکارآمد در نظر گرفته می شوند ، اما این یک گام بسیار بزرگ به جلو در این زبان بود.
انواع داده ها نیز برای اولین بار به زبان FORTRAN معرفی شدند.
داده هایی مانند متغیرهای منطقی ، صحیح ، حقیقی و دو رقمی را می توان در FORTRAN تعریف و استفاده کرد.
اگرچه زبان FORTRAN با اعداد و داده ها بسیار خوب کار می کند ، اما ورودی و خروجی آن بسیار محدود است.
با ظهور رایانه در دنیای تجارت ، زبانهایی مانند COBOL ظهور کردند.
COBOL که در اصل برای استفاده در برنامه های تجاری طراحی شده بود ، فقط شامل انواع داده های عددی و رشته های متنی بود.
توانایی گروه بندی داده ها به آرایه ها و سوابق ، مدیریت داده ها را آسان تر می کرد.
این امکانات فضا را برای گسترش نرم افزار ذخیره سازی و بازیابی اطلاعات فراهم می کرد.
تا سال 1972 ، بیش از 200 زبان برنامه نویسی مختلف ظاهر شدند.
نسل اول : زبان های برنامه نویسی دارای زبان ماشین (زبان صفر و یک) بودند.
نسل دوم : زبانهای قابلدرکتری برای انسان بودند (مانند زبان اسمبلی).
نسل سوم : به کامپایلر نیاز دارند و دستوراتشان برای انسان قابلفهم است، مثل زبان .COBOL (کامپایلر یا مفسر برنامهای است که دستورات برنامه نویسی را به دستورات صفرویک تبدیل میکند.)
نسل چهارم : زبان محاورهای دارند، مثل Oracle و SQLها.
نسل پنجم : بهوسیلهی الگوریتمهایی که برنامهنویس مینویسد قابلدرکاند. مثل prplog وVisual basic
چگونه برنامه نویس شویم؟
حالا که متوجه شدیدی برنامه نویسی چیست، احتمالا می خواهید بدانید که چطور باید برنامه نویس شوید.
یادگیری و شروع برنامه نویسی به هیچ وجه آسان نیست.
با این حال ، اگر آن را با سایر مهارت ها و مسیرهای شغلی مقایسه کنیم ،تبدیل به یک برنامه نویس شدن می تواند انتخاب بهتری باشد.
ماهیت برنامه نویسی بسیار مهیج است و هر روز یک برنامه نویس با چالش های جدیدی روبرو می شود که برای حل آنها دانش بیشتری لازم است.
همچنین ، برنامه نویسان در دنیای دیجیتال امروز این فرصت را دارند که برای خودشان کار کنند ، در هر زمانی که دوست دارند کار کنند یا حتی پروژه های خود را از راه دور از خانه انجام دهند.
همانطور که می بینید دلایل منطقی زیادی وجود دارد که باعث می شود فرد بخواهد برنامه نویسی را یاد بگیرد.
در ادامه سعی خواهیم کرد آنچه را که باید برای برنامه نویسی بدانید توضیح دهیم.
چرا میخواهید برنامه نویس شوید؟
چرا در نظر دارید برنامه نویسی یاد بگیرید؟
آیای واقعا نسبت به یادگری جدی هستید و هدف شما جدی است؟
چه نوع برنامه نویسی می خواهید انجام دهید؟
برای مثال اگر می خواهید در زمینه برنامه نویسی وب فعالیت بکنید باید ابتدا از زبان های html , css شروع بکنید.
برای شروع این زبان ها دوره های حضوری و آنلاین زیادی وجود دارد که برخی رایگان و برخی نیز پولی هستند.
اما برای شروع رایگان دوره html , css می توانید از دوره آموزش css وبسایت سبز لرن استفاده بکنید.
درآمد برنامه نویسی چقدر است؟
درآمد یک برنامه نویس کاملا به خود شخص بستگی دارد و می تواند ماهانه 3 میلیون تومان درآمد داشته باشد یا ماهانه 10 میلیون تومان درآمد داشته باشد.
اما این مورد کاملا به تخصص و تجربه شخص مورد نظر بستگی دارد.
برای مثال حقوق یک شخصی که سابقه 2 سال برنامه نویسی دارد با یک شخصی که 5 سال سابقه دارد متفاوت است و اصلا یکی نیست.
پس اگر هدفتون این هستش که برنامه نویسی رو شروع بکنید و به فکر درآمدش هستید باید کاملا صبر داشته باشید توی این راه.
منبع:
https://sabzlearn.ir/what-is-programming-how-do-i-learn/