موضوع مقاله: اسکالا | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # اسکالا | مقدمه: نام اسکالا آمیزه‌ای است از "scalable" و "language" به معنی زبان مقیاس‌پذیر، از اهداف اصلی ایجاد زبان اسکالا، ارائه زبانی است برای تولید نرم‌افزار مقیاس‌پذیر به روشی چابک و سریع، و به دور از مشکلات مرسوم. | ## بخش 1: اسکالا | یکی از دلایل دیگری که باعث مقبولیت و همچنین کارایی بالای این زبان می‌شود، دستور زبان (Syntax) منعطف آن است. اسکالا توسط پروفسور مارتین اودرسکی که خالق Genericهای جاوا و از برترین توسعه دهندگان کامپایلر javac می‌باشد، در سال ۲۰۰۳ طراحی و به مرور توسط ایشان و جامعه اسکالا بهبود و توسعه داده شده‌است. جیمز استراچن سازندهٔ زبان برنامه‌نویسی Groovy در توصیفی اسکالا را ادامه‌دهندهٔ احتمالی جاوا دانسته‌است.ویکی‌پدیای فارسی ویژگی‌ها ورود و پیشرفت زبان اسکالا در صنعت نرم‌افزار فقط به دلیل موجز بودن، راحتی برنامه‌نویس و انعطاف آن نیست. به عبارت دیگر ابعاد ترانزیستورها در حال نصف شدن است و این روند در سال ۲۰۲۰ متوقف خواهد شد. هم‌اکنون نیز کند شدن این روند قابل مشاهده است و به جای اینکه سرعت پردازنده‌ها زیاد شود، تعداد هسته‌های آن‌ها بیشتر می‌شود. شاهد این امر تلفن‌های هوشمند و تبلت‌ها هستند؛ آن‌ها از پردازنده‌های چند هسته‌ای بهره می‌برند ولی بازهٔ سرعت پردازنده‌ها چند سالی است که تغییر شگرفی نکرده‌است. | ## بخش 2: اسکالا | با افزایش کاربران و تقاضا و نزدیک شدن به اتمام قانون مور، روز به روز تقاضا برای تولید چنین نرم‌افزارهایی افزایش می‌یابد. سی شارپ و پایتون نیز دارای قابلیت‌هایی کم و بیش نزدیک به اسکالا می‌باشند ولی شرایط اجرای متفاوتی دارند. بلوغ اسکالا باعث شده تا نه تنها شرکت‌های پیشرو در صنعت IT (همچون Twitter, LinkedIn و …) بلکه شرکت‌های ریز و درشت بسیاری که تنها مصرف‌کنندگان محصولات فناوری هستند نیز به استفاده از این زبان و بستر منحصر به فرد آن روی بیاورند. برخی از شرکت‌ها/مؤسسات نام برده تمام یا بخشی از نرم‌افزارهای موجود خود را که با PHP, Ruby، … و حتی Java بود، با نمونهٔ بازنویسی شده با اسکلا جایگزین کردند. یکی از قابلیت‌های اسکالا این است که می‌تواند به‌طور جداگانه بر روی هر دایرکتوری دلخواه نصب شود و حتی نسخه‌های مختلف آن نیز می‌تواند در دایرکتوری‌های مختلف نصب شود و در واقع نصب آن به صورت System-wide نیست. اسکالا جزو زبان‌های برنامه‌نویسی دشوار برای یادگیری است و هدف از ایجاد اسکالا طراحی یک جاوای بهینه‌تر بوده‌است و در این زبان‌ها سعی شده Syntax تا حد ممکن نزدیک به زبان جاوا باقی بماند و صرفاً منحنی یادگیری این زبان‌ها نسبت به زبان جاوا کمی بهتر شود. | ## بخش 3: اسکالا | سرعت و کارایی به لطف JVM، برنامه‌های نوشته شده با اسکالا از کارایی بسیار بالایی برخودارند، بالاخص هنگامی که JVM به واسطهٔ قابلیت JIT به حداکثر توان محاسباتی سیستم دست پیدا می‌کند. اسکالا به لطف ابزارها و چارچوب‌هایی همچون Akka، این کار را نه تنها راحت بلکه بسیار جذاب‌تر نیز کرده‌است. ابزارهای توسعه شرکت Typesafe بزرگ‌ترین حامی و پشتیبان زبان و پلتفرم اسکالا است که تاکنون موفقیت‌ها و جذب سرمایه خوبی داشته‌است. فعالیت اصلی این شرکت در ارائه خدمات تجاری آموزشی و مشاوره‌ای در زمینه ساخت نرم‌افزارهای نوین با قدرت پاسخگویی به تعداد کاربران بالاست که در اصطلاح به این نوع نرم‌افزارها، نرم‌افزارهای Reactive می‌گویند. از اهداف این چارچوب همراه شدن با تغییراتی است که روند توسعه نرم‌افزار را متحول می‌کنند. جامعه باز و آزاد اسکالا شرکت Typesafe به علت اهداف بلند مدتی که دارد مقداری از ارائه نوآوری و تغییرات در اسکالا کاسته و در عوض بر روی استحکام و پایداری آن تمرکز کرده، مطمئناً برخی از اعضای جامعه اسکالا با این استراتژی موافق نبوده و علاقه‌مند به ادامه روند نوآوری در اکو سیستم و زبان اسکالا هستند. | ## جمع‌بندی | از آنجایی که این زبان متن باز است این افراد دست به ایجاد یک انشعاب به نام Typelevel زدن تا نسخه‌ای از اسکالا با قابلیت‌های جدید و مدرن به همراه اکو سیستمی که با این نو آوری‌ها همسان باشد را تولید و نگهداری کنند.