Trình biên dịch Pascal

Free Pascal

Trình biên dịch Pascal mã nguồn mở, chạy trên gần như mọi nền tảng

Free Pascal biên dịch mã Pascal và Object Pascal trên gần như mọi hệ điều hành, miễn phí và mã nguồn mở. Điểm yếu là bản ổn định đã cũ và không kèm môi trường phát triển.

8.3
ĐIỂM TOPỨNGDỤNG
Hạng #15 trong nhóm Developer & lập trình
Nhà phát triển
Free Pascal team
Nền tảng
Windows · macOS · Linux · Android · iOS
Giá
Miễn phí hoàn toàn, mã nguồn mở (GPL cho trình biên dịch, LGPL sửa đổi cho thư viện chạy)
Ngôn ngữ
English (trang chủ có bản dịch nhiều thứ tiếng)
NGƯỜI DÙNG CHẤM

Bạn đánh giá Free Pascal thế nào?

Điểm này độc lập với điểm của ban biên tập và quyết định thứ hạng ở tab “Người dùng bình chọn”.

Chưa có bình chọn
Bạn thấy sao?
Không cần đăng nhập. Mỗi người một phiếu, đổi lại được.
CHẤM ĐIỂM

Điểm từng tiêu chí

Điểm tổng là trung bình có trọng số của các tiêu chí bên dưới.

Dễ sử dụng
7
Tính năng
8.5
Hiệu năng
8.5
Giá trị so với chi phí
9.5
Hỗ trợ & cộng đồng
7.5
REVIEW

Đánh giá chi tiết Free Pascal

Trả lời ngắn: Free Pascal là trình biên dịch Pascal và Object Pascal mã nguồn mở, do nhóm Free Pascal phát triển từ năm 1993, dịch mã Pascal thành chương trình chạy trên Windows, Linux, macOS, Android và nhiều nền tảng khác.

Nên dùng nếu: bạn cần một trình biên dịch Pascal miễn phí, tương thích với mã Turbo Pascal và Delphi cũ, hoặc muốn cùng một mã nguồn chạy trên nhiều hệ điều hành. Không đủ nếu: bạn cần một môi trường phát triển có sẵn giao diện kéo thả, hoặc muốn hệ sinh thái thư viện và cộng đồng đông như các ngôn ngữ phổ biến hiện nay.

Free Pascal giải quyết vấn đề gì?

Pascal chưa hề biến mất khỏi thực tế công việc. Ngôn ngữ này vẫn nằm trong chương trình tin học phổ thông, vẫn xuất hiện ở các kỳ thi học sinh giỏi, và vẫn còn không ít phần mềm doanh nghiệp viết bằng Turbo Pascal hoặc Delphi đang chạy hằng ngày. Trong khi đó bộ công cụ Borland ngày xưa đã ngừng bán, còn Delphi bản thương mại thì tốn phí. Khoảng trống ấy chính là chỗ Free Pascal đứng.

Trang chủ freepascal.org giới thiệu đây là trình biên dịch Pascal trưởng thành, đa dụng và mã nguồn mở. Cú pháp của nó tương thích tốt với Turbo Pascal 7.0 và với phần lớn các phiên bản Delphi, gồm lớp, RTTI, ngoại lệ, chuỗi động, chuỗi rộng và giao diện. Nghĩa là mã cũ thường biên dịch lại được thay vì phải viết lại từ đầu, và đó là lý do lớn nhất khiến người ta tìm tới bộ công cụ này.

Vấn đề thứ hai là nền tảng. Một phần mềm viết cho Windows hôm nay có thể phải chạy thêm trên máy chủ Linux hoặc trên thiết bị nhúng. Trang chủ liệt kê danh sách kiến trúc vi xử lý mà Free Pascal nhắm tới, từ Intel x86, AMD64, ARM, AArch64, PowerPC tới SPARC, MIPS, Motorola 68k, AVR và cả máy ảo Java. Danh sách hệ điều hành cũng dài tương tự: Windows, Linux, macOS, iOS, Android, FreeBSD, DOS, OS/2, AIX, Haiku, AmigaOS, MorphOS, AROS, Atari TOS cùng nhiều nền tảng nhúng.

Điểm đáng chú ý cuối cùng nằm ở giấy phép. Bộ thư viện và thư viện chạy dùng giấy phép LGPL sửa đổi để cho phép liên kết tĩnh khi tạo ứng dụng, còn mã nguồn trình biên dịch theo GPL. Bản thân trình biên dịch cũng được viết bằng Pascal. Với người làm phần mềm thương mại, cách đặt giấy phép này quan trọng hơn vài tính năng lặt vặt, vì nó quyết định bạn có được nhúng thư viện vào sản phẩm đóng gói hay không.

Free Pascal làm tốt việc gì?

Bảng dưới chia theo từng việc cụ thể, dựa trên phần mô tả ở trang chủ và danh sách nền tảng ở trang tải về của Free Pascal. Có vài dòng chấm thấp để bạn thấy ranh giới của bộ công cụ này.

Loại việcMức độGhi chú
Biên dịch mã Pascal và Object PascalTốt nhấtViệc chính của bộ công cụ, hỗ trợ cả Pascal cổ điển lẫn lớp, ngoại lệ và chuỗi động kiểu Delphi.
Chạy trên nhiều nền tảngTốt nhấtTrang chủ liệt kê Windows, Linux, macOS, iOS, Android, FreeBSD, DOS, OS/2, Haiku và nhiều hệ khác.
Biên dịch lại mã Turbo Pascal và Delphi cũRất tốtTương thích tốt với TP 7.0 và phần lớn Delphi, có thêm chế độ Mac Pascal cho mã Think Pascal.
Nhắm tới vi xử lý ít phổ thôngRất tốtCó bản cho ARM, AVR, PowerPC, SPARC, MIPS, Motorola 68k, hợp với thiết bị nhúng và máy cũ.
Đưa mã Pascal lên trình duyệtTốtNhóm phát triển duy trì thêm pas2js để chuyển Pascal sang JavaScript, nhưng đây là công cụ tách riêng.
Có sẵn giao diện phát triểnKémĐây là trình biên dịch kèm thư viện, không kèm môi trường đồ hoạ; phải ghép thêm trình soạn thảo.
Nhận tính năng mới ở bản ổn địnhKémBản 3.2.2 phát hành từ tháng 5 năm 2021; tính năng mới nằm ở nhánh 3.3.x dưới dạng bản chụp nhanh.
Hỗ trợ thương mại theo hợp đồngKhôngTrang chủ không nêu dịch vụ trả phí; trao đổi diễn ra qua danh sách gửi thư và hệ thống lỗi trên GitLab.

Ai nên dùng Free Pascal?

Học sinh, sinh viên học Pascal. Đây là nhóm được lợi nhiều nhất. Bạn tải một gói cài duy nhất, không cần đăng ký, không giới hạn thời gian dùng thử, và chạy được trên máy tính cấu hình thấp. Bài tập trên lớp viết theo kiểu Turbo Pascal thường biên dịch thẳng mà không phải sửa.

Nhóm phải bảo trì mã cũ. Khi một phần mềm nội bộ viết bằng Pascal từ nhiều năm trước cần sửa một lỗi nhỏ hoặc chạy lại trên máy mới, việc dựng lại môi trường biên dịch là bước chặn đầu tiên. Free Pascal giải quyết đúng bước đó, và phần mềm vẫn giữ được mã nguồn thay vì phải chuyển sang ngôn ngữ khác.

Người viết công cụ dòng lệnh. Với các tiện ích nhỏ chạy trên máy chủ không có giao diện đồ hoạ, một trình biên dịch sinh ra tệp thực thi gọn, không cần máy ảo, là lựa chọn hợp lý. Cùng một mã nguồn có thể xuất ra bản Windows cho đồng nghiệp và bản Linux cho máy chủ.

Người làm nhúng và chơi máy cũ. Danh sách nền tảng của Free Pascal phủ cả những cái tên hiếm khi xuất hiện ở các bộ công cụ hiện đại: DOS, OS/2, AmigaOS, MorphOS, AROS, Atari TOS, Haiku, Game Boy Advance, Nintendo DS và Wii. Với người viết phần mềm cho thiết bị cũ hoặc thiết bị nhúng, đây gần như là lựa chọn duy nhất còn được cập nhật.

Cách cài Free Pascal cho gọn

1. Chọn đúng gói theo hệ điều hành trước khi tải

Trang tải về chia gói theo kiến trúc vi xử lý rồi mới tới hệ điều hành, nên bạn cần biết máy mình là 32 bit hay 64 bit. Với máy Windows đời mới, gói Windows 64-bit cho AMD64 là mặc định; máy cũ hơn dùng gói Windows 32-bit cho Intel x86. Chọn sai gói sẽ cài được nhưng trình biên dịch không chạy.

2. Đọc tệp README có trong gói cài

Trang chủ nói rõ mọi gói phát hành đều kèm một tệp README, và bạn nên đọc nó để biết cách cài cũng như các thay đổi mới nhất. Đây là bước nhiều người bỏ qua rồi loay hoay với biến môi trường đường dẫn. Đọc trước vài phút tiết kiệm kha khá thời gian.

3. Ghép với một trình soạn thảo bạn đã quen

Free Pascal không kèm môi trường phát triển, nên hãy chọn sẵn một trình soạn thảo có tô màu cú pháp Pascal và cấu hình lệnh biên dịch trong đó. Bạn có thể dùng bất kỳ trình soạn thảo mã nào đang có, miễn là chạy được lệnh dòng lệnh của trình biên dịch. Cách này gọn hơn nhiều so với việc mở cửa sổ dòng lệnh cho từng lần sửa bài.

4. Chốt một bản làm mốc cho cả nhóm

Nếu nhiều người cùng làm một dự án, hãy thống nhất dùng đúng một bản phát hành và ghi số phiên bản vào tài liệu dự án. Trang chủ công bố bản ổn định hiện tại là 3.2.2, còn các bản 3.3.x là nhánh phát triển. Trộn hai nhánh trong cùng một dự án là cách nhanh nhất để sinh ra lỗi khó tái hiện.

Hạn chế cần biết

Bản ổn định đã lâu không thay đổi

Bản 3.2.2 ra mắt ngày 20 tháng 5 năm 2021 và tới nay vẫn là bản ổn định mới nhất theo trang chủ. Nó là bản cập nhật nhỏ so với 3.2.0, tập trung vào sửa lỗi và cập nhật gói. Nếu bạn cần một tính năng chỉ có ở nhánh phát triển, bạn buộc phải dùng bản chụp nhanh, nghĩa là chấp nhận rủi ro gặp lỗi mới.

Không phải nền tảng nào cũng có gói cài sẵn

Trang tải về nói thẳng rằng do thiếu người build và kiểm thử, bản 3.2.2 chỉ có mặt trên một số nền tảng và không đủ mọi định dạng gói. Với các hệ còn lại, bạn phải tự biên dịch từ mã nguồn hoặc dùng bản cũ không còn được hỗ trợ. Đây là điểm cần kiểm tra trước khi hứa hẹn với ai về việc chạy được trên thiết bị của họ.

Không kèm môi trường phát triển

Bạn không có giao diện kéo thả, không có trình thiết kế form, không có nút chạy và gỡ lỗi sẵn. Muốn có trải nghiệm đó phải ghép thêm một môi trường khác. Với người mới học lập trình, khoảng trống này là rào cản thật, không phải chuyện nhỏ.

Cộng đồng nhỏ hơn mặt bằng chung

Trao đổi kỹ thuật diễn ra qua danh sách gửi thư, wiki và hệ thống lỗi trên GitLab. Số người trả lời ít hơn nhiều so với các ngôn ngữ phổ biến, nên một câu hỏi khó có thể mất vài ngày mới có phản hồi. Bạn nên chuẩn bị tinh thần tự đọc mã nguồn và tài liệu gốc.

Lỗi hay gặp khi dùng Free Pascal

Mã cũ vỡ khi lên bản mới

Trang chủ có hẳn danh sách các thay đổi có thể phá vỡ tương thích ngược cho từng mốc nâng cấp, ví dụ từ 3.2.0 lên 3.2.2. Triệu chứng thường là biên dịch qua nhưng chạy sai, chứ không phải báo lỗi ngay. Cách xử lý an toàn là đọc danh sách đó trước khi nâng bản cho dự án đang chạy thật.

Nhầm bản chụp nhanh với bản phát hành

Trang tải về mô tả bản chụp nhanh là bản dịch từ mã nguồn mới nhất, gồm mọi bản sửa sau lần phát hành gần nhất, và cũng có thể chứa lỗi mới. Vì tên tệp na ná nhau, người dùng hay tải nhầm. Nếu máy bạn đang chạy công việc thật, hãy bám bản phát hành chính thức và chỉ thử bản chụp nhanh trong thư mục riêng.

Không thấy gói cho hệ điều hành của mình

Hiện tượng này gặp khi bạn dùng một hệ ít người dùng. Trang tải về có mục các bản phát hành cũ dành cho nền tảng không còn lựa chọn nào tốt hơn, kèm ghi chú rõ là không nhận báo lỗi cho nhóm này. Hãy xác định trước bạn chấp nhận dùng bản cũ hay tự build từ mã nguồn.

Free Pascal so với các bộ công cụ lập trình khác

Free Pascal không cạnh tranh trực tiếp với các môi trường phát triển tích hợp, vì nó ở tầng thấp hơn: chỉ lo phần dịch mã và thư viện. Bảng dưới đặt nó cạnh vài công cụ quen thuộc trong nhóm developer và lập trình để bạn dễ hình dung vị trí của nó.

Tiêu chíFree PascalVisual StudioPyCharmVisual Studio Code
Vai trò chínhTrình biên dịch kèm bộ thư viện chuẩnMôi trường phát triển tích hợpMôi trường phát triển PythonTrình soạn thảo mã
Ngôn ngữ trọng tâmPascal và Object Pascalkhông rõPythonkhông rõ
Có kèm trình biên dịchKhông, người dùng tự cài thêm
Chạy trên máy chủ Linux không giao diệnkhông rõkhông rõkhông rõ
Chi phí để dùng cá nhânMiễn phí, không giới hạnkhông rõkhông rõkhông rõ

Kết luận

Free Pascal làm đúng một việc và làm rất chắc: biên dịch mã Pascal, Object Pascal trên gần như mọi nền tảng còn tồn tại, với giấy phép cho phép dùng trong sản phẩm thương mại. Nếu bạn học Pascal ở trường, bảo trì mã Delphi cũ hay cần chương trình chạy trên thiết bị lạ, đây là công cụ nên cài trước khi tìm phương án khác.

Đổi lại, bạn phải tự lo phần môi trường phát triển và chấp nhận nhịp phát hành chậm. Bản ổn định đã vài năm không đổi, gói cài không phủ hết nền tảng, còn câu hỏi khó thì phải chờ cộng đồng. Hãy đọc lại trang tải về cùng phần giấy phép trên trang chủ trước khi đưa nó vào một dự án dài hạn, vì hai chỗ đó quyết định gần hết trải nghiệm về sau.

ĐÁNH GIÁ

Điểm mạnh & điểm yếu

Điểm mạnh

  • Miễn phí, mã nguồn mở, dùng được trong sản phẩm thương mại
  • Chạy trên rất nhiều hệ điều hành và kiến trúc vi xử lý
  • Tương thích tốt với Turbo Pascal 7.0 và phần lớn Delphi
  • Thư viện chạy theo LGPL sửa đổi nên cho phép liên kết tĩnh
  • Có pas2js để mang mã Pascal lên môi trường web

Điểm yếu

  • Bản ổn định 3.2.2 ra từ tháng 5 năm 2021, tính năng mới chỉ ở nhánh 3.3.x
  • Bản 3.2.2 không có gói cài cho mọi nền tảng do thiếu người build và kiểm thử
  • Không kèm môi trường phát triển, phải ghép thêm trình soạn thảo
  • Cộng đồng và tài liệu tiếng Việt ít hơn nhiều so với các ngôn ngữ phổ biến
  • Trang chủ không nêu lộ trình cho bản phát hành ổn định kế tiếp
Phù hợp nhất với
Học sinh, sinh viên học Pascal cần trình biên dịch miễn phíNhóm phải biên dịch lại mã Turbo Pascal hoặc Delphi cũNgười viết công cụ dòng lệnh chạy trên nhiều hệ điều hànhNgười làm phần mềm nhúng và phần mềm cho nền tảng cũ
HỎI ĐÁP

Câu hỏi thường gặp

Free Pascal có miễn phí không?

Có, miễn phí hoàn toàn. Trang chủ ghi trình biên dịch theo giấy phép GPL và bộ thư viện kèm thư viện chạy theo LGPL sửa đổi. Bạn tải bản cài hoặc mã nguồn về dùng mà không phải trả phí, kể cả cho dự án thương mại.

Free Pascal khác gì Delphi?

Delphi là bộ công cụ thương mại có môi trường phát triển đầy đủ, còn Free Pascal chỉ là trình biên dịch kèm thư viện. Đổi lại, nó miễn phí và chạy trên nhiều nền tảng hơn. Trang chủ nói cú pháp của nó tương thích với phần lớn các phiên bản Delphi.

Tôi có thể dùng Free Pascal để dạy Pascal ở trường không?

Được. Đây là một trong những nhóm người dùng hợp lý nhất vì không cần đăng ký, không giới hạn thời gian và chạy được trên máy cấu hình thấp. Bạn chỉ cần chuẩn bị thêm một trình soạn thảo cho học sinh, vì bộ công cụ không kèm giao diện soạn thảo.

Free Pascal có chạy trên Windows và Linux không?

Có. Trang tải về có gói cho Windows 32-bit và 64-bit, cùng gói cho Linux trên nhiều kiến trúc như Intel x86, AMD64, ARM và AArch64. Bạn chọn đúng gói theo kiến trúc vi xử lý của máy trước khi tải.

Bản mới nhất của Free Pascal là bản nào?

Theo trang chủ, bản ổn định mới nhất là 3.2.2, phát hành ngày 20 tháng 5 năm 2021. Các bản phát triển mang số 3.3.x và chỉ nên dùng khi bạn cần một tính năng chưa có ở bản ổn định.

Có cần cài thêm gì để viết và chạy chương trình không?

Free Pascal chỉ cung cấp trình biên dịch và thư viện. Bạn nên cài thêm một trình soạn thảo mã có tô màu cú pháp và cấu hình lệnh biên dịch trong đó. Một số môi trường phát triển mã nguồn mở khác cũng dùng Free Pascal làm phần biên dịch.

Free Pascal có biên dịch được mã Turbo Pascal cũ không?

Phần lớn là được. Trang chủ nói cú pháp của nó tương thích tốt với Turbo Pascal 7.0 và có thêm chế độ Mac Pascal tương thích với Think Pascal. Với các đoạn mã dùng thư viện đặc thù của DOS, bạn vẫn phải kiểm tra và sửa lại.

Mã Pascal viết trên Free Pascal có chạy được trên điện thoại không?

Có thể, vì trang chủ liệt kê Android và iOS trong danh sách hệ điều hành hỗ trợ. Tuy nhiên đây là hướng dành cho người đã quen công cụ dòng lệnh, không phải quy trình đóng gói sẵn như các bộ công cụ làm ứng dụng di động.

Có bản Free Pascal dùng thử giới hạn thời gian không?

Không có chuyện dùng thử, vì sản phẩm miễn phí hoàn toàn và không có bản trả phí. Trang chủ cũng không nêu dịch vụ hỗ trợ thương mại theo hợp đồng. Mọi trao đổi kỹ thuật diễn ra qua danh sách gửi thư, wiki và hệ thống lỗi trên GitLab.

Nên chọn bản phát hành hay bản chụp nhanh?

Với công việc thật, hãy dùng bản phát hành chính thức. Trang tải về nói bản chụp nhanh được dịch từ mã nguồn mới nhất và cũng có thể chứa lỗi mới. Chỉ nên thử bản chụp nhanh khi bạn cần một bản sửa cụ thể, và nên thử trong thư mục riêng.

KẾT LUẬN

Free Pascal là lựa chọn rõ ràng cho ai cần biên dịch Pascal miễn phí, đặc biệt khi phải chạy trên nền tảng lạ hoặc dựng lại mã cũ. Ai muốn một môi trường phát triển hoàn chỉnh có giao diện kéo thả, hoặc cần hệ sinh thái thư viện và cộng đồng đông đảo, nên tìm công cụ khác thay vì cố ghép thêm.