اسکالا

Hexadecimal and Octal (Scala Basics)


١۵ ویدیو امیر عظیمی

فایل های تمرینی وجود ندارد.
ویدیوها را نگاه کنید و خودتون فایل ها رو بسازید.

١
Setting up Scala
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
٢
Objects and Methods (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
٣
Other Types (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۴
Details of Numbers (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۵
Binary Arithmetic (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۶
Signed Numbers and Negative Values (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۷
Other Integer Types (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۸
Hexadecimal and Octal (Scala Basics)
۸ شهریور، ۱۳۹۴ — ۸ سال پیش
۹
Floating Point Numbers (Basic Scala)
۹ شهریور، ۱۳۹۴ — ۸ سال پیش
١۰
Values and Variables (Scala Basics)
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
١١
Mental Model of Variables (Scala Basics)
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
١٢
Details of Chars and Strings (Scala Basics)
۱۰ شهریور، ۱۳۹۴ — ۸ سال پیش
١٣
String Methods (Scala Basics)
۱۳ شهریور، ۱۳۹۴ — ۸ سال پیش
١۴
String Immutability (Scala Basics)
۱۳ شهریور، ۱۳۹۴ — ۸ سال پیش
١۵
Sequential Execution (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 و اکو سیستم‌های آن‌ها، دارای همه ویژگی‌های بالا نیستند.