Thứ Hai, 25 tháng 1, 2016

10 ngôn ngữ lập trình đang trỗi dậy


Hoàng Anh
Sự phát triển của thiết bị công nghệ khiến những ngôn ngữ lập trình cũ khó có thể đáp ứng, điều đó dẫn đến sự bùng nổ nhiều phương thức tiếp cận mới để giải quyết vấn đề.
Ceylon 1.0.0
Tương tự: Java
Bản quyền: Apache v2
Ceylon
Tổng quan: Đã có một thời gian các nhà phát triển tại Red Hat đã cùng nói với nhau rằng: "Java sẽ thật tuyệt vời nếu nó chỉ có thể làm việc này và không làm việc kia". Sự thiếu chuyên môn hóa dẫn đến nhiều phiền toái và Ceylon ra đời. Ngôn ngữ này chạy trên JVM và Node.js, và có thể khắc phục những yếu điểm kinh điển của Java. Thay vì XML, Ceylonsử dụng cú pháp khai báo JSON trên dữ liệu cấu trúc cây, có tính năng nhập tài nguyên tĩnh, một hệ thống mô-đun, và hỗ trợ khá nhiều cấu trúc không tồn tại trong Java, chẳng hạn như sequence (trình tự), intersection (tương giao), và  union types (hàm union).
Clojure 1.6
Tương tự: Lisp
Bản quyền: Eclipse Public License 1.0
Clojure 1.6
Tổng quan: Cái nhìn chung về Clojure thì có thể coi như là Lisp trên JVM. Ngôn ngữ lập trình này chạy trên JVM và có thể truy cập vào các frameworks và thư viện Java. Người sáng tạo ra Clojure muốn nhắc đến ngôn ngữ như một công cụ để lập trình thiết kế đồng thời thiết lập chức năng. Nói cách khác nền tảng lập trình này phụ hợp với xử lý đa lõi hoặc các ứng dụng phân phối rộng rãi. Clojure khi được so sánh với Ruby và Ceylon thì ngôn ngữ này phù hợp nhất cho các lập trình viên phục vụ toán học hay khoa học. Nhưng với mô hình lập trình chức năng ngày càng tăng, Clojure xứng đáng một cái nhìn gần gũi hơn về khoa học điện toán.
Egison 3.3.3
Tương tự: Lisp
Bản quyền: MIT
Egison 3.3.3
Tổng quan: Egison là một ngôn ngữ chức năng nhằm thực hiện mô hình phù hợp với một loạt các kiểu dữ liệu. Tác giả của Egison, Satoshi Egi tuyên bố rằng: mô hình kết hợp các ngôn ngữ lập trình hiện có chỉ được hỗ trợ khi các dữ liệu được lưu trữ trong hình thức có cấu trúc liệt kê như danh sách. Egison được thiết kế cho phép các mô hình phù hợp được thể hiện theo những cách khác nhau dựa trên các kiểu dữ liệu; để xử lý mô hình phi tuyến, chẳng hạn như nhiều lần xuất hiện của cùng một biến trong mô hình; và để tạo ra mô hình chức năng có thể nhận hoặc trả kết quả.
Groovy 2.2
Tương tự: Java
Bản quyền: Apache License 2.0
Tổng quan: Ngôn ngữ mới này được xem là phiên bản mở rộng của Java. Groovy về cơ bản đã mở rộng cú phát của Java chạy trên JVM và có thể sử dụng các thư viện classes.  Nhưng một phần tính năng của Groovy không có trong nguyên bản Java: "static/dynamic typing,mainly nhưng tương tự về quá tải toán tử (overload operator) và hỗ trợ biểu thức chính quy (regular expression) và cho phép việc kiểm tra an toàn các đối tượng null với wrapping expressions (biểu thức cuốn) trong cú pháp đặc biệt (syntactic sugar). Ngôn ngữ này đã hấp dẫn được các tên tuổi lớn như: LinkedIn và Wired đã sử dụng Groovy, ngoài ra Grails sử dụng Groovy Web framework cho trang web của mình
Hack 1.0
Tương tự: PHP
Bản quyền: PHP/Zend licenses
Hack 1.0
Tổng quan: Facebook đã có thời gian ban đầy sử dụng nền tảng chạy PHP có tên gọi là HHVM- và mạng xã hội này đã bước xa hơn khi tạo ra một ngôn ngữ mới tương tự như PHP có tên gọi là Hack. Ngôn ngữ lập trình mới này giúp PHP có chu kì phát triển trở nên rực rỡ hơn bao giờ hết, những tính năng mới được bổ sung ở đây như thêm đối tượng trong static typing (kiểu tĩnh), Lambda Expression (Biểu thức Lambda)... Nhiều đoạn code PHP hiện tại hoạt động ở trong Hack giúp dễ dàng về mặt lý thuyết trong quá trình chuyển đối ngôn ngữ lập trình nhưng có thể là ngôn ngữ thay thế trong tương lai.Jeeves
Tương tự: ML
Bản quyền: MIT
Biểu tượng của Jeeves
Tổng quát: Jeeves đã được tạo ra để giúp các lập trình viên làm một việc: thực thi các chính sách bảo mật cho dữ liệu động thông qua ứng dụng. Trong quá trình sử dụng Pythong, nhiều lập trình viên đã cho rằng có quá nhiều kĩ thuật bảo mật vượt qua giới hạn cho phép. Chính sách dữ liệu để tạo ra cac dòng chạy và khả năng quản lý riêng biệt từ các ứng dụng. Câu hỏi đặt ra là làm thế nào đảm bảo an toàn dữ liệu đã trở thành vấn đề nan giản và Jeevesđể đảm bảo tương lai tốt đẹp hơn.Julia 0.2.1
Tương tự: Python
Bản quyền: MIT
Julia 0.2.1
Tổng quan: Julia được thiết kế cho nền tảng điện toán kĩ thuật và trong khoa học. Trình biên dịch Julia  được hỗ trợ bởi LLVM và một số tiêu chuẩn mới nhanh hơn so với Matlab, Mathematica, và R - nhưng công cụ được phát triển cho toán học và mở rộng trong khoa học kĩ thuật. Julia còn hỗ trợ khả năng vĩ mô của Lisp để mở rộng chức năng của ngôn ngữ lập trình. Khả năng của tùy biến trong việc sử dụng thư viện khá tốt nên khá dễ dàng để chuyển đổi từ Python sang JuliaNimrod 0.9.2
Tương tự: Python, Pascal
Bản quyền: MIT
Nimrod.
Tổng quan:  Nimrod biên dịch xuống C (với C ++ và Objective-C tùy chọn) và không cần một máy ảo hoặc runtime. Tác giả có ý định để cho ngôn ngữ này sử dụng để lập trình hệ thống, bởi vì Nimrod có thể truy cập phần cứng trực tiếp và có khả năng điều hướng đến thao tácquản lý bộ nhớ trong (garbage-collected) và quản lý bố nhớ thủ công. Ngôn ngữ cũng cho phép người sử dụng xác định các nhà khai thác và  macro, các ràng buộc đã được viết cho nhiều thư viện phổ biến và các ứng dụng của bên thứ ba: Windows và POSIX API, GTK2, OpenGL.
OCaml 4.01
Tương tự: The ML theorem-proving language, and to some degree Lisp
Bản quyền: Q Public License
OCaml 4.01
Tổng quan: Hầu hết các ngôn ngữ lập trình thường có xu hướng rơi vào một trong ba nhóm: chức năng (Lisp), bắt buộc (C), hoặc hướng đối tượng (Java). OCaml làm tất cả những điều đó, và một số dự án gần đây đã thực hiện theo làn sóng của OCaml như Hack của Facebook, Mirage hệ điều hành dự án Xen. Thiết kế kiểu tĩnh của nó có thể không không phải là giải pháp mạnh nhât nhưng một số ngôn ngữ khác đang được manh nha lấy lại để sử dụng như Microsoft F # là một ví dụ.
Racket 6.0
Tương tự: Lisp, Scheme
Bản quyền: LGPL
Racket 6.0
Tổng quan: Một biến thể của Scheme, mà bản thân ngôn ngữ này cũng lại một biến thể của Lisp. Racket được thiết kế đủ mạnh để tạo ra ngôn ngữ lập trình mới, đơn giản và mạnh mẽ, đủ để được sử dụng cho lập trình ứng dụng truyền thống - Naughty Dog sử dụng ngôn ngữ này cho các kịch bản trong một số trò chơi của họ, và các trang web Hacker News được phát triển sử dụng Scheme. Không giống như các ngôn ngữ Lisp giống khác, hệ thống vĩ mô Scheme bao gồm các trình biên dịch, vì thế tính năng có thể được thêm vào ngôn ngữ  có thể tạo ra một Racket.

0 nhận xét: