اسکالا
Hexadecimal and Octal (Scala Basics)
١۵
ویدیو
امیر عظیمی
فایل های تمرینی وجود ندارد.
ویدیوها را نگاه کنید و خودتون فایل ها رو بسازید.
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۹ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۳ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۳ شهریور، ۱۳۹۴ — ۸ سال پیش
۱۳ شهریور، ۱۳۹۴ — ۸ سال پیش
اسکالا یک زبان برنامهنویسی شیءگرا و تابعی است. نام اسکالا آمیزهای است از scalable
و language
به معنی زبان مقایسپذیر، از اهداف اصلی ایجاد زبان اسکالا، ارائه زبانی است برای تولید نرمافزار مقیاسپذیر به روشی چابک و سریع، و به دور از مشکلات مرسوم. اسکالا تلفیق زبانهای شیگرا همچون روبی و جاوا با زبانهای تابعی همچون Haskell
و Erlang
است. از دیدگاه چابکی و کارایی، عدهای اسکالا را جمع دو دنیای زبانهای پویا Dynamic-Type
و ایستا Static-Type
میدانند. یکی از دلایل دیگری که باعث مقبولیت و همچنین کارایی بالای این زبان میشود، دستور زبان Syntax
منعطف آن است. اسکالا توسط پروفسور مارتین اودرسکی که خالق Generic
های جاوا و از برترین توسعه دهندگان کامپایلر javac میباشد، در سال ۲۰۰۳ طراحی و به مرور توسط ایشان و جامعه اسکالا بهبود و توسعه داده شدهاست.
جیمز استراچن James Strachan
سازندهٔ زبان برنامهنویسی Groovy
در توصیفی اسکالا را ادامهدهندهٔ احتمالی جاوا دانسته است.
ورود و پیشرفت زبان اسکالا در صنعت نرم افزار فقط به دلیل موجز بودن، راحتی برنامهنویس و انعطاف آن نیست. طبق قانون مور تعداد ترانزیستورهای یک پردازنده، هر دو سال، دو برابر میشوند. به عبارت دیگر ابعاد ترانزیستورها در حال نصف شدن است و این روند در سال ۲۰۲۰ متوقف خواهد شد. هم اکنون نیز کند شدن این روند قابل مشاهده است و به جای اینکه سرعت پردازندهها زیاد شود، تعداد هستههای آنها بیشتر میشود. شاهد این امر تلفنهای هوشمند و تبلتها هستند؛ آنها از پردازندههای چند هستهای بهره میبرند ولی بازه سرعت پردازندهها چند سالی است که تغییر شگرفی نکرده است. به همین دلیل برنامههایی با قابلیت اجرای همروند Concurrent
و توزیع شده Distributed
بیش از پیش مورد توجه قرار گرفتند. با افزایش کاربران و تقاضا و نزدیک شدن به اتمام قانون مور، روز به روز تقاضا برای تولید چنین نرمافزارهایی افزایش مییابد. زبان اسکالا دارای ویژگیهایی است که مختص چنین تقاضاهایی طراحی شدهاست. از آن جمله میتوان به Functional Programming
، Pattern Matching
، Immutables
اشاره کرد. علاوه بر این، اسکالا حاصل جمع ویژگیهای بسیاری از زبانهای موجود در بازار است. در حال حاضر زبان اسکالا دارای خصایص زیر میباشد:
- رایگان و متن باز
- استاتیک و چک زمان کامپایل
Type-safe
- شی گرا
Object Oriented
- تابعی
Functional
- موجز و منعطف
- دارای طیف وسیعی از کتابخانهها
- بالغ و دارای ابزارهای توسعه گوناگون
هیچیک از زبانهای
Ruby
،Java
،Go
،C
,JavaScript
و اکو سیستمهای آنها، دارای همه ویژگیهای بالا نیستند.