• Positron คือ IDE เจเนอเรชันถัดไปสำหรับงานวิทยาการข้อมูลโดยเฉพาะ ที่ Posit ผู้สร้าง RStudio พัฒนาขึ้นใหม่
  • IDE นี้ รองรับ R และ Python เป็นพื้นฐาน และเป็น แพลตฟอร์มหลายภาษา (polyglot) ที่ออกแบบมาให้เหมาะกับสภาพแวดล้อมวิทยาการข้อมูลซึ่งใช้งานหลายภาษาผสมกัน
  • ในเชิงสถาปัตยกรรม สร้างบน Code OSS ของ VS Code จึงมอบทั้งสภาพแวดล้อมที่คุ้นเคยและความสามารถในการขยายสูง พร้อมฟีเจอร์เฉพาะสำหรับนักวิทยาศาสตร์ข้อมูล เช่น plot, variable, help, data explorer
  • ด้วย R kernel ใหม่ Ark และ การรองรับไวยากรณ์ Tree-sitter R ทำให้การรันโค้ด การเติมโค้ดอัตโนมัติ การดีบัก และการสำรวจเอกสารดีขึ้นอย่างมาก รวมถึงดีบักโค้ดแบบผสมระหว่าง R กับ C++ ได้ด้วย
  • RStudio ยังได้รับการดูแลและสนับสนุนอย่างเสถียรต่อไป แต่ Positron มีแนวโน้มจะกลายเป็นศูนย์กลางของสภาพแวดล้อมพัฒนาด้านวิทยาการข้อมูลในระยะยาว ด้วยจุดแข็งด้าน หลายภาษา, การขยายระบบ, และสถาปัตยกรรมสมัยใหม่

แนะนำ Positron และเหตุผลที่จำเป็น

  • เป็น IDE สำหรับวิทยาการข้อมูลโดยเฉพาะ ที่มอบประสบการณ์ซึ่งปรับให้เหมาะกับงานวิเคราะห์ข้อมูลโดยตรง ต่างจาก IDE สำหรับพัฒนาซอฟต์แวร์ทั่วไป
  • มุ่งสู่แนวทาง code-first มากกว่าเครื่องมือแบบ GUI จึงช่วยเพิ่มทั้งประสิทธิภาพการทำงานและความสามารถในการทำซ้ำผลลัพธ์
  • ก้าวข้ามข้อจำกัดของ IDE เดิม (RStudio, Spyder, MATLAB เป็นต้น) ที่ เน้นภาษาเดียว ไปสู่การรองรับเวิร์กโฟลว์จริงที่ ใช้หลายภาษาผสมกัน

คุณสมบัติหลัก

  • รองรับหลายภาษา: ปัจจุบันรองรับ R และ Python และในเชิงโครงสร้างสามารถขยายไปยังภาษาอื่นได้
  • UI ที่คุ้นเคยแต่ขยายได้: มีโครงสร้าง 4 พาเนลคล้าย RStudio (source, console, variables, plots) พร้อมความยืดหยุ่นในการขยายแบบ VS Code
  • เอนจินแยกตามภาษา (Language Packs): Python และ R ทำงานเป็นส่วนขยายอิสระ ช่วยคงเสถียรภาพของ IDE และหากเกิดแครชก็จะไม่ทำให้ทั้ง IDE หยุดทำงาน

Ark สำหรับการรองรับ R

  • Ark (An R Kernel): Jupyter kernel ใหม่สำหรับ R ที่รองรับการรันโค้ด การเติมโค้ดอัตโนมัติ การวินิจฉัย และการดีบัก
  • พัฒนาการรองรับ ไวยากรณ์ Tree-sitter R ขึ้นใหม่ ทำให้สามารถนำไปใช้กับ GitHub code search และ IDE อื่น ๆ (เช่น Zed, Neovim) ได้ด้วย
  • นวัตกรรมด้านดีบักเกอร์: สามารถ step-through จากโค้ด R ไปยังโค้ด C++ ได้โดยตรง เพิ่มประสิทธิภาพการดีบักอย่างมากเมื่อต้องพัฒนาแพ็กเกจบนพื้นฐาน Rcpp/cpp11

ฟีเจอร์เฉพาะสำหรับวิทยาการข้อมูล

  • Data Explorer: ก้าวข้ามตารางแบบ grid ธรรมดา ด้วยสรุปสถิติ การตรวจค่าที่หายไป การกรองหลายเงื่อนไข และฮิสโตแกรมแบบ sparkline
  • Variables Pane: สำรวจชื่อตัวแปร ชนิดข้อมูล ตัวอย่างค่า และขยายดู dictionary ได้
  • Plots Pane: รองรับการสะสม เปรียบเทียบ และส่งออกผลลัพธ์เชิงภาพในหลายรูปแบบ (เช่น PNG, SVG, PDF)
  • Help Pane: เมื่อพิมพ์ ? ต่อท้ายชื่อฟังก์ชัน จะดูเอกสารและตัวอย่างได้ทันที นำจุดเด่นของ RStudio มาให้ผู้ใช้ Python ด้วย

พื้นฐานทางเทคนิคและสถาปัตยกรรม

  • ต่างจาก RStudio ตรงที่ไม่ได้ใช้โครงสร้างแบบ single process แต่เลือกใช้ สถาปัตยกรรมหลายชั้นบนพื้นฐาน Code OSS ของ VS Code
  • ใช้โปรโตคอลมาตรฐาน:
    • การรันโค้ด → Jupyter Protocol
    • การช่วยเขียนโค้ด (เติมโค้ดอัตโนมัติ·ตรวจไวยากรณ์) → Language Server Protocol
    • การดีบัก → Debug Adapter Protocol
  • มาตรฐานเหล่านี้ทำให้สามารถทำงานร่วมกันได้กับสภาพแวดล้อมหลากหลาย เช่น Jupyter Notebook และ Zed IDE

ชุมชนและการขยายความสามารถ

  • ใช้ส่วนขยายที่เข้ากันได้กับ VS Code จำนวนมากผ่าน Open VSX Marketplace (แต่ไม่รองรับ GitHub Copilot)
  • สามารถเพิ่มความสามารถได้ผ่านส่วนขยาย เช่น Quarto, Shiny, การเชื่อมต่อฐานข้อมูล
  • เสริมความสามารถในการปรับแต่งสำหรับผู้ใช้ เช่น ธีมมืด, การเปลี่ยนเลย์เอาต์, การรองรับคีย์แมปของ RStudio

ความสัมพันธ์กับ RStudio

  • RStudio จะยังคงได้รับการดูแลและสนับสนุนต่อไป โดยมีจุดแข็งด้านความเสถียรและความสมบูรณ์ จึงคาดว่าจะยังมีผู้ใช้จำนวนมากต่อไปอีกระยะหนึ่ง
  • Positron เป็นตัวเลือกใหม่ที่มีความเป็นทดลองและขยายได้สูง ซึ่งชี้ให้เห็นถึง ทิศทางวิวัฒนาการของ IDE สำหรับวิทยาการข้อมูลในระยะยาว

ผู้ใช้ที่เหมาะกับ Positron

  • ผู้ใช้ VS Code: กรณีรู้สึกว่ายังขาดฟีเจอร์เฉพาะด้านวิทยาการข้อมูล
  • ผู้ใช้ JupyterLab·notebook: กรณีต้องการขยับไปสู่ IDE ที่ทรงพลังกว่าและครบถ้วนกว่า
  • ผู้ใช้ RStudio: กรณีต้องการเพิ่มความสามารถด้านการปรับแต่งและการขยาย IDE
  • ผู้ใช้หลายภาษา: กรณีใช้งาน Rust, C++, JavaScript, Lua นอกเหนือจาก Python·R
  • ผู้ใช้ที่มุ่งเน้นการใช้ AI: กรณีต้องการฟีเจอร์ AI integration ที่ออกแบบมาสำหรับงานวิทยาการข้อมูลโดยเฉพาะ

แนวโน้มในอนาคต

  • มีแผนรองรับการผสานกับ Posit Workbench·Cloud และกำลังศึกษาฟีเจอร์เพื่อการทำงานร่วมกัน (การแชร์แบบเรียลไทม์·การแชร์ workspace)
  • วางแผนเสริมความสามารถด้านการรองรับข้อมูลขนาดใหญ่และการผสานกับ DuckDB·Arrow เพื่อเพิ่มศักยภาพ การประมวลผลข้อมูลบนดิสก์
  • ด้วยจุดแข็งด้าน หลายภาษา, การขยายระบบ, และพื้นฐานบนโปรโตคอลมาตรฐาน จึงมีโอกาสสูงที่จะกลายเป็นมาตรฐานรุ่นถัดไปของ IDE ด้านวิทยาการข้อมูล

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น