Sản phẩm

17 công cụ JavaScript 'cứu' ngôn ngữ lập trình cũ

(PCWorldVN) Nhờ các trình biên dịch chéo sử dụng JavaScript, những ngôn ngữ lập trình “cổ lỗ” như Pascal, Lisp đã được làm sống lại.

Ngôn ngữ máy tính có những “cuộc sống” kỳ lạ. Ngôn ngữ phổ biến nhất thì có được sự phát triển vũ bão tương tự như trong ngành công nghiệp thời trang. Nhưng khi chúng xa rời ánh hào quang, nhiều điều kỳ lạ lại xảy ra. Thay vì biến mất hoàn toàn như một bài nhạc pop hết thời, hoặc như kiểu quần ni-lông bóng khi xưa thì nó lại vẫn sống mãi. Tại sao lại như vậy? Bởi chúng vẫn đang lưu giữ những đoạn code cũ được viết từ cách đây rất lâu, cái thời mà những công cụ lập trình này còn phổ biến.

Trước đây, coi sóc một kho code cũ là công việc khá lẻ loi, không khác mấy với việc sống một mình trên sa mạc. Công việc của bạn là phải giữ cho mọi thứ vẫn chạy một cách suôn sẻ với mớ công cụ thô sơ đã được xây dựng, thậm chí từ nhiều thập niên trước, thế kỷ trước. Nhưng những công cụ và trình biên dịch cổ lỗ này cần được nâng niu và gìn giữ vì chúng rất quan trọng trong việc giúp cho các đoạn mã cũ vẫn dùng được. Những thư viện code cũ này cần được đối xử tử tế như với những người thừa kế giàu có, đặc biệt là khi chúng chính là những đoạn mã gốc (source code).

Tuy nhiên gần đây nhiều thứ đã thay đổi nhờ sự xuất hiện của các trình biên dịch chéo (cross-compiler). Chúng dùng những công cụ hiện đại ngày nay để biến những ngôn ngữ lập trình cũ trở nên thân thiện và có thể dùng được cho các lập trình viên hiện tại, vốn chưa bao giờ được học các ngôn ngữ cũ. Nhờ vậy mà các ngôn ngữ lập trình cũ được sống lại, không thực sự hoàn hảo nhưng nó giúp cho những người phải làm việc với mớ code cổ lỗ có được cảm giác mình không phải đang làm việc một mình.

Nhờ một số ít lập trình viên khá “dũng cảm” dám pha trộn các ngôn ngữ cũ với nền tảng mới, với công cụ JavaScript, mà những đoạn code cũ mèm đã được khoác áo mới. Giờ đây, các nền tảng code cũ đó đã trở thành một phần của hiện tại, có thể chạy trên những chiếc máy tính mới. Những công cụ cổ hủ vốn chỉ chịu chạy đơn nhiệm trên một màn hình trắng đen nay đã có thể hoạt động trong một nền tảng đa nhiệm, giúp người sử dụng có thể vừa lướt web vừa lập trình.

Những công cụ này còn lâu mới trở nên hoàn hảo và còn nhiều khiếm khuyết, nhưng chúng vẫn hữu dụng. Vì việc viết mới lại các đoạn code cũ luôn là thách thức không dễ vượt qua nên người ta tận dụng những trình biên dịch chéo, dùng chúng để làm mới các đoạn mã cũ một cách tự động, đưa các đoạn mã cũ tương thích với hệ điều hành mới. Việc này sẽ tốn ít thời gian và công sức hơn nhiều so với việc phải thuê một nhóm lập trình viên ngồi viết lại các đoạn mã cũ.

Dưới dây là những ngôn ngữ lập trình có thể được làm sống lại nhờ sự phát triển của JavaScript. Chúng có thể không còn nguyên bản như xưa, vì được chuyển đổi để chạy được trên các hệ máy tính ngày nay, và đây có lẽ là cách duy nhất để chúng tồn tại. Rõ ràng những ngôn ngữ máy tính đã được chuyển đổi này chính là cứu cánh cho các đoạn code cũ đã được lập trình từ rất lâu.

Giao diện của TurboPascal.

Pascal

TurboPascal là ngôn ngữ lập trình đã thống trị từ cách nay 20 năm. Elevate Software có lẽ muốn làm sống lại huyền thoại này nên đã chuyển ObjectPascal thành JavaScript. Và nhóm này nói rằng thậm chí bạn không cần phải học Pascal để viết ứng dụng chạy trên nền web. Nhóm này đã phát triển Pascal mới có giao diện giống nhau hoàn toàn khi chạy trên mọi trình duyệt.

Cobol

Cobol từng thống trị các ngôn ngữ lập trình dành cho máy tính thương mại của doanh nghiệp và chính phủ. Nó cũng chạy được với JavaScript. Người ta đã phát triển Cobol thành CobolScript, có thể chạy phần lớn ngôn ngữ Cobol tiêu chuẩn cùng với JavaScript.

Những nhà phát triển nói rằng CobolScript vẫn đang trong giai đoạn hoàn thiện và còn nhiều phần còn chưa hoạt động, tuy vậy đã có nhiều ví dụ sinh động chứng tỏ công cụ này làm việc hiệu quả, như việc nó có thể dùng vài đoạn mã để lấy dữ liệu từ MySQL hay dùng HTML để tạo ra các ứng chạy trên web.

Giao diện một giao diện lập trình với ngôn ngữ Lisp trên OS X.

Lisp

Lisp đang giữ mội vai trò quan trọng đối với rất nhiều lập trình viên lớn tuổi, và nhiều ý tưởng của họ đã tạo ra nền tảng cho nhiều ngôn ngữ lập trình hiện nay, trong đó có cả JavaScript. Cú pháp của Lisp có thể đã chết, nhưng kiến trúc linh hoạt của nó vẫn còn.

Có nhiều cách để làm sống lại ngôn ngữ Lisp thông qua JavaScript, tùy thuộc vào mục đích sử dụng của lập trình viên. Như EdgeLisp chẳng hạn, cung cấp nhiều mảng của Lisp, và nhóm phát triển nó hứa rằng EdgeLisp sẽ khiến những lập trình viên Common Lisp thấy quen thuộc. Còn Parenscript lại cung cấp đầy đủ các chương trình con (macro) của Lisp và nhiều hơn nữa các chức năng của Common Lisp. Còn nếu bạn thích Lisp-1, Ralph là một lựa chọn tốt.

Tất nhiên, nếu bạn là fan của Scheme thì có nhiều công cụ để chọn lựa, như BiwaScript, Moby Scheme, và nconc.
Ngoài ra, còn nhiều công cụ khác nữa bạn có thể sử dụng mặc dù chúng hơi khác một tí so với công cụ Lisp gốc. Như LispyScript hay Oppo chẳng hạn. Trong đó, những người tạo ra Oppo tự giới thiệu như sau: “Nếu JavaScript là quần áo của ngôn ngữ C, thì Oppo chính là Lisp với quần áo Lisp và đồ lót của C”.

Smalltalk

Smalltalk là một trong những ngôn ngữ đầu tiên mang lập trình hướng đối tượng phổ biến ra thế giới.

Hiện nay, Clamato (http://clamato.net) đã chuyển đổi nhiều cấu trúc đơn giản của Smalltalk thành các phần JavaScript rất dễ sử dụng. Tất nhiên không phải mọi thứ của Smalltalk đều có trên Clamato nhưng các lập trình viên của Clamato đã đưa ra nhiều công cụ kết nối jQuery với DOM để bạn có thể tạo ra các ứng dụng trên nền web.

Tương tự, Little Smallscript lại cung cấp cho lập trình viên một tập con viết bằng JavaScript nhưng chạy trên nền Node.js. Còn những ai đã quen với một ngôn ngữ mới hơn sau này là Squeak có thể dùng phiên bản SqueakJS viết bằng JavaScript.

Logo

Logo là một ngôn ngữ lập trình trước đây được dùng đa số cho trẻ em. Hiện nay nếu bạn muốn sử dụng ngôn ngữ này thì vẫn có Logo Interpreter trên trình duyệt với nhiều chức năng thú vị gần như Logo cũ. Ngôn ngữ này có sự thanh lịch, đơn giản không “đụng hàng” với những ngôn ngữ hiện nay.

Giao diện của NSBasic.

Basic

Giờ đây bạn không chỉ có thể mô phỏng trò chơi “cổ xưa” Commodore 64 trên web mà còn có thể mô phỏng cả ngôn ngữ Basic đã lập trình nên trò chơi đó. Tất nhiên việc này có hơi… nói quá vì có nhiều thành phần của Basic đã mất đi sau từng ấy năm, nhưng sự thật là bạn có thể sử dụng nhiều thứ cơ bản mà Basic đã từng sở hữu.

Nếu bạn đã từng thích QBasic, một ngôn ngữ mà Microsoft đã làm cho rất nổi tiếng, thì bạn có thể dùng qb.js, một ngôn ngữ JavaScript sẽ chạy trên trình duyệt của bạn. Một khi qb.js khởi chạy, nó sẽ tạo trên trình duyệt của bạn một khung hình chữ nhật kiểu cũ mà lập trình viên nào cũng đã quen thuộc.

Trong khi đó, NSBasic có nhiều tùy chọn thương mại hơn để bạn viết code trên nền JavaScript, chạy được trên cả máy tính để bàn lẫn thiết bị di động.
Một lựa chọn khác là SpiderBasic (www.spiderbasic.com), một công cụ mới hơn được cho là xây dựng dựa trên PureBasic. Nó có thể tương thích với HTML5 và WebGL để xây dựng một ứng dụng nền web đa cửa sổ.

PC World VN, 06/2015

PCWorld

công cụ JavaScript, công cụ lập trình, công cụ phát triển, ngôn ngữ lập trình


© 2021 FAP
  2,465,707       75/2,077