امروزه در هر لحظه شاهد رشد هر چه سریع تر تکنولوژی و هوش مصنوعی هستیم در راستا خوبی هایی که دارد مانند افزایش سرعت و کیفیت کار و زندگی موجب نگرانی هایی مانند افزایش نرخ بیکار شده جالب است بدانید هم اکنون در کشور آلمان هوش مصنوعی توانسته حدود 30% از شاغلین را بیکار کنید و گوگل 12 هزار نفر از کارمندان خود را تعدیل کرد و یک سوال مهم به وجود آمده مبنی بر اینکه آیا هوش مصنوعی برنامه نویسان را بیکار میکند ؟
برای توصیف دقیق و پاسخ به سوال «آیا هوش مصنوعی برنامه نویسان را بیکار میکند ؟
» باید بگوییم در حقیقت هر هوش مصنوعی (AI) یک ابزار است؛ ابزارها برای آسان تر کردن امور ساخته شدهاند
حالا بیایید برای پیدا کردن جواب این سوال به گذشته برگردیم و میبینیم که حتی قبل از آمدن Chat GPT از این نوع شایعات کم نداشتیم . مثلا زمانی که وردپرس ارائه شد همه میگفتن : دیگه همه چی تمام شد ، دنیا دیگه برنامه نویس و ظراح سایت نیاز نداره ، برنامه نویسا دیگه بیکار میشوند و یا زمانی که GitHub Copilot ارائه شد بازهم از این شایعات در دنیا پراکنده شد اما اصلا این ابزارها باعث کاهش بازار کار برنامه نویسی نشدند و حالا شایعات رسیده به ChatGpt و هوش مصنوعی .
باید بدانید که برنامهنویسی فقط کد نوشتن نیست؛ بلکه هر برنامه از ساختار و نظم بهخصوصی تبعیت میکند و باید از معماری خاصی برخوردار باشد. اما هوش مصنوعی های موجود مانند ChatGPT در حال حاضر امکان ارائه کدهای ساختاربندیشده و معماری نرمافزاری را ندارند ؛ آنها فقط میتوانند برنامه های ساده و تا کمی پیچیده را بنویسند چه بسا برنامه هایی که مینویسد اکثر اوقات دچار نقص و اشتباه هستند و کسی که میخواهد از آن کدها استفاده کند باید دانش برنامه نویسی داشته باشد تا کدهای آن را برای کار کردن تغییر دهد اما بازهم برنامه نویسی فقط به این نیست . برنامه نویس باید بتواند کارهای خیلی بزرگتر از این مثل ایده پردازی یا معماری نرم افزار مثل یا کارای دیگه که ChatGPT نمیتواند انجام بدهد را انجام بدهد .ChatGPT کاری که انجام میدهد این است که فقط میاید یک کد را برایتان براساس دیتا هایی که درون وب وجود دارد می نویسد و خیلی ها میگویند که ما میتوانیم برای طراحی برنامه های خود کد را از ChatGpt کپی و پیست (Paste) کنیم و بلافاصله نرم افزار مورد نظر خود را ایجاذ کنیم ، اگر دقت کرده باشید ما قبل از Chat GPT هم همین کار را گاهی اوقات میکردیم ، ما میتوانستیم با مراجعه به سایت stack overflow یک کد رو کپی کنیم و در برنامه خود copy paste کنیم ولی بازهم نیاز به دانش کافی داشتیم تا بتوانیم آن کد را بر اساس پروژه خود شخصی سازی کنیم بنابر این با توجه به نوع مهارت های لازم برای برنامه نویسی حداقل در کوتاه مدت توانایی به حاشیه کشاندن (بیکار کردن) این جوخه از ارتش فناوری اطلاعات را ندارد همچنین با افزایش حضور هوش مصنوعی و ماشین ها در زندگی بشر، برخی مهارت های برنامه نویسان مانند تبحر و نبوغ در حل مسائل، درک چگونگی کارکرد سیستم های فنی و بهینه سازی آنها بیشتر از گذشته اهمیت پیدا خواهند کرد.
بنابراین بیایید به این موضوع فکر کنیم که دقیقا تاثیر هوش مصنوعی بر برنامه نویسی چیست ؟
- تولید خودکار کدها : هوش مصنوعی قادر است با تولید کدها ، الگوها یا حتی برنامههای کامل بر اساس مشخصات وارد شده ، به خودکارسازی وظایف تکراری کمک کند. این موضوع میتواند باعث سرعت بخشیدن به روند توسعه پروژه و کاهش خطاهای انسانی شود.
- شناسایی و رفع اشکال: ترفندهای هوش مصنوعی مثل تجزیه و تحلیل استاتیک و یادگیری ماشین را میشود برای تشخیص مشکلات ، تجزیهوتحلیل الگوهای کد و رفع دیگر ایرادات به کار برد. این ترفند ها میتوانند کیفیت و کارایی کد را افزایش دهند و در زمان برنامهنویسان در رفع مشکلات صرفهجویی کنند.
- تست ، بررسی و تضمین کیفیت: هوش مصنوعی قادر است فرآیندهای تست نرمافزار را با شبیهسازی تعاملات کاربر و تشخیص مشکلات و ایرادات فیکس کند . این موضوع میتواند کیفیت نرم افزار را بهبود بخشد و اتکا به تست نویسی دستی را کاهش دهد.
- پردازش زبان طبیعی: الگوریتمهای پردازش زبان طبیعی (NLP) که مبتنی بر هوش مصنوعی هستند ، به برنامهنویسان این امکان را میدهد تا با استفاده از زبان انسان کد بنویسند. این ویژگی باعث میشود برنامهنویسی برای غیر برنامهنویسان قابل دسترستر باشد و امکان همکاری آسانتر بین توسعهدهندگان و مشتریانشان فراهم شود.
حالا این سوال پیش میاید با توجه به تاثیراتی که هوش مصنوعی بر برنامه نویسی دارد چرا بازهم نمیتواند جایگزین برنامه نویسان بشود ؟
1- فهم مسائل و درک نیاز کاربران
برای ارائه برنامههای کاربردی باید برنامهنویس مسائل و نیاز کاربران را به خوبی متوجه شود. یک برنامهنویس پس از درک مسئله، سعی میکند با همکاری تیمش رابط کاربری مناسبی برای آن در نظر بگیرد تا برنامه با نیاز کاربران تطبیق داده شود . برنامهنویس با استفاده از تحلیل رقبا، تحقیقات بازار، ارتباط با مخاطب و بررسی میزان کارایی برنامههای گدشته میتواند نیاز کاربران را تشخیص بدهد ؛ کارهایی که در حال حاضر هوش مصنوعی از عهده آنها نمیتواند برآید. همچنین هوش مصنوعی توانایی ارتباط با طراحان و مدیران پروژه را ندارد ، ارتباطی که جهت تشخیص نیاز کاربران صورت میگیرد و کارایی نرمافزار را چند برابر میکند .
2-شناخت و رفع اشکال برنامه توسط برنامهنویس
درست است که اشاره کردیم هوش مصنوعی میتواند در فایند رفع ایرادات و مشکلات به ما کمک کند اما تضمین کیفیت پروژه یک برنامه نیاز به بررسی تمام کدهای گذشته دارد و این موضوع نیازمند شناخت مهندسی نرمافزار و منطق کدها است؛ کاری که در حال حاضر هوش مصنوعی قادر به انجام دادن آن نیست.
3-بهروزرسانی نرمافزار توسط توسعه دهنده
فرآیند بهروزرسانی و آپدیت یک پروژه برنامه نویسی نیاز به دانش بهروز، همکاری با سایر توسعهدهندگان و مدیران پروژه دارد. برای بهروزرسانی و آپدیت نرمافزار برنامهنویس/ برنامهنویسان باید برنامه های نوشتهشده و منطق آنها را درک کنند، سپس این کدها را ریفکتور کرده و با اضافه کردن کدهای جدید عملیات آپدیت را انجام دهند. بعضی از بهروزرسانیها نیاز به ایجاد ارتباط بین زبانهای برنامه نویسی مختلف و پایگاه داده دارند که این کار از توان هوش مصنوعی خارج است .
4- امکان برقراری ارتباط با پایگاه داده و زبان های برنامه نویسی دیگر
برای ایجاد سیستمها و برنامههای بزرگ مانند سیستمهای خردهفروشیهای آنلاین و مدیریت محتوا ، باید چندین برنامه و پایگاه داده را به یکدیگر متصل بشوند ؛ زیرا یک زبان برنامهنویسی و یک پایگاه داده توانایی برطرف کردن نیازهای وسیع کاربران این سیستمها نخواهد بود. برنامهنویسان برای ایجاد ارتباط بین زبانهای برنامهنویسی ، پایگاههای داده و کتابخانهها زمان و انرژی زیاد صرف میکنند. توسط هوش مصنوعیهای فعلی نمیتوانیم سیستمهای بزرگ طراحی کنیم .
در نتیجه اگر تا الان خیلی نگران این موضوع بودید که آیا هوش مصنوعی برنامه نویسان را بیکار میکند ؟ دیگر نگران نباشید فقط تمرکزتان را روی هدفتان بگذارید و به شدت برای تبدیل شدن به یک برنامه نویس سنیور و حرفه ای برای خود زمان بگذارید .
سلام و عرض ادب و احترام بسیار اول ممنونم بابت مقاله خوبتون چون این یکی از بزرگترین دغدغهای من بود و به لطف شما برطرف شد دوم اینکه میخواستم بپرسم آیا اینترنت اشیاء با استفاده از هوش مصنوعی تجهیزات را هوشمند میکند ؟
درود بر شما جناب آقای شریفی عزیز به شدت خوشحال و مسروریم از اینکه تونستیم با مقالات خود به شما در حل مسائل و دیگر سوالاتی که در ذهن انسانهای کنجکاوی مثل شما وجود دارد کمک کنیم . ر خصوص سوالاتان باید خدمتتان عرض کنیم که جواب منفی است و اینترنت اشیا (IOT) ارتباطی با هوش مصنوعی ندارد و عمل هوشمند سازی تجهیزات را با استفاده از سنسورهایی که در خودش دارد انجام میدهد