این پست، اولین پست از مجموعهٔ شروع برنامهنویسی است که قراره فضای برنامهنویسی و مسیرهایی که میشه به کمکش رفت رو برای افرادی که هیچ تجربهای در این حوزه ندارن و یا تجربهٔ خیلی کمی دارن شفافتر کنه. توی این مطلب، اول از همه تعریفمون رو از برنامهنویسی همسو میکنیم و در ادامه کاربردهای حال و آینده این حوزه رو بررسی میکنیم.
همهٔ پستهای این سری رو میتونین توی صفحه شروع برنامهنویسی ببینین. اگر هم پست مقدمه رو نخوندین، پیشنهاد میکنم که اول مقدمه رو باز کنین و بخونین.
تعریف برنامهنویسی
ویکی پدیا فارسی میگه:
برنامهسازی رایانهای یا برنامهنویسی رایانهای (به انگلیسی: computer programming) همان فرایند طراحی و ساخت یک برنامه رایانهای اجراپذیر برای بهدستآوردن یک نتیجه رایانشی خاص، یا انجام یک عمل خاص میباشد.
بخوام سادهتر بگم، برنامهنویسی شبیه هر زبان دیگهای، مثل فرانسوی و انگلیسی، یک ابزاره برای ارتباط برقرار کردن. با این تفاوت که اینجا مخاطبت آدمها نیستن و چیزی رو که مینویسی قراره کامپیوتر بخونه. کامپیوتر زبان برنامهنویسی رو بلده. یک خوبی هم که داره اینه که هر کاری رو که ازش بخوایم دقیقا همون رو انجام میده.
با این توصیف، میشه فهمید که هر نرمافزاری رو که توی ویندوز نصب و اجرا میکنیم، برنامه در پشت زمینه خطهای کدی که برنامهنویس نوشته رو اجرا میکنه. اینجا برنامهنویس یک امکانی فراهم کرده که کاربرها بدون داشتن دانش خاصی و صرفا با کلیک کردن روی دکمهها بتونن اون برنامه رو اجرا کنن.
کاربردهای برنامهنویسی
همه نرمافزارها و اپلیکیشنهایی که توی کامپیوتر و موبایل (به موبایل هم میشه گفت یک کامپیوتر کوچکتر) کار میکنن به کمک ابزار برنامهنویسی ساخته شدن. اما کامپیوتر چه کارهای دیگهای رو میتونه انجام بده؟ خیلی چیزها (اگر نگم همه چیز). مثلا:
- ساختن یک وبلاگ برای انتشار محتوا (مثل همین وبلاگی که من دارم توش مینویسم)
- ساختن یک برنامهٔ اندرویدی برای ذخیره و محاسبه خرجی و درآمد ماهیانه
- ساختن یک چت بات (یک بات که بتونی باهاش حرف بزنی ولی اونور کامپیوتر جوابت رو بده)
- ساختن یک دستگاه هشدار برای مواقعی که میزان آلودگی هوای یک منطقه از یه حدی بالاتر میره
- ساختن یک ربات امدادگر برای مواقع زلزله
- ساختن یک برنامه برای پیدا کردن ترکیبیات لازم درمان یک عارضهٔ خاص (تولید دارو)
- ساختن یک برنامه برای تشخیص سرطان پوست به وسیلهٔ گرفتن سلفی
- ساختن یک برنامه برای پردازش تصاویر ماهوارهای
همونطور که میبینین، به کمک برنامهنویسی، از چیزهای خیلی کوچیک تا پروژههای خیلی بزرگ رو میشه ساخت. البته همونطور که توی این مثالها هم دیدین، کامپیوتر و برنامهنویسی یک ابزاره که میتونه با حوزههای دیگه ترکیب بشه. مثل مکانیک، برق، پزشکی، هوافضا و یا هر رشته دیگهای.
احتمالاً اینجا سؤال پیش میاد که آیا با وجود این همه برنامهنویس و برنامههایی که ساختن، نیازه که من هم برنامهنویسی یاد بگیرم؟ و یا اصلا میتونم نقشی داشته باشم؟ توی این سالهای نه چندان زیادی که مباحث مربوط به علوم کامپیوتر رشد کرده، برنامهها، سایتها و ابزارهای زیادی ساخته شدن؛ ولی هنوز بیشتر چیزها ساخته نشده و یا این که نیاز به پیشرفت دارن. این موارد به دو دسته تقسیم میشن:
- ابزارها و پروژههایی که احتمالا کاربردشون یا نحوه ساختشون به فکر کسی نرسیده! صد سال پیش سخت بود دنیایی رو تصور کرد که همه به راحتی و از راه دور با هم در ارتباط باشن. یا بیست سال پیش تصور همهگیر شدن تلفن همراه هوشمند خیلی به دور از واقعیت بود. حتی همین ده سال پیش تصور وجود داشتن ابزارهای هوش مصنوعی همهمنظوره مثل ChatGPT کار سختی بود.
- ابزارهایی که در حال حاضر کار میکنن ولی هنوز برای تغییر، پیشرفت و بهبود خیلی جا دارن. مثلاً کلی ابزار وجود داره که با پیشفرض زبان انگلیسی ساخته شدن و با زمان فارسی منطبق نیست. یا این که در زمانی که این پست رو مینویسم، هنوز ماشینهای خودران به نقطهای نرسیدن که همهگیر بشن. و یا دقت تشخیص یک بیماری توسط پزشک در بعضی از بیماریها هنوز بیشتر از ابزارهای هوش مصنوعیه. از طرفی، تقریباً هر برنامه بزرگی، برای زنده موندن نیاز به نگهداری و بهبودهای مداوم داره. مثلاً گوگل با وجود این که یکی از بزرگترین شرکتهای حوزه کامپیوتره و سالهای ساله که داره کار میکنه، هنوز هزاران مهندس کامپیوتر داره که روی محصولهاش کار میکنن.
پس میشه گفت توی این حوزه خیلی کارها میشه کرد و دنیا به برنامهنویسهای بیشتری نیاز داره.
در پستهای بعدی در مورد نحوه یادگیری و حوزههای کاری برنامهنویسی بیشتر مینویسم.
اگر این نوشته براتون مفید بود، پیشنهاد میکنم که عضو کانال تلگرام و یا مشترک خبرنامهٔ ایمیلی بشین تا هم شما سریعتر از نوشتههای بعدی مطلع بشین و هم من بهتر بشناسمتون :)