آیا هوش مصنوعی مهارت برنامه نویسی را منسوخ خواهد کرد؟
هوش مصنوعی از ماشین های خودران گرفته تا دستیارهای هوشمند صوتی در حال تنیدن تار و پود خود بر گرد زندگی بشر است و در آینده نه چندان دور شکل زندگی ما را دگرگون خواهد کرد. در این میان مشاغل بسیاری در شرف حذف شدن قرار گرفته اند و بر اساس پیش بینی برخی کارشناسان با پیشرفت بیشتر در این زمینه زبان های برنامه نویسی نیز مانند سانسکریت و یونانی باستان به تاریخ خواهند پیوست.
در سال های اخیر پویش فراگیری کدنویسی به حد اعلای خود رسیده و به نظر همه افراد از سیاستمداران گرفته تا مدیران صنعتی به اهمیت آینده برنامه نویسی واقف شده اند. برنامه هایی نظیر Code.org و Everyone Can Code به منظور گسترش آموزش برنامه نویسی برای کودکان و افزایش سطح دوره های موجود راه اندازی شده اند.
علی رغم مزایای پیدا و پنهان چنین تلاش هایی سوالاتی به ذهن فعالان حوزه فناوری خطور کرده که شامل مواردی از این دست است: آیا در مورد آموزش کدنویسی اغراق شده؟ آیا یادگیری این مهارت ارزش خاصی دارد یا در آینده نزدیک توسط هوش مصنوعی به حاشیه رانده خواهد شد؟
استدلال های گوناگون درباره آینده برنامه نویسی
کارشناسانی که زنگ خطر را برای فعالان این حوزه به صدا درآورده اند معتقدند که هدف نهایی از برنامه نویسی برقراری ارتباط با یک سیستم و تعیین وظایفی است که باید اجرا شود. طبیعتا در آینده نزدیک هوش مصنوعی برقراری این ارتباط را برای افراد ناآشنا با برنامه نویسی تسهیل می کند و حالا سوال اینجاست که اگر این امر به معنای پایان دوران طلایی کدنویسی باشد، نسل جوانی که همیشه برنامه نویسی را به عنوان یکی از ارکان موفقیت در آینده شغلی در نظر گرفته باید چه راهی در پیش بگیرد؟
استدلال پشت این دیدگاه بدبینانه بر این نکته مبتنی است که با شروع یادگیری کدنویسی توسط سیستم های هوش مصنوعی از پیچیدگی این مهارت کاسته شده و به سمت خودکارسازی پیش خواهد رفت. البته تکامل کدنویسی به مرور زمان همیشه جریان داشته و برای مثال در دهه ۹۰ میلادی زبان پرل در اوج قرار داشت و حالا نوبت به درخشش پایتون و جاوا اسکریپت رسیده است. این مساله چندان جای تعجب ندارد و برنامه نویسی نیز مثل دیگر بخش های فناوری تکامل پیدا کرده و قابلیت های جدیدتری به آن افزوده می شود.
خوشبختانه تعداد افرادی که آینده نه چندان روشنی را برای کدنویسان تصور می کنند، آنقدرها زیاد نیست. از نظر فنی هوش مصنوعی طی سال های آتی برخی مشاغل را به حاشیه می راند اما با توجه به نوع مهارت های لازم برای برنامه نویسی حداقل در کوتاه مدت توانایی از میدان به در کردن این جوخه از ارتش فناوری اطلاعات را ندارد.
علاوه بر این با گسترش حضور هوش مصنوعی و ماشین ها در زندگی بشر، برخی مهارت های برنامه نویسان نظیر تبحر در حل مسائل، درک چگونگی کارکرد سیستم های فنی و بهینه سازی آنها بیش از پیش اهمیت پیدا خواهند کرد.
از اینرو با روی آوردن سازمان ها به هوش مصنوعی، نیروی کار نیز باید با کدنویسی آشنایی مقدماتی داشته باشند. یکی از پیامدهای استفاده از ربات ها در پست های عملی و ابتدایی ایجاد مشاغل تخصصی تر خواهد بود و اپراتورهای چنین دستگاه هایی نیز باید با نحوه کار آنها آشنایی مقدماتی داشته باشند.
کدنویسی خودکار راهی طولانی در پیش دارد
کدنویسی خودکار شانس چندانی برای تسخیر آینده برنامه نویسی حداقل در بازه زمانی نزدیک ندارد و حین تکامل نیز محدودیت بسیاری خواهد داشت برای مثال گیت هاب به عنوان یکی از بزرگترین سایت های فعال در این حوزه از یک پلتفرم کد نویسی خودکار رونمایی کرده که هنوز در مراحل اولیه قرار داشته و تنها وجود پکیج های آسیب پذیر شناخته شده در کد را بررسی کرده و در صورت شناسایی موارد مشکوک راه حلی را برای برطرف کردن آن پیشنهاد می کند. هیچ یک از این موارد به تفکر خلاق لازم برای کدنویسی نیاز نداشته و به هیچ عنوان قابلیت پایین کشیدن برنامه نویسان از اریکه قدرت را ندارد.
برای تولید کدهای خودکار قابل اتکا توسط هوش مصنوعی، این سیستم باید قابلیت درک مشکل را داشته باشد و مایکروسافت و کمبریج به لطف الگوریتم DeepCoder در این راستا گام هایی را برداشته اند اما حتی این سیستم هم که توسط متخصصان طراز اول توسعه یافته هنوز پیشرفتی چشمگیر به شمار نمی رود.
این متخصصان نحوه حل مسائل ریاضی اولیه را به DeepCoder آموزش داده اند. این الگوریتم پس از دریافت یک مساله جدید بر اساس نحوه حل معادلات قبلی، راه حل آنرا پیش بینی می کند. طراحی راه حل های جدید جالب است اما DeepCoder برخلاف نام آن فعلا تنها با چند خط کد مختصر سازگاری دارد.
بنابراین بر خلاف نظریه کارشناسان مذکور در آینده هم مسئولیت تعیین نحوه به کارگیری کدها، تشخیص پتانسیل آنها برای بهبود عملکرد و تصمیم گیری در موارد چالش برانگیز بر عهده نیروی ماهر انسانی قرار خواهد داشت.
امکان خودکار سازی همه مهارت ها وجود ندارد
فراگیری مهارت های پایه ای کدنویسی در شناسایی کامل نقش فناوری در جامعه و راه های بهره گیری از آن برای حل مشکلات به افراد کمک می کند. از نظر تیم کوک، مدیرعامل اپل کدنویسی مهم ترین مهارتی است که باید به عنوان زبان دوم به کودکان آموزش داده شود:
این زبانی است که همه به آن نیاز دارند و با استفاده از آن می توانید منظور خود را به ۷ میلیارد نفر در دنیا برسانید.
پیش بینی اینکه اتوماسیون به کجا منتهی می شود، چندان ساده نیست اما بدیهی است که در نهایت به تعامل بیشتر انسان و ماشین منجر خواهد شد که در این صورت آگاهی و تسلط بیشتر بر چگونگی ساخت، مدیریت و به کارگیری سیستم های فنی یک مزیت محسوب خواهد شد. بنابرین در آینده هم اگر آشنایی با کدنویسی اهمیت بیشتری پیدا نکند، از رونق هم نخواهد افتاد.
در حال حاضر اتوماسیون در حال نفوذ به حوزه هایی است که با اعمال ساده سروکار دارند و به گفته کارشناسان ربات ها بیشتر در فعالیت های تکراری و قابل پیش بینی به کار گرفته خواهند شد. شناسایی کارکرد سیستم های بزرگ، حل مسائل پیچیده یا تغییر فرایند عملیاتی سازمان های بزرگ نیازمند خلاقیتی است که در چنته برنامه نویسان ماهر قرار دارد و فعلا دور از دسترس برنامه های ساده است.
علاوه بر این افزایش وابستگی کارخانه ها و صنایع به اتوماسیون به معنی نیاز بیشتر به مشاغل محاسباتی است که در مراحل توسعه، پیاده سازی و حتی اجرایی شامل برنامه نویسان هم می شود.
یکی دیگر از موارد حیاتی در صنایع مختلف قابلیت توسعه و تجمیع روابط بین طرفین است، به عبارت دیگر از متخصصان پزشکی و بیماران گرفته تا تجار و مشتریان، ارتباطات مناسب ستون فقرات استراتژی سازمانی را تشکیل می دهد. اگرچه این مشاغل در آینده به صورت کامل حذف نمی شوند اما با ورود هوش مصنوعی به این زمینه ها وظایف فعالان تخصصی تر خواهد شد.
هوشمندتر شدن سیستم ها و افزایش مهارت آنها در کدنویسی به معنی جایگزینی برنامه نویسان نیست اما این افراد برای بقا در این نبرد باید خلاقیت، سطح آشنایی با علوم داده و تسلط خود بر هوش مصنوعی را افزایش دهند. علاوه بر این برای حفظ موقعیت برتر باید با فناوری های جدید نظیر چگونگی برنامه نویسی برای محصولات و پلتفرم های اینترنت اشیاء تسلط پیدا کنند. با افزایش افراد فعال در حوزه برنامه نویسی فرصت استفاده از فناوری های جدید برای شناسایی مسائل، ایجاد راه های جدید و بهبود روش های زندگی نیز بیشتر خواهد شد.
همزمان با تغییر فناوری و روش زندگی، لزوم یادگیری پیوسته کدنویسی در آینده نیز به قوت خود باقی مانده و به همین خاطر انکار اهمیت کدنویسی در آینده خطرناک خواهد بود. برنامه نویسان بدبینی که تصور می کنند پایتون و جاوااسکرپیت به زودی به سانسکریت و یونانی باستان می پیوندد از فراگیری روش های جدید خودداری کرده و با دست خود آینده حرفه ایشان را به مخاطره می اندازند.
در نهایت می توان گفت که ما هنوز در مراحل اولیه توسعه هوش مصنوعی قرار داریم و پیشرفت این حوزه نیازمند مهارت برنامه نویسان است. علاوه بر این با گسترش حوزه فعالیت ماشین ها، آینده برنامه نویسی کماکان روشن بوده و در صنایع مختلف نیز اهمیتی روزافزون پیدا خواهد کرد.
در سال های اخیر پویش فراگیری کدنویسی به حد اعلای خود رسیده و به نظر همه افراد از سیاستمداران گرفته تا مدیران صنعتی به اهمیت آینده برنامه نویسی واقف شده اند. برنامه هایی نظیر Code.org و Everyone Can Code به منظور گسترش آموزش برنامه نویسی برای کودکان و افزایش سطح دوره های موجود راه اندازی شده اند.
علی رغم مزایای پیدا و پنهان چنین تلاش هایی سوالاتی به ذهن فعالان حوزه فناوری خطور کرده که شامل مواردی از این دست است: آیا در مورد آموزش کدنویسی اغراق شده؟ آیا یادگیری این مهارت ارزش خاصی دارد یا در آینده نزدیک توسط هوش مصنوعی به حاشیه رانده خواهد شد؟
استدلال های گوناگون درباره آینده برنامه نویسی
کارشناسانی که زنگ خطر را برای فعالان این حوزه به صدا درآورده اند معتقدند که هدف نهایی از برنامه نویسی برقراری ارتباط با یک سیستم و تعیین وظایفی است که باید اجرا شود. طبیعتا در آینده نزدیک هوش مصنوعی برقراری این ارتباط را برای افراد ناآشنا با برنامه نویسی تسهیل می کند و حالا سوال اینجاست که اگر این امر به معنای پایان دوران طلایی کدنویسی باشد، نسل جوانی که همیشه برنامه نویسی را به عنوان یکی از ارکان موفقیت در آینده شغلی در نظر گرفته باید چه راهی در پیش بگیرد؟
استدلال پشت این دیدگاه بدبینانه بر این نکته مبتنی است که با شروع یادگیری کدنویسی توسط سیستم های هوش مصنوعی از پیچیدگی این مهارت کاسته شده و به سمت خودکارسازی پیش خواهد رفت. البته تکامل کدنویسی به مرور زمان همیشه جریان داشته و برای مثال در دهه ۹۰ میلادی زبان پرل در اوج قرار داشت و حالا نوبت به درخشش پایتون و جاوا اسکریپت رسیده است. این مساله چندان جای تعجب ندارد و برنامه نویسی نیز مثل دیگر بخش های فناوری تکامل پیدا کرده و قابلیت های جدیدتری به آن افزوده می شود.
خوشبختانه تعداد افرادی که آینده نه چندان روشنی را برای کدنویسان تصور می کنند، آنقدرها زیاد نیست. از نظر فنی هوش مصنوعی طی سال های آتی برخی مشاغل را به حاشیه می راند اما با توجه به نوع مهارت های لازم برای برنامه نویسی حداقل در کوتاه مدت توانایی از میدان به در کردن این جوخه از ارتش فناوری اطلاعات را ندارد.
علاوه بر این با گسترش حضور هوش مصنوعی و ماشین ها در زندگی بشر، برخی مهارت های برنامه نویسان نظیر تبحر در حل مسائل، درک چگونگی کارکرد سیستم های فنی و بهینه سازی آنها بیش از پیش اهمیت پیدا خواهند کرد.
از اینرو با روی آوردن سازمان ها به هوش مصنوعی، نیروی کار نیز باید با کدنویسی آشنایی مقدماتی داشته باشند. یکی از پیامدهای استفاده از ربات ها در پست های عملی و ابتدایی ایجاد مشاغل تخصصی تر خواهد بود و اپراتورهای چنین دستگاه هایی نیز باید با نحوه کار آنها آشنایی مقدماتی داشته باشند.
کدنویسی خودکار راهی طولانی در پیش دارد
کدنویسی خودکار شانس چندانی برای تسخیر آینده برنامه نویسی حداقل در بازه زمانی نزدیک ندارد و حین تکامل نیز محدودیت بسیاری خواهد داشت برای مثال گیت هاب به عنوان یکی از بزرگترین سایت های فعال در این حوزه از یک پلتفرم کد نویسی خودکار رونمایی کرده که هنوز در مراحل اولیه قرار داشته و تنها وجود پکیج های آسیب پذیر شناخته شده در کد را بررسی کرده و در صورت شناسایی موارد مشکوک راه حلی را برای برطرف کردن آن پیشنهاد می کند. هیچ یک از این موارد به تفکر خلاق لازم برای کدنویسی نیاز نداشته و به هیچ عنوان قابلیت پایین کشیدن برنامه نویسان از اریکه قدرت را ندارد.
برای تولید کدهای خودکار قابل اتکا توسط هوش مصنوعی، این سیستم باید قابلیت درک مشکل را داشته باشد و مایکروسافت و کمبریج به لطف الگوریتم DeepCoder در این راستا گام هایی را برداشته اند اما حتی این سیستم هم که توسط متخصصان طراز اول توسعه یافته هنوز پیشرفتی چشمگیر به شمار نمی رود.
این متخصصان نحوه حل مسائل ریاضی اولیه را به DeepCoder آموزش داده اند. این الگوریتم پس از دریافت یک مساله جدید بر اساس نحوه حل معادلات قبلی، راه حل آنرا پیش بینی می کند. طراحی راه حل های جدید جالب است اما DeepCoder برخلاف نام آن فعلا تنها با چند خط کد مختصر سازگاری دارد.
بنابراین بر خلاف نظریه کارشناسان مذکور در آینده هم مسئولیت تعیین نحوه به کارگیری کدها، تشخیص پتانسیل آنها برای بهبود عملکرد و تصمیم گیری در موارد چالش برانگیز بر عهده نیروی ماهر انسانی قرار خواهد داشت.
امکان خودکار سازی همه مهارت ها وجود ندارد
فراگیری مهارت های پایه ای کدنویسی در شناسایی کامل نقش فناوری در جامعه و راه های بهره گیری از آن برای حل مشکلات به افراد کمک می کند. از نظر تیم کوک، مدیرعامل اپل کدنویسی مهم ترین مهارتی است که باید به عنوان زبان دوم به کودکان آموزش داده شود:
این زبانی است که همه به آن نیاز دارند و با استفاده از آن می توانید منظور خود را به ۷ میلیارد نفر در دنیا برسانید.
پیش بینی اینکه اتوماسیون به کجا منتهی می شود، چندان ساده نیست اما بدیهی است که در نهایت به تعامل بیشتر انسان و ماشین منجر خواهد شد که در این صورت آگاهی و تسلط بیشتر بر چگونگی ساخت، مدیریت و به کارگیری سیستم های فنی یک مزیت محسوب خواهد شد. بنابرین در آینده هم اگر آشنایی با کدنویسی اهمیت بیشتری پیدا نکند، از رونق هم نخواهد افتاد.
در حال حاضر اتوماسیون در حال نفوذ به حوزه هایی است که با اعمال ساده سروکار دارند و به گفته کارشناسان ربات ها بیشتر در فعالیت های تکراری و قابل پیش بینی به کار گرفته خواهند شد. شناسایی کارکرد سیستم های بزرگ، حل مسائل پیچیده یا تغییر فرایند عملیاتی سازمان های بزرگ نیازمند خلاقیتی است که در چنته برنامه نویسان ماهر قرار دارد و فعلا دور از دسترس برنامه های ساده است.
علاوه بر این افزایش وابستگی کارخانه ها و صنایع به اتوماسیون به معنی نیاز بیشتر به مشاغل محاسباتی است که در مراحل توسعه، پیاده سازی و حتی اجرایی شامل برنامه نویسان هم می شود.
یکی دیگر از موارد حیاتی در صنایع مختلف قابلیت توسعه و تجمیع روابط بین طرفین است، به عبارت دیگر از متخصصان پزشکی و بیماران گرفته تا تجار و مشتریان، ارتباطات مناسب ستون فقرات استراتژی سازمانی را تشکیل می دهد. اگرچه این مشاغل در آینده به صورت کامل حذف نمی شوند اما با ورود هوش مصنوعی به این زمینه ها وظایف فعالان تخصصی تر خواهد شد.
هوشمندتر شدن سیستم ها و افزایش مهارت آنها در کدنویسی به معنی جایگزینی برنامه نویسان نیست اما این افراد برای بقا در این نبرد باید خلاقیت، سطح آشنایی با علوم داده و تسلط خود بر هوش مصنوعی را افزایش دهند. علاوه بر این برای حفظ موقعیت برتر باید با فناوری های جدید نظیر چگونگی برنامه نویسی برای محصولات و پلتفرم های اینترنت اشیاء تسلط پیدا کنند. با افزایش افراد فعال در حوزه برنامه نویسی فرصت استفاده از فناوری های جدید برای شناسایی مسائل، ایجاد راه های جدید و بهبود روش های زندگی نیز بیشتر خواهد شد.
همزمان با تغییر فناوری و روش زندگی، لزوم یادگیری پیوسته کدنویسی در آینده نیز به قوت خود باقی مانده و به همین خاطر انکار اهمیت کدنویسی در آینده خطرناک خواهد بود. برنامه نویسان بدبینی که تصور می کنند پایتون و جاوااسکرپیت به زودی به سانسکریت و یونانی باستان می پیوندد از فراگیری روش های جدید خودداری کرده و با دست خود آینده حرفه ایشان را به مخاطره می اندازند.
در نهایت می توان گفت که ما هنوز در مراحل اولیه توسعه هوش مصنوعی قرار داریم و پیشرفت این حوزه نیازمند مهارت برنامه نویسان است. علاوه بر این با گسترش حوزه فعالیت ماشین ها، آینده برنامه نویسی کماکان روشن بوده و در صنایع مختلف نیز اهمیتی روزافزون پیدا خواهد کرد.