زبان برنامه نویسی اسکالا

اسکالا یک زبان سطح بالا و موازی و همه منظوره است که امروزه تقریباً در بیشتر حوزه ها از جمله کلان داده، داده کاوی، وب، اندروید و … کاربرد دارد و برای خود جایی در دنیای توسعه نرم‌افزار باز کرده است. این زبان برای اولین بار در سال ۲۰۰۳ توسط مارتین اودرسکی (Martin Odersky) معرفی گردید. زبان اسکالا مخفف scaleable language به معنی زبان مقیاس پذیر است یعنی می‌تواند برای انواع مختلفی از پروژه‌ها، از پروژه‌های کوچک تا بزرگ مورد استفاده قرار بگیرد.

زبان برنامه‌نویسی اسکالا از نخستین زبان‌های برنامه نویسی بود که دو مفهوم شی گرایی و برنامه نویسی تابعی را با هم ادغام کرد. اسکالا بر روی ماشین مجازی جاوا یا jvm اجرا می‌شود، یعنی در ابتدا کدهای اسکالا به بایت کد تبدیل شده و سپس تفسیر می شوند. اسکالا قابلیت اجرای کدها و کتابخه‌های جاوا را نیز دارا می‌باشد. یعنی این قابلیت وجود دارد که کدهای جاوا را بدون هیچ تغییری اجرا نماید.

تعریف متغیرها در اسکالا ایستا است یعنی باید حتماً نوع متغیر(‌ در اسکالا کلاس متغیر ، چون همه چیز در اسکالا شی است) را مشخص باشد. به دلیل امکاناتی که در زمینه ی تعریف متغیرهای تغییر ناپذیر دارد می‌تواند در زمینه‌ برنامه‌های همزمان و موازی بسیار خوب عمل کند. ایستا بودن تعریف متغیر در اسکالا سبب افزایش سرعت، خطایابی آسان و … می‌شود.

اسکالا به برنامه‌نویسان و توسعه‌دهندگان این اجازه را می‌دهد که کد‌های خود را به صورت کارآمد و بهینه بنویسند و سرعت توسعه نرم‌افزار را به شکل چشم‌گیری بالا می‌برد. این ويژگی اسکالا سبب شد که بسیاری از استفاده‌ کنندگان اصلی جاوا، به اسکالا مهاجرت کنند. اسکالا امکانات ویژه‌ای نیز جهت همگام‌سازی و موازی‌سازی فراهم می‌کند.


حدود بهار امسال بود که شروع کردم یک مطلب آموزشی جامع در مورد زبان برنامه ‌نویسی اسکالا به زبان فارسی بنویسم. بعد از مدتی تقریبا یک آموزش پایه‌ای و کار راه‌انداز آماده شد. می‌خواستم اون را به صورت یک کتابچه دربیارم و در اینترنت پخش کنم، اما جرأت اینکار را نداشتم. اما امروز گفتم بزار کار را یکسره کنم و کاری را که مدت‌ها ازش واهمه داشتم را انجام بدم، در هر حالت، اگر برای یک نفر هم مفید واقع بشه بهتر از اینه که تو کامپیوتر من گرد و خاک بخوره. من فایل ورد و پی‌دی‌اف کتابچه را در گیت‌هابم قرار دادم، تا هر کسی خواست به هر نحوی بتونه از اون استفاده کنه.

پ.ن: احتمالاً در آینده‌ای نزدیک یک مجموعه ویدیو آموزشی برای آموزش اسکالا آماده کنم.