3 điểm bởi GN⁺ 2025-08-25 | 2 bình luận | Chia sẻ qua WhatsApp
  • PositronIDE chuyên dụng cho khoa học dữ liệu thế hệ mới do Posit, công ty tạo ra RStudio, mới phát triển
  • IDE này hỗ trợ R và Python mặc định, đồng thời là một nền tảng đa ngôn ngữ (polyglot) được thiết kế phù hợp với môi trường khoa học dữ liệu thường xuyên kết hợp nhiều ngôn ngữ
  • Về cấu trúc, nó dựa trên Code OSS của VS Code, mang lại môi trường quen thuộc và khả năng mở rộng phong phú, đồng thời tích hợp các tính năng chuyên biệt cho nhà khoa học dữ liệu như đồ thị, biến, trợ giúp, trình khám phá dữ liệu
  • Thông qua kernel R mới Arkhỗ trợ cú pháp R bằng Tree-sitter, công cụ này cải thiện đáng kể việc thực thi mã, tự động hoàn thành, gỡ lỗi và duyệt tài liệu, đồng thời còn hỗ trợ gỡ lỗi mã kết hợp giữa R và C++
  • RStudio vẫn tiếp tục được duy trì và hỗ trợ ổn định, nhưng Positron được kỳ vọng sẽ dần trở thành trung tâm của môi trường phát triển khoa học dữ liệu về lâu dài nhờ đa ngôn ngữ, khả năng mở rộng và kiến trúc hiện đại

Giới thiệu về Positron và sự cần thiết

  • IDE chuyên dụng cho khoa học dữ liệu, mang lại trải nghiệm được tùy biến cho công việc tập trung vào phân tích dữ liệu, khác với IDE phát triển phần mềm thông thường
  • Theo đuổi cách tiếp cận code-first, không phải công cụ dựa trên GUI, từ đó cung cấp môi trường giúp nâng cao năng suất và khả năng tái lập
  • Vượt qua giới hạn của các IDE hiện có (RStudio, Spyder, MATLAB, v.v.) vốn tập trung vào một ngôn ngữ duy nhất, để phù hợp với quy trình làm việc thực tế nơi nhiều ngôn ngữ được dùng kết hợp

Tính năng chính

  • Hỗ trợ đa ngôn ngữ: hiện hỗ trợ R và Python, và về mặt cấu trúc có thể mở rộng sang các ngôn ngữ khác
  • Giao diện quen thuộc nhưng có thể mở rộng: cung cấp cấu trúc 4 khung tương tự RStudio (nguồn, console, biến, đồ thị), đồng thời sở hữu khả năng mở rộng dựa trên VS Code
  • Engine theo ngôn ngữ (Language Packs): Python và R hoạt động như các phần mở rộng độc lập để duy trì độ ổn định của IDE; khi bị crash, toàn bộ IDE sẽ không bị treo

Ark dành cho hỗ trợ R

  • Ark (An R Kernel): kernel Jupyter mới cho R, cung cấp khả năng thực thi mã, tự động hoàn thành, chẩn đoán và gỡ lỗi
  • Mới phát triển hỗ trợ cú pháp R bằng Tree-sitter, có thể được tận dụng cả trong tìm kiếm mã của GitHub và các IDE khác (Zed, Neovim, v.v.)
  • Đổi mới trình gỡ lỗi: có thể step-through trực tiếp từ mã R sang mã C++, tối đa hóa hiệu quả gỡ lỗi khi phát triển gói dựa trên Rcpp/cpp11

Tính năng chuyên biệt cho khoa học dữ liệu

  • Trình khám phá dữ liệu (Data Explorer): vượt ra ngoài bảng đơn giản (grid), cung cấp thống kê tóm tắt, kiểm tra giá trị khuyết, lọc đa điều kiện và histogram sparkline
  • Khung biến (Variables Pane): có thể xem tên biến, kiểu, phần xem trước và mở rộng để khám phá dictionary
  • Khung đồ thị (Plots Pane): hỗ trợ tích lũy, so sánh kết quả trực quan và xuất ra nhiều định dạng (PNG, SVG, PDF, v.v.)
  • Khung trợ giúp (Help Pane): khi nhập ? sau tên hàm, có thể xem ngay tài liệu và ví dụ; mang thế mạnh của RStudio đến cả người dùng Python

Nền tảng kỹ thuật và kiến trúc

  • Khác với RStudio, công cụ này không dùng cấu trúc đơn tiến trình mà áp dụng kiến trúc nhiều lớp dựa trên Code OSS của VS Code
  • Sử dụng các giao thức tiêu chuẩn:
    • Thực thi mã → Jupyter Protocol
    • Hỗ trợ mã (tự động hoàn thành, kiểm tra cú pháp) → Language Server Protocol
    • Gỡ lỗi → Debug Adapter Protocol
  • Nhờ sự tiêu chuẩn hóa này, công cụ có thể tương thích lẫn nhau với nhiều môi trường như Jupyter Notebook, Zed IDE, v.v.

Cộng đồng và khả năng mở rộng

  • Có thể dùng vô số phần mở rộng tương thích VS Code thông qua Open VSX marketplace (tuy nhiên không dùng được GitHub Copilot)
  • Có thể mở rộng chức năng bằng các extension như Quarto, Shiny, kết nối cơ sở dữ liệu, v.v.
  • Tăng cường tùy biến cho người dùng như dark theme, thay đổi bố cục, tương thích keymap của RStudio

Mối quan hệ với RStudio

  • RStudio sẽ tiếp tục được duy trì và hỗ trợ, với thế mạnh là độ ổn định và mức độ hoàn thiện, nên dự kiến vẫn sẽ được nhiều người dùng sử dụng trong thời gian tới
  • Positron là một lựa chọn mới mang tính thử nghiệm và có khả năng mở rộng cao, đồng thời gợi mở lộ trình tiến hóa dài hạn của IDE khoa học dữ liệu

Người dùng phù hợp với Positron

  • Người dùng VS Code: khi cảm thấy thiếu các tính năng chuyên biệt cho khoa học dữ liệu
  • Người dùng JupyterLab/notebook: khi muốn mở rộng sang một IDE mạnh mẽ và hoàn chỉnh hơn
  • Người dùng RStudio: khi muốn tăng cường khả năng tùy biến và mở rộng của IDE
  • Người dùng đa ngôn ngữ: khi sử dụng thêm Rust, C++, JavaScript, Lua ngoài Python và R
  • Người dùng định hướng tận dụng AI: khi muốn các tính năng tích hợp AI chuyên biệt cho khoa học dữ liệu

Triển vọng sắp tới

  • Dự kiến sẽ hỗ trợ tích hợp Posit Workbench và Cloud; các tính năng cộng tác (chia sẻ thời gian thực, chia sẻ workspace) cũng đang được nghiên cứu
  • Có kế hoạch tăng cường khả năng xử lý dữ liệu on-disk như hỗ trợ dữ liệu quy mô lớn, tích hợp DuckDB và Arrow
  • Với các thế mạnh đa ngôn ngữ, khả năng mở rộng và nền tảng giao thức tiêu chuẩn, Positron có khả năng cao trở thành tiêu chuẩn thế hệ tiếp theo cho IDE khoa học dữ liệu

2 bình luận

 
GN⁺ 2025-08-25
Ý kiến trên Hacker News
  • Điều đáng tiếc là họ dùng pyright và jedi cho các tính năng nâng cao; tôi nghĩ dùng basedpyright sẽ tốt hơn. jedi hỗ trợ ngôn ngữ Python yếu hơn so với pylance hay basedpyright. Dù được gọi là mã nguồn mở, rõ ràng vẫn có những giới hạn nhất định, nên cách đóng gói như vậy thật ra cũng không mấy thuyết phục. Tôi từng dùng R Connect Server / Posit Server ở công ty, nhưng chỉ để bật thêm một cơ chế xác thực cho app nội bộ mà giá đã quá khủng khiếp, nên cuối cùng phải chuyển sang giải pháp khác. Chúng tôi cũng tìm được phương án thay thế và làm đội bảo mật hài lòng, nhưng thực sự là rất khổ sở và người dùng cũng phàn nàn nhiều. Từ đó tôi tránh các sản phẩm thương mại của Posit, và lần này cũng rất do dự vì ranh giới mập mờ đó

    • Tôi tò mò không biết giải pháp thay thế là gì. Giá của Posit thực sự khó mà chấp nhận nổi. Ngay cả trong giới học thuật họ cũng đòi mức giá cực cao, và tôi nghi ngờ không biết có xứng đáng không
  • Tôi không muốn chê bai quá mức vì có vẻ sản phẩm này được làm khá tốt, nhưng tôi không hiểu nổi việc xây một IDE cho khoa học dữ liệu mà lại không có SQL client tử tế. Có thể đó là thiên kiến của tôi, nhưng SQL là phần cực kỳ quan trọng trong workflow. Chỉ riêng điểm đó thôi cũng khiến nó thua PyCharm hay Visual Studio (không phải Code mà là VS thật). Tôi biết IDE hoàn chỉnh vốn là công cụ nặng, nhưng nếu chỉ chỉnh sửa thì tôi dùng vim, còn khi làm việc thực sự thì tốt hơn là dùng công cụ mạnh

    • Tôi là một lập trình viên Positron. Tôi không hoàn toàn phản đối ý kiến đầu tiên. Chúng tôi có tính năng quản lý kết nối trong Python và R: connections pane. Chúng tôi có mục tiêu lớn là mở rộng hỗ trợ SQL dựa trên những gì đã xây dựng, như trình khám phá dữ liệu và kết nối Observable thông qua Quarto. Chúng tôi dự định đầu tư vào mảng này từ quý 4 năm nay

    • Có vẻ sản phẩm này được xây trên nền tảng vsc. Chắc hẳn phải có ít nhất một extension SQL client ổn chứ

  • Vấn đề là nó không phải mã nguồn mở: “không được cung cấp phần mềm cho bên thứ ba dưới dạng dịch vụ hosting hoặc dịch vụ quản lý theo cách cho phép người dùng truy cập vào các chức năng chính hoặc phần đáng kể của phần mềm”

    • Nếu giấy phép có hạn chế thì có thể xem là không phải mã nguồn mở sao? Cụ thể thì cần loại giấy phép nào?
  • Họ nói là xây trên mã nguồn mở của VSCode, nhưng trên trang dự án lại cực kỳ không rõ những tính năng hay phụ thuộc nào là không phải mã nguồn mở hoặc không miễn phí (yêu cầu thuê bao trả phí, gói enterprise, tài khoản premium, v.v.). Ở điểm này, tôi muốn họ nói rõ mô hình doanh thu được cấu thành thế nào. Việc bundle GenAI assistant vào IDE cũng là một tín hiệu khá rõ rằng có những “điều kiện” kiểu này. Thật tiếc là FAQ không đề cập gì đến phần đó

    • Tôi là lập trình viên Positron! Khuyến nghị xem FAQ. Tóm lại, app desktop (bao gồm cả phiên SSH từ xa) miễn phí với giấy phép khá thoáng: không cần tài khoản, không cần thuê bao, và dùng thương mại cũng được. Nhưng nếu muốn dùng ở chế độ server thì cần thuê bao trả phí
  • Với tôi, Emacs là IDE khoa học dữ liệu thế hệ tiếp theo thực thụ duy nhất, đồng thời dĩ nhiên cũng là IDE của thế hệ trước

    • Tôi muốn biết cụ thể bạn dùng những package và workflow nào. Có vẻ đang thiếu tài liệu nhập môn dễ tiếp cận và được duy trì tốt, nên tôi cần tham khảo

    • Tôi muốn biết liệu bạn có thể giải thích chi tiết hơn không

  • Có lẽ giờ chúng ta đã mang số phận không thể thoát khỏi các bản fork của vscode

    • Làm tôi nhớ đến trang “Days Since Last VSCode Fork”. Trang đó ở đây, nhưng có vẻ không còn được duy trì

    • Tôi nghĩ team Monaco thực sự đã làm một việc rất đáng nể. Tôi không rõ trong sự phức tạp của VS Code thì cái gì thực sự cần thiết về bản chất, nhưng nếu ai đó tạo ra một phiên bản gọn nhẹ với 10% số dòng code mà vẫn cung cấp được 90% tính năng, thì nó sẽ thay đổi môi trường editor mạnh mẽ chẳng kém gì VS Code đã từng làm. Nếu còn có tính di động nữa thì sẽ hoàn hảo, dù có vẻ khó tránh khỏi phụ thuộc vào HTML+JS+CSS. Tôi cũng muốn nhắc đến những thử nghiệm như extension Dear ImGui

  • Tôi là người dùng học thuật dùng R studio hằng ngày, còn Python thì dùng VS code. Tôi đã thử posit vài tháng trước, nhưng nó chưa đủ ổn định để dùng hằng ngày và cũng chưa có đủ các package tôi cần. Tôi định sẽ thử lại sớm. Thói quen của tôi khi dùng R và Python đã tách biệt rất rõ, nên tôi nghĩ những người như tôi sẽ mất khá nhiều thời gian để chuyển hẳn. Tôi đã thử dùng R trong VS code khoảng một tuần nhưng cảm giác không hợp lắm. Nếu panel kết nối hoạt động thực sự mượt mà thì tôi rất kỳ vọng

  • Positron cũng là tên của một máy in 3D siêu nhỏ gọn. Sản phẩm Positron3D đã định nghĩa lại phân khúc máy in 3D siêu nhỏ, và cái tên hệ thống động cơ “Positron drive” cũng khá quen thuộc. Một sản phẩm anh em của nó là JourneyMaker-Positron. Đây là phiên bản cắt giảm chi phí của JourneyMaker; ngoài ra còn có Lemontron, cho phép tự in 3D phần khung thay vì cần các chi tiết gia công CNC

  • Công cụ và hệ sinh thái này không hỗ trợ Julia. Với một công cụ đa ngôn ngữ cho khoa học dữ liệu thời nay, tôi nghĩ chỉ có R và Python là chưa đủ. Tôi không hiểu tại sao lại không hỗ trợ Julia

    • Tôi là lập trình viên Positron. Chúng tôi đang theo dõi issue yêu cầu hỗ trợ Julia tại đây, nên bạn có thể để lại ý kiến nếu muốn

    • Julia chưa bao giờ thực sự đạt được độ phổ biến đại chúng, và giờ thậm chí còn đang đi xuống

  • Trông cái này rất giống Spyder IDE mà Anaconda hay WinPython cung cấp. Nó có đủ những gì cần thiết: code editor, REPL, variable inspector, biểu đồ inline, v.v.

    • Tôi là lập trình viên Positron. Nếu chỉ làm khoa học dữ liệu bằng Python thì tôi nghĩ Spyder có thể là một lựa chọn tốt. Tuy nhiên, nếu bạn thường xuyên dùng nhiều ngôn ngữ như Python+C, Python+Rust, Python+JavaScript, hoặc muốn một IDE dễ tùy biến và mở rộng hơn, thì tôi nghĩ Positron là lựa chọn tốt hơn
 
kayws426 2025-08-25

Có phải Jupyter không được tích hợp sẵn sao.