Scala Programming Language Tutorial - Fundamental Course
lesson 2 - Getting Started

Scala is a strong statically typed general-purpose programming language which supports both object-oriented programming and functional programming. Designed to be concise, many of Scala's design decisions are aimed to address criticisms of Java.

Scala source code can be compiled to Java bytecode and run on a Java virtual machine (JVM). Scala provides language interoperability with Java so that libraries written in either language may be referenced directly in Scala or Java code. Like Java, Scala is object-oriented, and uses a syntax termed curly-brace which is similar to the language C. Since Scala 3.

IntelliJ IDEA is an integrated development environment (IDE) written in Java for developing computer software. It is developed by JetBrains (formerly known as IntelliJ), and is available as an Apache 2 Licensed community edition, and in a proprietary commercial edition. Both can be used for commercial development.

Unlike Java, Scala has many features of functional programming languages like Scheme, Standard ML, and Haskell, including currying, immutability, lazy evaluation, and pattern matching. It also has an advanced type system supporting algebraic data types, covariance and contravariance, higher-order types (but not higher-rank types), and anonymous types. Other features of Scala not present in Java include operator overloading, optional parameters, named parameters, and raw strings. Conversely, a feature of Java not in Scala is checked exceptions, which has proved controversial.

The name Scala is a portmanteau of scalable and language, signifying that it is designed to grow with the demands of its users.


دروس تعليمية في لغة برمجة سكالا - دورة أساسية
الدرس الثاني - بداية الأستخدام

سكالا هي لغة برمجة قوية للأغراض العامة مكتوبة بشكل ثابت تدعم كل من البرمجة الموجهة للكائنات والبرمجة الوظيفية. تهدف العديد من قرارات تصميم سكالا ، المصممة لتكون موجزة ، إلى معالجة انتقادات جافا.

إنتلي جي محررهي بيئة تطوير متكاملة (محرر) مكتوبة بلغة جافا لتطوير برامج الكمبيوتر. تم تطويره بواسطة جيت بينز (المعروف سابقًا باسم إنتلي ، وهو متاح كإصدار مجتمع مرخص من اباتشي 2 ، وفي إصدار تجاري خاص. كلاهما يمكن استخدامه للتطوير التجاري.

بخلاف جافا ، تتمتع سكالا بالعديد من ميزات لغات البرمجة الوظيفية مثل و هاسكال ، بما في ذلك الكاري والثبات والتقييم البطيء ومطابقة الأنماط. كما أن لديها نظام نوع متقدم يدعم أنواع البيانات الجبرية ، والتباين المشترك والتباين ، وأنواع الرتب الأعلى (ولكن ليس الأنواع ذات الرتب الأعلى) ، والأنواع المجهولة. تشمل الميزات الأخرى لـ سكالا غير الموجودة في جافا التحميل الزائد للمشغل والمعلمات الاختيارية والمعلمات المسماة والسلاسل الأولية. على العكس من ذلك ، يتم التحقق من ميزة جافا غير الموجودة في سكالا في الاستثناءات ، والتي ثبت أنها مثيرة للجدل.

اسم سكالا هو عبارة عن مجموعة من اللغات القابلة للتطوير ، مما يدل على أنه مصمم للنمو مع متطلبات مستخدميه.