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ệc | Mức độ | Ghi chú |
|---|---|---|
| Biên dịch mã Pascal và Object Pascal | Tốt nhất | Việ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ảng | Tốt nhất | Trang 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ốt | Tươ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ông | Rất tốt | Có 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ệt | Tốt | Nhó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ển | Ké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 định | Kém | Bả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 đồng | Không | Trang 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 Pascal | Visual Studio | PyCharm | Visual Studio Code |
|---|---|---|---|---|
| Vai trò chính | Trình biên dịch kèm bộ thư viện chuẩn | Môi trường phát triển tích hợp | Môi trường phát triển Python | Trình soạn thảo mã |
| Ngôn ngữ trọng tâm | Pascal và Object Pascal | không rõ | Python | không rõ |
| Có kèm trình biên dịch | Có | Có | Có | Không, người dùng tự cài thêm |
| Chạy trên máy chủ Linux không giao diện | Có | không rõ | không rõ | không rõ |
| Chi phí để dùng cá nhân | Miễn phí, không giới hạn | khô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.



