Tại sao nên học Python
Top 5 ngôn ngữ phổ biến nhất thế giới gồm có:
- Python
- JavaScript
- Java
- C++
- C#
Trong đó Python với JavaScript được cho là dễ học nhất do có cú pháp đơn giản, ngắn gọn, cấu trúc thì dễ hiểu. Tuy nhiên JavaScript được tạo ra cho lập trình web còn Python được thiết kế để trở thành một ngôn ngữ có mục đích chung cho nhiều mục đích như web, tools, data-science, games.
Python là một ngôn ngữ lập trình thông dịch (interpreted language) điều này có nghĩa là chúng ta phải diễn giải nó thành mã máy, nhưng điều này không đồng nghĩa với việc phải diễn giải nó thành mã máy thủ công. Ngôn ngữ Python được thực thi thông qua trình thông dịch Python (Python interpreter), và trình thông dịch này thực hiện quá trình diễn giải và thực thi mã nguồn Python thành mã máy một cách tự động. Và chúng ta có 3 cách để thông dịch mã nguồn (source code) thành mã máy:
- Compile (biến ngôn ngữ lập trình bậc cao thành tệp thực thi chứa mã máy cấp thấp)
- Interpret (xử lý code mỗi lần chạy và người dùng cần có sẵn trình thông dịch cần thiết trên máy của họ)
- Tổng hợp
Compiled language: C, C++
Interpreted language: PHP, JavaScript
Tổng hợp: Java, C#, Python
Python vs IronPython
Có thể bạn đã biết python là một ngôn ngữ lập trình phổ biến có các trình thực hiện (implementations ) lớn như:
- CPython (written in C)
- Jython (implemented in Java)
- Python for .NET
- IronPython (dành cho .NET framework)
- PyPy
Link tham khảo: https://docs.python.org/3.10/reference/introduction.html#alternate-implementations
IronPython: Là một phiên bản của Python dành cho .NET framework được xây dựng bởi Microsoft. Chữ Iron trong IronPython là viết tắt của Implementation Runs On .NET. IronPython sử dụng cả thư viện của Python và .NET (được phát triển bởi Microsoft) mà .NET lại là nền tảng mà Autodesk cũng đang sử dụng. Chính vì thế mà chúng ta cần dùng IronPython để có thể kết nối với nền tảng .NET cũng như để kết nối với Revit, Dynamo… cũng như Autodesk.
Nói tóm lại thì IronPython là một phiên bản của Python. Về cơ bản thì giống nhau trên mọi khía cạnh, điểm khác nhau là IronPython được phát triển để làm việc với .NET framework. Python trong Dynamo, Grasshopper, RevitPythonShell và pyRevit thường là IronPython.
IronPython vs cPython
Nếu như IronPython được viết bằng C# thì cPython được viết trên nền tảng C cho phép truy cập các tính năng mới nhất của Python (3.7+) và khả năng import các mô-đun mạnh mẽ khác mà IronPython không làm được. Tóm lại Python là một ngôn ngữ, Ironpython là triển khai Python trong C# và CPython là triển khai Python trong C, Jython là triển khai Python trong Java.
Trong Dynamo hiện tại cũng cho viết mã bằng IronPython và CPython
RevitPythonShell
Là một công cụ trên Revit dùng để viết các plug-in cũng như test nhanh Python code. Sở dĩ tôi nói nó nhanh là vì chúng ta sẽ có ngay kết quả cũng như bugs (nếu có) sau khi Run.
Đây là đường dẫn đến công cụ này trên github mà bạn có thể truy cập để tải-cài cũng như khám phá: https://github.com/architecture-building-systems/revitpythonshell
Revit Python Wrapper
Revit Python Wrapper (RPW)là một thư viện được viết bằng Python được tạo ra để giúp các BIM developer lập trình với RevitAPI dễ dàng hơn bằng ngôn ngữ Python. Bạn có thể sử dụng RPW trên Dynamo, RevitPythonShell hay pyRevit.
Để truy cập RPW trên github bạn xem tại đường dẫn sau: https://github.com/gtalarico/revitpythonwrapper/blob/master/docs/source/index.rst
RevitLookup
Đây là một công cụ đắc lực mà tất cả các Revit developers đều dùng để tra cứu cấu trúc cơ sở dữ liệu của các đối tượng trong Revit.
Nếu thấy bài viết này hữu ích, hãy cân nhắc việc follow BCDD tại đây
Bài viết do admin 1 Nghia Nguyen và cộng sự BCDD biên soạn.