Ngơn ngữ lập trình

Một phần của tài liệu Bài tập lớn Blockchain Một số công nghệ phát triển phần mềm Đại học Công nghiệp Hà Nội (Trang 30 - 34)

7. Công cụ xây dựng

7.1. Ngơn ngữ lập trình

C ++

C ++ là một trong những ngơn ngữ lập trình phổ biến nhất trên tồn cầu và nó đã trở thành một ngơn ngữ chính trong ngành cơng nghiệp blockchain. Ngồi tính hữu ích của nó như một ngơn ngữ trong phát triển blockchain, nó cũng có các nguyên tắc tương tự như blockchain. Các nguyên tắc như vậy bao gồm tính đa hình (polymorphism), ẩn dữ liệu (data hiding), trừu tượng (abstraction)và đóng gói (encapsulation) để ngăn chặn việc thay đổi dữ liệu.

Việc triển khai blockchain đầu tiên, Bitcoin, ban đầu được viết bằng C ++. Nó là một ngơn ngữ lập trình tốt cho blockchain vì khả năng đa luồng (multi- threading) tiên tiến và khả năng kiểm sốt bộ nhớ. Các tính năng hướng đối tượng của ngơn ngữ này cung cấp cho các nhà phát triển cơ hội liên kết dữ liệu và các phương pháp nhằm xử lý chúng với nhau. Điều này tương tự như cách blockchain sử dụng các chuỗi mật mã để liên kết các khối với nhau.

Ưu điểm • Tốc độ cao • Độc lập và có nhiều nền tảng • Statically typed Nhược điểm • Phức tạp và có thể khó gỡ lỗi • Code redundancy

• Khơng hỗ trợ thu gom rác (garbage collection) Các loại tiền điện tử chính sử dụng C ++

• Bitcoin

• Ethereum

• Litecoin

• Stellar

• Ripple

Simplicity

Simplicity là một ngơn ngữ lập trình được xây dựng cho blockchain. Nó ẩn một số thành phần hợp lý từ các nhà phát triển để tăng năng suất của chúng, đó là lý do tại sao nó đang tạo được động lực trong cộng đồng các nhà phát triển.

Đây là một trong những ngơn ngữ lập trình tốt nhất để viết hợp đồng thơng minh. Nó có khả năng thay đổi mã hợp đồng thơng minh sau khi kích hoạt. Đây là một trong những lợi thế của việc sử dụng Simplicity hơn Solidity. Simplicity có các tính năng hướng đối tượng và nó sử dụng các nguyên tắc tương tự như blockchain để ngăn chặn việc thay đổi dữ liệu. Nó có khả năng tổ chức các chương trình thành cây, giảm u cầu về khơng gian khối và cho phép kích thước giao dịch nhỏ.

Ưu điểm

• Được xây dựng cụ thể cho blockchain

• Có khả năng tạo các hợp đồng thơng minh hiệu quả và an tồn Nhược điểm

• Là một ngơn ngữ mới

• Cộng đồng nhỏ và ít có sự hỗ trợ hơn các ngơn ngữ khác

Simplicity ra đời nhằm mục đích cải thiện các ngơn ngữ tiền điện tử (crypto-currency) hiện có:

• Tập lệnh Bitcoin

• EVM của Ethereum

JavaScript

Ban đầu, các nhà phát triển cảm thấy khó khăn khi sử dụng JavaScript để phát triển blockchain. Tuy nhiên, với việc tạo ra Node.js, các nhà phát triển hiện

có thể xây dựng các ứng dụng blockchain chất lượng và sáng tạo bằng cách sử dụng JavaScript.

Một lợi thế lớn của việc sử dụng JavaScript là bạn khơng cần phải lo lắng về việc tích hợp khi sử dụng nó để phát triển chuỗi khối. Điều này cho phép bạn hồn tồn tập trung nỗ lực của mình với tư cách là nhà phát triển về logic ứng dụng.

JavasScript cũng đang trở nên phổ biến hơn với sự phát triển của blockchain vì nó có thể xử lý mã không đồng bộ. Khả năng này rất quan trọng đối với blockchain vì khả năng có hàng triệu giao dịch chạy cùng một lúc. Bản chất không đồng bộ của JavaScripts cho phép một chương trình thực hiện nhiều hành động cùng một lúc, do đó cải thiện hiệu suất ứng dụng và tăng cường khả năng đáp ứng của phần mềm.

Ưu điểm

• Ngơn ngữ lập trình khơng đồng bộ

• Hướng đối tượng

• Hỗ trợ lập trình chức năng

• Prototype-based. Nhược điểm

• Giảm hiệu suất khi xử lý các tác vụ máy tính nặng

• Mơ hình lập trình khơng đồng bộ gây khó khăn cho việc bảo trì code

Sử dụng JavaScript trong chuỗi khối

• Ethereum.js

Solidity

Solidity được tạo ra để phát triển blockchain và được coi là một trong những ngơn ngữ lập trình blockchain nhanh nhất. Nó chủ yếu được các nhà phát triển Ethereum sử dụng để tạo các hợp đồng thơng minh. Nó tương tự như JavaScript và cung cấp cho người dùng khả năng tạo các ứng dụng phi tập trung chất lượng.

Các nhà phát triển blockchain thích sử dụng Solidity cho mạng lưới chuỗi khối Ethereum vì nó cho phép các nhà phát triển sử dụng sổ cái giao dịch kỹ thuật số Ethereum bằng cách tạo các hợp đồng thông minh giữa các doanh nghiệp.

Để hợp lý hóa q trình phát triển, Solidity sử dụng điều kiện trước, điều kiện sau và bất biến (preconditions, post-conditions, and invariants). Điều này cũng làm cho quá trình tạo hợp đồng đơn giản hơn nhiều cho người dùng.

Ưu điểm

• Dễ học

• Mức độ phổ biến cao với Ethereum

• Statically typed Nhược điểm

• Là một ngơn ngữ mới

• Cộng đồng nhỏ và ít hỗ trợ

• Khơng phổ biến và chủ yếu được sử dụng trong hệ sinh thái Ethereum

Các loại tiền điện tử chính sử dụng Solidity

• Ethereum

• Ethereum Classic

• Tron

Một phần của tài liệu Bài tập lớn Blockchain Một số công nghệ phát triển phần mềm Đại học Công nghiệp Hà Nội (Trang 30 - 34)