با ما در تماس باشید : 02177422883 || tehranrobotic@outlook.com
در پاسخ به اینکه برنامه نویسی چیست، باید پرسشهای فراوانی را پاسخ بدهیم، در ادامه برررسی کردیم که برنامه نویسی چیست و اصلاً چرا به وجود آمده است به عبارت دیگر کاربرد برنامه نویسی چیست، انواع برنامه نویسی چیست و چرا باید برنامه نویسی کنیم و چگونه میتوانیم برنامه نویس شویم.
.png)
شمایی که این مقاله رو میخونید، شاید از برنامه نویسی بدونید، شایدم هیچ پیش زمینه ای نداشته باشید، ممکنه تحت تأثیر رسانه ها، تصور کنید که برنامه نویسی کاری خارق العاده و عجیب و غریبه که یه آدم غیرعادی میتونه انجامش بده، در حالی که اصلاً اینطور نیست. در این مقاله به پاسخ به این پرسش میپردازیم. که برنامه نویسی چیست.
برنامه نویسی به زبان ساده یعنی برنامه ای بنویسیم و با ماشین(لپ تاپ، کامپیوتر و ...) ارتباط بگیریم و به این ترتیب با ارتباط با سیستم کارهامون رو انجام بدیم. یک برنامه نویس ممکنه بتونه یک سایت طراحی کنه، یک اپلیکیشن موبایلی بسازه یا یه پلتفرم هوش مصنوعی طراحی کنه و ...، هرکدام از اینها نیازمند تسلط برنامه نویس به تکنولوژی ها و زبانهای برنامه نویسی خاصی هست که بستگی به توانایی های برنامه نویس و انتخاب هاش داره. به طور کلی میتونیم بگیم برنامه نویسی یعنی توانایی کار با یک زبان برنامه نویسی، بنابراین به کسی که حداقل بر یک زبان برنامه نویسی تسلط داشته باشد و بتواند با آن کار کند، برنامه نویس میگوییم.
یک زبان برنامه نویسی، ابزاری برای ارتباط با کامپیوتر و دستور دادن به آن میباشد. یک زبان برنامه نویسی باید دارای ویژگی های زیر باشد:
مجموعه ای از قوانین: زبان باید از قوانین و ساختار مشخصی پیروی کند تا کامپیوتر بتواند آن را بفهمد.
واژگان: زبان باید از کلمات کلیدی، کنشگرها و سایر عناصر برای نوشتن دستورات استفاده کند.
نحو: زبان باید قوانینی برای ترکیب کلمات کلیدی و کنشگرها به منظور ایجاد جملات و دستورات صحیح داشته باشد.
معنی: هر جمله و دستوری در زبان باید معنای مشخصی داشته باشد که توسط کامپیوتر قابل فهم باشد.
توانایی بیان: زبان باید قادر به بیان طیف وسیعی از دستورات و وظایف باشد.
بنابراین نمی توانیم به هرچیزی که به شکل کدهای خوانا و یا ناخوانا میبینیم زبان برنامه نویسی بگوییم، به کسی که توانایی نوشتن کد را داشته باشد، کدنویس می گویند. و نوشتن کد به زبانها و با ابزارهایی که ویژگیهای بالا را ندارند، کدنویسی به حساب میآید و برنامه نویسی نیست.
برنامه نویسی نوشتن مجموعه دستوراتی با معنی است که ممکن است شامل بگیری مجموعه ای از شروط و توابع باشد که برای انجام هدف خاصی طراحی شدهاند، این هدف ممکن است ایجاد یک پلتفرم یا سامانه(system)، تغییر یک پلتفرم، تجزیه و تحلیل داده ها، بکارگیری رباتها، ایجاد سرگرمی، اتوماسیون و ... باشد.
تا به اینجا فهمیدیم که برنامه نویسی بدون وجود یک زبان برنامه نویسی ممکن نیست، همچنین کد نویسی با برنامه نویسی ممکن است اشتباه گرفته شود، ولی این دو با یکدیگر تفاوت دارند. حال به توضیح بیشتر درباره زبانهای برنامه نویسی میپردازیم، از آنجایی زبان برنامه نویسی پلی برای ارتباط با سیستم و زبانی بین زبان انسان و زبان ماشین میباشد، زبانهای برنامه نویسی را به دسته های سطح بالا و سطح پایین دسته بندی میکنند، هرچه زبان برنامه نویسی سطح بالاتر باشد به زبان انسان نزدیکتر میباشد و البته منظورمان زبان بین المللی یعنی انگلیسی میباشد، امروزه زبان برنامه نویسی پایتون یکی از سطح بالاترین زبانهای برنامه نویسی به شمار می رود، زبان برنامه نویسی سی شارپ، سی پلاس پلاس، جاوا اسکریپت و ... نیز نمونه هایی از زبانهای سطح بالا به شمار میروند، درحالی که زبانهایی مانند زبان سی، جاوا، اسمبلی و ... زبانهایی هستند که سطح پایین به شمار میروند. البته برخی از زبانها را به دسته بندی دیگری مانند سطح میانی نیز نسبت میدهند.
در اینجا منظورمان از ماشین، به انگلیسی machine ، سیستم های دیجیتالی میباشند که قابل برنامه نویسی هستند، برنامه نویسی محدود به کامپیوتر نمیشود و برای نمونه ممکن است یک ربات یا ماشین صنعتی داشته باشیم که قابل برنامه نویسی باشد، ما میتوانیم با برنامه نویسی با ماشین ارتباط بگیریم و درخواستمان را به صورت مستقیم به کامپیوتر بگوییم، کامپیوتر دستورات ما را به صورت دقیق اجرا میکند و منتظر دریافت دستورات بعدی میشود. برای نمونه ماشین حسابی که در تلفن همراه یا لپ تاپ شما قرار دارد یک برنامه است که برنامه نویسی شده تا دستورات و علائم ریاضی را از شما دریافت کند و نتیجه را نمایش دهد، همچنین یک برنامه مسیریاب موظف تا مبدأ و مقصد را از کاربر دریافت کند و مسیر را محاسبه کرده و نمایش دهد، یا یک دستگاه صنعتی برنامه نویسی شده تا وسایلی را از نظر سلامت بررسی کند و در صورت سالم بودن آنها را به شکل خاصی بسته بندی کند، همچنین وب سایت رباتیک تهران برنامه نویسی شده تا محتوایی را که در حال خواندن آن میباشید به شما نمایش دهد، همگی اینها نمونههایی از کاربردهای برنامه نویسی در زمینههای گوناگون میباشند.
کدنویسی و برنامه نویسی شغلی بین المللی میباشد، البته اینکه شما بتوانید در این زمینه درآمد کسب کنید، بستگی به توانایی و مهارت شما دارد و البته این کافی نمیباشد و برای کسب درآمد یک برنامه نویس باید، دانش کسب و کار و تجربه نیز کسب کند، برای نمونه پس از یادگیری برنامه نویسی میتوانید یک دوره کارآموزی بگذرانید و سپس وارد بازار کار شوید، شما ممکن است به عنوان یک برنامه نویس بخواهید در یک شرکت مشغول به کار بشوید، همچنین ممکن است بخواهید به عنوان یک فریلنسر دورکاری کنید، باید بیافزاییم که کسب درآمد دلاری از طریق برنامه نویسی نیز ممکن میباشد، البته برای این منظور در کنار مهارت باید کارهای دیگری هم انجام بدهید تا بتوانید به درآمد دلاری برسید.
ماشین های دیجیتالی از پردازنده هایی ساخته شدهاند که این پردازنده ها، اعداد باینری(binary) یا مجموعهای از اعداد یک و صفر را درک میکنند، به زبان باینری، زبان ماشین نیز میگوییم که درک آن برای انسان بسیار سخت است، بنابراین در پاسخ به اینکه برنامه نویسی چیست باید بگوییم زبانهای برنامه نویسی به وجود آمدهاند، امروزه تعداد زیادی زبان برنامه نویسی داریم که هرکدام برای کاری طراحی شدهاند و برخی از آنان چند منظوره میباشند و به نوعی مانند آچار فرانسه در جعبه ابزار ما هستند. برای نمونه زبان برنامه نویسی php به منظور طراحی بکاند سایت ساخته شده و در موارد دیگر کاربرد چندانی ندارد.
تا کنون متوجه شدهایم که برنامه نویسی چیست، همچنین به این اشاره کردیم که یک زبان برنامه نویسی یک ابزار است. بنابراین برای انجام کار مناسب باید ابزار متناسب با آن کار انتخاب گردد، برای زیر و رو کردن خاک از بیل و برای سوراخ کردن دیوار از دریل بهره میگیریم. در میان زبانهای برنامه نویسی چندی از آنها پرکاربردتر و محبوب تر میباشند.
در اینجا به آنها اشاره میکنیم و توضیحی از هرکدام میدهیم:
زبان php : پی اچ پی، یک زبان برنامه نویسی پرکاربرد در زمینه بکاند سایت میباشد.
زبان c++ : سی پلاس پلاس، یک زبان چند منظوره میباشد، از کاربردهای آن میتوانیم به توسعه نرم افزار ویندوز، برنامه نویسی میکروکنترلرها، بازی سازی و اتوماسیون اشاره کنیم و ...
زبان R : این زبان برنامه نویسی در زمینه هوش مصنوعی و علم داده کاربرد دارد.
زبان java : این زبان در زمینه توسعه نرم افزار برای موبایل و کامپیوتر کاربرد دارد، همچنین در زمینه بکاند سایت نیز میتوان آنرا به کار برد....
زبان C# : سی شارپ یک زبان برنامه نویسی چند منظوره میباشد که در توسعه نرم افزار ویندوز، توسعه بازی، اتوماسیون و بکاند سایت کاربرد دارد، این زبان فریمورک قدرتمند .net را برای توسعه وبسایت ارائه داده است.
زبان JavaScript : این یک زبان چندمنظوره میباشد که به طور گسترده در زمینه اینترنت کاربرد دارد، این زبان برنامه نویسی برای فرانت اند و بک اند سایت، توسعه نرم افزار اندروید و IOS ، اتوماسیون و ... به کار میرود.
زبان go : یک زبان برنامه نویسی نسبتاً نوظهور که به نام golang نیز شناخته میشود، این زبان توسط گوگل ارائه شده و کاربردهای گوناگونی دارد، از کاربردهای آن در زمینه بکاند سایت میباشد و مزیتش سرعت بسیار بالای آن در اجرا میباشد.
اینها تنها بخشی از کاربردهای چند زبان شناخته شده میباشند، زبانهای شناخته شده دیگری همچون dart ، اسمبلی ، ruby ، lua نیز وجود دارند و البته بسیار زبانهای دیگری که کمتر شناخته شده میباشند و گفتمان درباره همه آنها در این مقاله نمیگنجد. همچنین یکی از محبوبترین زبانهای برنامه نویسی روز زبان python است که در ادامه بیشتر به آن میپردازیم.
این زبان برنامه نویسی، همانطور که پیشتر گفته شد چندمنظوره میباشد، از کاربردهای پایتون میتوانیم به هوش مصنوعی و دادهکاوی یا علم داده اشاره کنیم، این زبان برنامه نویسی به جرأت قوی ترین و بهترین زبان برنامه نویسی در این زمینهها میباشد، از دیگر کاربردهای پایتون، اتوماسیون و ساخت برنامههای کاربردی بدون رابط کاربری خاص میباشد. البته پایتون برای ساخت رابط کاربری کتابخانه هایی دارد، ولی در زمینه های گرافیکی آنچنان قدرتمند به شمار نمی رود، این زبان برنامه نویسی در زمینه سیستم های جغرافیایی (GIS) نیز کاربرد دارد. از دیگر کاربردهای پایتون توسعه وب میباشد و از آن برای ساخت API و بک اند سایت و اپلیکیشن بهره میگیریم.
با پایتون میتوان بازی هم توسعه داد، البته در زمینه توسعه بازی خیلی قدرتمند نیست، نوعی بازی های داستانی نیز با زبان پایتون توسط کتابخانه renpy ارائه میگردد. همانطور که میبینید این زبان برنامه نویسی توانایی های گستردهای دارد و البته بازهم اگر بخواهید این زبان را انتخاب کنید باید ببینید کاربردهایش مناسب کار شما میباشد یا خیر، برای نمونه اگر میخواهید به طور جدی بازی سازی کنید و یا میخواهید در زمینه فرانت اند و ساخت ظاهر سایت، اپلیکیشن و ... فعالیت کنید، پایتون انتخاب مناسبی نیست.
برای شروع برنامه نویسی نیاز به یادگیری یک زبان برنامه نویسی میباشد، از نظر بسیاری از صاحب نظران، زبان سی و یا c++ برای آغاز یادگیری برنامه نویسی مناسب میباشد و برخی بر این باورند که پایتون انتخاب مناسبی برای شروع میباشد، برنامه نویسی منطقی دارد و الگوریتم هایی که در بسیاری از زبانهای برنامه نویسی مانند هم و گاهی یکی میباشند. بنابراین با هر زبانی شروع کنید خوب است و در ادامه میتوانید زبان خود را تغییر دهید، باز هم بسته به خواست شما ، هدفتان و نیازهای شما همچنین با توجه نظر شخصی و علاقه خودتون میتوانید این انتخاب را انجام دهید. شما میتوانید آموزش برنامه نویسی را از منابع رایگان و پولی به زبان فارسی و یا انگلیسی دریافت کنید، این آموزشها ممکن است حضوری و یا غیرحضوری باشند.
برای شروع برنامه نویسی اگر یک سیستم ساده داشته باشید، همین کافی است، اگر تسلط خوبی بر کامپیوتر داشته باشید و توانایی تایپ سریع(ده انگشتی) را داشته باشد، بهتر هم میشود، و البته اگر این توانایی ها را ندارید، همینکه بتوانید با لپ تاپ یا کامپیوتر کارهای ساده انجام بدهید، کافی است، مقداری درک ریاضی و دانستن چهار عمل اصلی نیز لازم میباشد.
در ادامه بستگی به اینکه در چه زمینه ای قدم میگذارید ممکن است نیاز باشد چیزهای دیگری نیز یاد بگیرید برای نمونه اگر بخواهید وارد زمینه هوش مصنوعی بشوید مقداری ریاضیات مخصوص، همچون جبر خطی، و آمار و احتمال نیاز است که بدانید، در حالی که اگر بخواهید وبسایت توسعه دهید نیازی به دانستن اینها نیست.
پرسش اولیه را برعکس کردیم تا مطمئن شویم برنامه نویسی چیست، برنامه نویسی شغلی آسان و پردرآمد، کار بدون زحمت، شغل خیلی سخت، کاری که فقط افراد با هوش خیلی بالا میتوانند انجام دهند، کاری جانبی، زبان ماشین، دانستن سایر دانشهای کامپیوتر و ... نیست، هر کدنویسی و تکنولوژی برنامه نویسی به شمار نمیرود، برای نمونه html- css زبان برنامه نویسی نیستند و کسی که بر فقط بر اینها تسلط داشته باشد، صرفاً یک کدنویس مسلط بر این تکنولوژی ها که در فرانت اند سایت کاربرد فراوان دارند میباشد و نه یک برنامه نویس. برنامه نویسی صرفاً آنچه که تعریف شد میباشد و برای برنامه نویس شدن میبایست تلاش کرد، این شغل ممکن است درآمدی کم، متوسط و یا زیاد داشته باشد و این کاملاً به عملکرد شما بستگی دارد، برنامه نویس باید به این کار علاقه مند باشد و وقت و انرژی زیادی پای آن بگذارد، همچنین باید حوصله چندین ساعت نشستن پشت کامپیوتر را داشته باشد و علاقه مند به حل مسئله و رفع مشکلاتی که پیش میآید باشد.
در پایان
در این نوشتار، توضیحی بر اینکه برنامه نویسی چیست داشتیم و تفاوت آن با کدنویسی را بیان نمودیم، همچنین با درک اینکه برنامه نویسی مانند یک ابزار رابط بین انسان و ماشین عمل می کند، دریافتیم که زبانهای برنامه نویسی گوناگون و زیادی وجود دارند که بنا بر نیاز خود از یک یا چندی از آنان بهره میگیریم.
گفتنی است اینکه برنامه نویس شوید یا نه بستگی به میل شخصی و علاقه شما دارد، اگر به این زمینه علاقه مند هستید، میتوانید یادگیری را آغاز کنید، در غیر اینصورت به هیچ عنوان ورود به این عرصه را پیشنهاد نمی کنیم.