کتاب Scala for the Impatient (اسکالا برای افراد عجول، ویرایش سوم) از جدیدترین منابع یادگیری زبان برنامهنویسی اسکالا است که نسخه 3 آن را تحت پوشش قرار داده است. این کتاب در 20 فصل به آموزش گامبهگام این زبان خواهد پرداخت.
در ادامه مقدمهای از کتاب Scala for the Impatient را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Scala for the Impatient:
تکامل زبانهای سنتی به طور قابل توجهی کند شده است، و برنامهنویسانی که مشتاق به استفاده از ویژگیهای زبان مدرن تر هستند، به دنبال جای دیگری هستند. اسکالا یک انتخاب جذاب است.
در واقع، من فکر میکنم که این جذاب ترین انتخاب برای برنامهنویسانی است که میخواهند بهرهوری خود را بهبود بخشند. Scala یک نحو مختصر دارد که بعد از boilerplate جاوا تازه میشود. این برنامه بر روی ماشین مجازی جاوا (JVM) اجرا میشود و دسترسی به مجموعه عظیمی از کتابخانهها و ابزارها را فراهم میکند. و اسکالا فقط JVM را هدف قرار نمیدهد. پروژه ScalaJS کد جاوا اسکریپت را منتشر میکند و شما را قادر میسازد هر دو قسمت سمت سرور و سمت سرویس گیرنده یک برنامه وب را به زبانی بنویسید که جاوا اسکریپت نیست.
اسکالا سبک برنامهنویسی عملکردی را بدون رها کردن شیگرایی میپذیرد و به شما یک مسیر یادگیری افزایشی به یک پارادایم جدید میدهد. Scala REPL به شما امکان میدهد آزمایشهای سریع انجام دهید، که یادگیری Scala را بسیار لذت بخش میکند. نکته آخر اینکه Scala به صورت ایستا تایپ میشود و به کامپایلر امکان میدهد خطاها را بیابد، به طوری که زمان را برای یافتن آنها – یا نه – بعداً در برنامه در حال اجرا تلف نکنید.
کامپایلر همچنین به شما کمک میکند تا کدهای بدون خطا بنویسید و در صورت امکان انواع را استنباط کنید تا مجبور به نوشتن (یا خواندن) آنها نباشید.
اولین ویرایش کتاب Scala for the Impatient زمانی نوشته شد که جاوا، سی شارپ و سی پلاس پلاس در پیچیدگی روزافزون با قدرت بیان اندکی غرق شده بودند. در آن زمان، اسکالا یک انفجار هوای تازه بود. در این میان، جاوا و سایر زبانهای JVM مانند Kotlin بخشهایی از مجموعه ویژگیهای Scala را پذیرفتهاند.
با این حال، اسکالا مسیرهای جدیدی را در برنامهنویسی سطح نوع ایجاد کرده است، که کتابخانههای قدرتمندی را امکان پذیر میکند که به سادگی نمیتوانید آنها را در زبانی مانند جاوا یا کاتلین تصور کنید.
من کتاب Scala for the Impatient را برای خوانندگان بیحوصلهای نوشتم که میخواهند فوراً برنامهنویسی را در اسکالا شروع کنند. من فرض میکنم جاوا، سیشارپ، جاوا اسکریپت، پایتون یا سیپلاسپلاس را میشناسید و من شما را از توضیح متغیرها، حلقهها یا کلاسها خسته نمیکنم.
من تمام ویژگیهای زبان را به طور کامل فهرست نمیکنم، درباره برتری یک پارادایم بر پارادایم دیگر برای شما سخنرانی نمیکنم، و شما را با مثالهای طولانی و ساختگی رنج نمیبرم. در عوض، اطلاعات مورد نیاز خود را در بخشهای فشرده دریافت میکنید که میتوانید در صورت نیاز بخوانید و مرور کنید.
اسکالا به دلیل مشکل خواندن شهرت پیدا کرده است، و این مطمئناً زمانی میتواند درست باشد که ارائهدهندگان کتابخانه توجه کمی به قابلیت استفاده میکنند یا فرض میکنند برنامهنویسان به تئوری دستهها مسلط هستند. من فرض میکنم که شما با برنامهنویسی شیگرا راحت هستید.
من آنچه را که برای برنامهنویسی کاربردی پایه نیاز دارید پوشش میدهم، از نظر پیچیدگی شبیه به جریانهای جاوا، اما هیچ مونادی برای دیده شدن وجود ندارد. هدف من این است که به شما یاد بدهم کد Scala بنویسید که لذت بخش باشد تا غیرقابل درک.
Scala زبان بزرگی است، اما شما میتوانید بدون دانستن دقیق تمام جزئیات آن، از آن به طور موثر استفاده کنید. مارتین اودرسکی، خالق اسکالا، سطوحی از تخصص را برای برنامهنویسان برنامه و طراحان کتابخانه شناسایی کرده است – همانطور که در جدول زیر نشان داده شده است.
برای هر فصل (و گاهی اوقات برای بخشهای جداگانه)، سطح تجربه مورد نیاز را نشان میدهم. فصلها در سطوح A1، L1، A2، L2، A3، L3 پیشرفت میکنند. حتی اگر نمیخواهید کتابخانههای خود را طراحی کنید، دانستن ابزارهایی که اسکالا برای طراحان کتابخانه فراهم میکند، میتواند شما را به کاربر مؤثرتری از کتابخانه تبدیل کند.
این سومین ویرایش کتاب Scala for the Impatient است و من آن را به طور کامل برای Scala 3 به روز کردم. Scala 3 تغییرات عمدهای در زبان ایجاد میکند. ویژگیهای کلاسیک با حذف قابهای گوشههای نامناسب منظمتر شدهاند. یادگیری ویژگیهای پیشرفته اکنون آسانتر است. حتی ویژگیهای قدرتمندتری اضافه شده است که قبلاً فقط از طریق ماکرو در دسترس بودند. یک «سینتکس آرام»، شبیه به پایتون، برای چشم آسان است و اکنون روش ترجیحی برای نوشتن کد Scala 3 است.
من اسکالا 3 را همانطور که هست و خواهد بود پوشش میدهم و وارد یک تاریخچه تکاملی مفصل از گذشته نمیشوم. اگر نیاز به کار با اسکالا 2 دارید، نسخه دوم کتاب Scala for the Impatient را دریافت کنید.
امیدوارم از یادگیری اسکالا با این کتاب لذت ببرید. اگر خطاهایی پیدا کردید یا پیشنهادهایی برای بهبود دارید، لطفاً از http://horstmann.com/scala دیدن کنید و نظر خود را بنویسید. در آن صفحه، دستورالعملهای نصب بهروز، و یک فایل آرشیو حاوی تمام نمونههای کد کتاب Scala for the Impatient بهعنوان برنامههای اجرایی یا کاربرگها را نیز خواهید یافت.
کی هورستمن
برلین، 2022
سرفصلهای کتاب Scala for the Impatient:
- Cover Page
- Title Page
- Table of Contents
- Contents
- Foreword to the First Edition
- Preface
- About the Author
- Chapter 1. The Basics
- Chapter 2. Control Structures and Functions
- Chapter 3. Working with Arrays
- Chapter 4. Maps, Options, and Tuples
- Chapter 5. Classes
- Chapter 6. Objects and Enumerations
- Chapter 7. Packages, Imports, and Exports
- Chapter 8. Inheritance
- Chapter 9. Files and Regular Expressions
- Chapter 10. Traits
- Chapter 11. Operators
- Chapter 12. Higher-Order Functions
- Chapter 13. Collections
- Chapter 14. Pattern Matching
- Chapter 15. Annotations
- Chapter 16. Futures
- Chapter 17. Type Parameters
- Chapter 18. Advanced Types
- Chapter 19. Contextual Abstractions
- Chapter 20. Type Level Programming
فایل کتاب Scala for the Impatient را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.