Chuyển đến nội dung chính

Hướng dẫn Scala cho người mới bắt đầu

Tìm hiểu các kiến thức cơ bản trong Scala bao gồm cú pháp, cách thiết lập môi trường và các kiểu dữ liệu phổ biến.
Đã cập nhật 5 thg 10, 2026  · 6 phút đọc

Khám phá cùng AI

ChatGPTClaudePerplexity

Giới thiệu

scala logo

Scala do Martin Odersky thiết kế, một giáo sư tại École Polytechnique Fédérale de Lausanne (EPFL) ở Thụy Sĩ và là một nhà khoa học máy tính người Đức. Martin bắt đầu làm việc để tạo ra Scala vào năm 2001 và phiên bản đầu tiên được phát hành vào năm 2004.

Scala là viết tắt của Scalable Language (Ngôn ngữ có khả năng mở rộng). Đây là một ngôn ngữ hướng đối tượng đa dụng, có một vài điểm chung với ngôn ngữ lập trình Java. Nó hỗ trợ lập trình hàm. Nhiều quyết định thiết kế của Scala nhằm khắc phục những hạn chế của ngôn ngữ lập trình Java.

Một vài tính năng mà Scala cung cấp gồm:

  • Mã nguồn Scala có thể được biên dịch thành bytecode Java và do đó chạy được trên Máy ảo Java (JVM).

  • Hỗ trợ khả năng tương tác ngôn ngữ với Java, nhờ đó các thư viện viết bằng một trong hai ngôn ngữ đều có thể được tham chiếu trong mã Scala hoặc Java.

  • Giống Java, Scala cũng sử dụng cú pháp ngoặc nhọn.

  • Có nhiều đặc trưng của các ngôn ngữ lập trình hàm như Scheme, Standard ML và Haskell, bao gồm currying, suy luận kiểu, bất biến, đánh giá lười (lazy evaluation) và so khớp mẫu (pattern matching).

  • Hỗ trợ ứng dụng Web bằng JavaScript.

  • Không giống Java, Scala còn hỗ trợ nạp chồng toán tử, tham số tùy chọn, tham số có tên và chuỗi thô (raw strings).

Một điều thú vị về Scala là nó được sử dụng rộng rãi bởi các công ty như Apple, Twitter, Walmart và Google nhờ khả năng mở rộng và phù hợp cho các tác vụ backend.

Thiết lập Scala trong Jupyter Notebook

Jupyter Notebook là một trong những công cụ được dùng rộng rãi nhất trong khoa học máy tính, đặc biệt là lĩnh vực khoa học dữ liệu. Nó cũng hỗ trợ phát triển Scala với sự trợ giúp của spylon-kernel.

Lưu ý: Nếu bạn mới làm quen với Jupyter Notebook, hãy tham khảo hướng dẫn toàn diện này.

Thiết lập môi trường Scala trong Jupyter Notebook không hề phức tạp. Hãy cùng cài đặt nhanh trong vài bước.

  • Đầu tiên, cài đặt spylon-kernel.

    pip install spylon-kernel (Python 2)
    pip3 install spylon-kernel (Python 3)

  • Tiếp theo, tạo thông số kernel để có thể chọn scala-kernel trong Jupyter Notebook.

    python -m spylon_kernel install (Python 2)
    python3 -m spylon_kernel install (Python 3)

  • Sau đó, ở bước quan trọng, cài đặt pyspark và findspark vì spylon-kernel cũng cài đặt một số thành phần của spark.

    pip install pyspark findspark (Python 2)
    pip3 install pyspark findspark (Python 3)

  • Cuối cùng, khởi động Jupyter Notebook, chọn kernel là spylon-kernel và bạn đã sẵn sàng!

jupyter notebook example

  • Hãy chạy một đoạn mã nhỏ để kiểm tra kernel Scala đã được cấu hình đúng chưa.
val x = 2
val y = 3
x*y
x: Int = 2
y: Int = 3
res1: Int = 6

Tuyệt vời! Như bạn có thể thấy từ kết quả ở trên, bạn đã cấu hình thành công môi trường Scala trong Jupyter Notebook.

Cú pháp cơ bản

Hãy bắt đầu bằng cách in Hello, World! trong Scala.

print("Hello, World!")
Hello, World!

Như bạn thấy, rất đơn giản: chỉ cần lệnh print kèm theo đầu vào làm đối số.

Bây giờ, hãy xem một vài chi tiết liên quan đến cú pháp trong Scala:

  • Scala phân biệt chữ hoa chữ thường, nghĩa là định danh DataCamp và dataCamp sẽ mang nghĩa khác nhau trong Scala.

  • Trong Scala, chữ cái đầu của tất cả tên lớp nên viết Hoa. Nếu nhiều từ được ghép để tạo tên lớp, chữ cái đầu của mỗi từ đều viết hoa. Ví dụ, class MyScalaDataCampTutorial.

  • Tên phương thức trong Scala hoạt động hơi khác so với tên lớp, chủ yếu để phân biệt tên phương thức với tên lớp. Tên phương thức nên bắt đầu bằng chữ thường (Nguồn). Nếu nhiều từ được ghép để tạo tên phương thức, chữ cái đầu của mỗi từ bên trong nên viết hoa. Ví dụ, def firstDatacampScalaTutorial()

  • Trong Scala, tên của tệp chương trình phải khớp chính xác với tên đối tượng. Khi lưu tệp, bạn cần lưu theo tên đối tượng và thêm .scala vào cuối. Ví dụ, giả sử ScalaTutorial là tên đối tượng. Khi đó tệp phải được lưu là ScalaTutorial.scala.

    Lưu ý: Nếu tên tệp và tên đối tượng không khớp, chương trình của bạn sẽ không thể biên dịch.

  • Cuối cùng, như hầu hết các ngôn ngữ lập trình, quá trình xử lý chương trình Scala cũng bắt đầu từ phương thức main(), vốn là phần cốt lõi của mọi chương trình Scala.

Hình dưới minh họa các từ dành riêng trong Scala, không thể dùng làm hằng số, biến hoặc bất kỳ định danh nào khác.

reserved words in scala
(Nguồn)

Kiểu dữ liệu

Các kiểu dữ liệu trong Scala gần như giống hệt nhiều ngôn ngữ lập trình khác như C, C++, Java, Python, v.v. với dấu ấn bộ nhớ và độ chính xác tương tự.

Cuối cùng, hãy xem qua một vài kiểu dữ liệu tồn tại trong Scala:

  • Int: Giá trị có dấu 32-bit (có thể nhận cả giá trị dương lẫn âm) với phạm vi từ $2^{-31}$ đến $2^{31} - 1$

  • Byte: Giá trị có dấu 8-bit với phạm vi từ $2^{-7}$ đến $2^{7} - 1$

  • Short: Giá trị có dấu 16-bit với phạm vi từ $2^{-15}$ đến $2^{15} - 1$

  • Long: Giá trị có dấu 64-bit với phạm vi từ $2^{-63}$ đến $2^{63} - 1$

  • Float: Cả 32-bit (đơn chính xác) và 64-bit (kép chính xác)

  • Char: Ký tự Unicode 16-bit không dấu (chỉ nhận giá trị dương).

Một vài kiểu dữ liệu khác gồm String, Boolean, Null.

Kết luận

Chúc mừng bạn đã hoàn thành hướng dẫn này.

Đây là điểm khởi đầu tốt cho người mới bắt đầu quan tâm đến việc học Scala.

Để tìm hiểu thêm, hãy xem các hướng dẫn Scala của DataCamp:

Những điều cơ bản về Hàm và Phương thức trong Scala

Cấu trúc IF ELSE trong Scala

Toán tử trong Scala

Danh sách trong Scala

Còn rất nhiều thông tin liên quan đến Scala như if/else, vòng lặp for, các toán tử khác nhau trong Scala, v.v. sẽ được đề cập trong các hướng dẫn tiếp theo, hãy đón xem!

Tài liệu tham khảo:

Vui lòng để lại mọi câu hỏi liên quan đến hướng dẫn này trong phần bình luận bên dưới.

Chủ đề
Scala
Khoa học Dữ liệu

Tìm hiểu thêm về Khoa học dữ liệu và Scala

Khóa học

Introduction to Scala

3 giờ
27.2K
Begin your journey with Scala, a popular language for scalable applications and data engineering infrastructure.
Xem chi tiếtRight Arrow
Bắt Đầu Khóa Học
Xem thêmRight Arrow
Liên quan

blog

Claude Opus 4.6: Tính năng, Điểm chuẩn, Bài kiểm tra thực hành và hơn thế nữa

Mô hình mới nhất của Anthropic dẫn đầu ở mã hóa tác tử và lập luận phức tạp. Thêm vào đó, nó có cửa sổ ngữ cảnh 1M.
Matt Crabtree's photo

Matt Crabtree

10 phút

Xem ThêmXem Thêm