در مقاله پیش به اهمیت یادگیری زبان C برای تمام برنامه نویس ها اشاره کردم. در این مقاله به ۱۸۰ درجه آن طرف ماجرا اشاره می کنم.
در زمینه های گوناگون مهندسی، طرح نقشه از گام های مهم کار یک مهندس است. در علوم کامپیوتر این مهم از طریق طراحی داکیومنتیشن هایی بر پایه دیاگرام های UML محقق می شود.
در بیشتر نرم افزار های سفارشی رایج، الگوریتم های مورد نیاز در روند یک نرم افزار، چیزی حدودا در حد یک فلوی دیتا، ایجاد-دریافت-بروزرسانی-حذف (که به CRUD معروف هستند) و کنترل دستیابی منتهی می شود. اما همیشه اینگونه نیست...
گاهی کشیدن دیاگرام های UML برای درک صحت (اینتگریتی) اجزای نرم افزار کافی نیست؛ که در بعضی مواقع راه نسبتا آسانی برای تست الگوریتم و حتی آزمون و خطا و توسعه یک الگوریتم کارا وجود دارد. در این مواقع نوشتن سریع و ساده الگوریتم مورد نظر در یک زبان سطح بالای اسکریپتی مانند جاوا اسکریپت این چالش را تسهیل بخشیده؛ و بعد توسعه دهنده می تواند با خیال راحت کد تهیه شده را -- که حکم چرک نویس دارد -- با کد به زبان نرم افزار اصلی جایگزین کند؛ به زبان ساده تر، به صورت دستی ترنسپایل کند.
در مورد ساخت اتومیشن های بیلد و باندلینگ، راه اندازی و آماده سازی محیط توسعه سفارشی، ویژه نرم افزار مورد توسعه و کارهایی از این جنس، زبان های اسکریپتی مانند Javascript و Python می توانند بسیار ساده تر، سریع تر و به طور کلی کم هزینه تر باشند.
تصور کنید که چندین مایکرو سرویس در اکو سیستم نرم افزار شما وجود دارند که با دیتا مدل های تکراری ای که در پیام های بین سرویسی رد و بدل میشوند سر و کار دارند و مجبورید با تغییر در مدل اصلی پیام، تمامی کد های دوپلیکت (اما به زبان های گوناگون) را آپدیت کنید تا نرم افزار درست کار کند.
می توان با نوشتن یک مایکرو زبان دامین اسپسیفیک برای نوشتن کد های این مدل ها، این مشکل را برطرف کرد و مدل مذکور را در آن زبانی که خودتان در چند ساعت ساخته اید بنویسید و نگه داری کنید، و تنها با یک دستور خروجی مناسب زبان دیگری را دریافت کنید.
دانستن یک زبان اسکریپتی، مانند داشتن یک ابزار قدرتمند و همه کاره است در جعبه ابزار یک توسعه دهنده. خودمان را از نعمت های این ابر ابزار محروم نکنیم.