ภาษาโปรแกรม W++ ถูกลบออกจาก VSCode Marketplace หลังดาวน์โหลด 33,000 ครั้ง จุดประกายการถ่ายเทในชุมชน

BigGo Editorial Team
ภาษาโปรแกรม W++ ถูกลบออกจาก VSCode Marketplace หลังดาวน์โหลด 33,000 ครั้ง จุดประกายการถ่ายเทในชุมชน

ภาษาโปรแกรมทดลองใหม่ที่เรียกว่า W++ ได้ดึงดูดความสนใจในชุมชนนักพัฒนาหลังจากถูกลบออกจาก VSCode Marketplace อย่างลึกลับแม้จะมีการดาวน์โหลดมากกว่า 33,000 ครั้ง ภาษานี้ซึ่งสร้างโดย Ofek Bickel เป็นโครงการเพื่อการศึกษา มีเป้าหมายที่จะผสมผสานความเรียบง่ายแบบ Python กับการรวมเข้ากับ .NET แต่กลับจุดประกายการถกเถียงอย่างเข้มข้นเกี่ยวกับทางเลือกในการออกแบบและแนวทางการตลาด

การลบออกจาก Marketplace อย่างลึกลับทำให้เกิดคำถาม

ส่วนขยาย W++ VSCode ถูกตั้งค่าสถานะและลบออกโดย Microsoft หลังจากสะสมการดาวน์โหลด 33,000 ครั้งในเวลาเพียงไม่ถึงสองชั่วโมง ตามที่ผู้สร้างระบุ Microsoft ติดป้ายว่าเป็นมัลแวร์โดยไม่ให้รายละเอียดเฉพาะเจาะจงหรือตอบกลับคำขอสนับสนุน จำนวนการดาวน์โหลดที่รวดเร็วและการลบออกอย่างกะทันหันทำให้ชุมชนงุนงง โดยบางคนตั้งคำถามว่าจำนวนการดาวน์โหลดที่สูงหรือการลบออกนั้นถูกต้องหรือไม่

ผู้สร้างได้เผยแพร่ซอร์สโค้ดทั้งหมดต่อสาธารณะบน GitHub รวมถึงส่วนขยาย VSCode ทำให้นักพัฒนาสามารถตรวจสอบโค้ดและใช้งานได้อย่างอิสระ การเคลื่อนไหวด้านความโปร่งใสนี้ดูเหมือนจะเป็นความพยายามในการแก้ไขข้อกังวลด้านความปลอดภัยที่อาจนำไปสู่การถอดถอน

ลำดับเหตุการณ์:

  • ส่วนขยาย W++ VSCode อัปโหลดไปยัง marketplace
  • มียอดดาวน์โหลดถึง 33,000+ ครั้งในเวลาไม่ถึง 2 ชั่วโมง
  • ส่วนขยายถูกตั้งค่าสถานะเป็นปัญหาและถูกลบออกโดย Microsoft ในฐานะ "มัลแวร์"
  • ไม่ได้รับการตอบกลับจากทีมสนับสนุนของ Microsoft
  • เผยแพร่ซอร์สโค้ดทั้งหมดต่อสาธารณะบน GitHub
  • เกิดการอพยพในชุมชนเกี่ยวกับการเลือกใช้การออกแบบและการตลาด

การวิพากษ์วิจารณ์จากชุมชนเกี่ยวกับการเปรียบเทียบกับ Python

หนึ่งในแง่มุมที่ถกเถียงกันมากที่สุดของ W++ คือการตลาดว่าคล้าย Python แม้จะมีความแตกต่างทางไวยากรณ์อย่างมีนัยสำคัญ สมาชิกชุมชนได้ชี้ให้เห็นว่าภาษานี้รวมถึงเซมิโคลอน ใช้ let สำหรับการประกาศตัวแปร และมีไวยากรณ์ lambda ที่แตกต่างกันโดยสิ้นเชิง ซึ่งทั้งหมดนี้ไม่เป็นแบบ Python อย่างชัดเจน

ฉันสับสนเล็กน้อย มันดู 'เหมือน Python' แต่โค้ดตัวอย่างเกือบทุกชิ้นมีองค์ประกอบที่ไม่เหมือน Python

การวิพากษ์วิจารณ์ได้นำไปสู่การถกเถียงว่าภาษานี้ควรยกเลิกการเปรียบเทียบกับ Python ทั้งหมดและมุ่งเน้นไปที่คุณค่าของตัวเองในฐานะภาษาสคริปต์ .NET นักพัฒนาบางคนแนะนำว่าภาษานี้ดูเหมือน JavaScript มากกว่า Python ทำให้เกิดคำถามเกี่ยวกับความถูกต้องของข้อความการตลาด

ทางเลือกในการออกแบบทางเทคนิคแบ่งความคิดเห็น

การตัดสินใจทางเทคนิคของภาษาได้สร้างปฏิกิริยาที่หลากหลายจากชุมชนนักพัฒนา W++ ใช้ช่องว่างที่มีความหมายเหมือน Python แต่ยังคงเซมิโคลอนและวงเล็บปีกกา สร้างสิ่งที่ผู้แสดงความเห็นคนหนึ่งอธิบายว่าเป็นสถานะกึ่งกลางที่อาจไม่ดึงดูดนักพัฒนา Python หรือ C# อย่างเต็มที่

ข้อกังวลเรื่องการจัดการหน่วยความจำก็ถูกยกขึ้นมา โดยเฉพาะจากนักพัฒนาที่มีประสบการณ์ในสถานการณ์ภาษาที่โฮสต์คล้ายกัน ผู้ที่เคยทำงานกับ IronPython บน .NET framework รุ่นเก่าเตือนเกี่ยวกับการรั่วไหลของหน่วยความจำที่อาจเกิดขึ้นและความซับซ้อนของวงจรชีวิตออบเจ็กต์เมื่อสร้างภาษาบน runtime ที่มีอยู่แล้ว

คุณสมบัติหลักของ W++ :

  • tokenizer, parser และ interpreter ที่เขียนด้วย C อย่างสมบูรณ์
  • รองรับ async/await พร้อมกับ lambda expressions
  • การควบคุมการทำงาน: คำสั่ง if, else, while, for, switch
  • กลไก try/catch + throw และ return
  • การเน้นไวยากรณ์และ snippets แบบกำหนดเองใน VSCode
  • การรวมแพ็กเกจ NuGet (ไม่ใช่ pip)
  • คอมไพล์เป็น IL และรวมเข้ากับระบบนิเวศ .NET

ความท้าทายด้านประสิทธิภาพและการยอมรับ

ประสิทธิภาพการเริ่มต้นได้กลายเป็นข้อกังวลอีกประการหนึ่ง โดยสมาชิกชุมชนสังเกตว่าความล่าช้าในการคอมไพล์ JIT ในการรันครั้งแรกอาจขัดขวางการยอมรับสำหรับงานสคริปต์ที่รวดเร็ว ปัญหานี้มีความเกี่ยวข้องโดยเฉพาะเนื่องจาก W++ วางตำแหน่งตัวเองเป็นภาษาสคริปต์ ซึ่งเวลาเริ่มต้นที่รวดเร็วมีความสำคัญต่อประสบการณ์ผู้ใช้

การวางตำแหน่งของภาษาระหว่าง Python และ C# ยังทำให้เกิดคำถามเกี่ยวกับกลุ่มเป้าหมาย นักพัฒนาบางคนโต้แย้งว่าแนวทาง internal DSL โดยใช้ fluent interface ของ C# อาจจะปฏิบัติได้มากกว่าสำหรับนักพัฒนา .NET มากกว่าการเรียนรู้ไวยากรณ์ภาษาใหม่ทั้งหมด

แนวโน้มในอนาคตและความสนใจจากชุมชน

แม้จะมีการวิพากษ์วิจารณ์ W++ ได้สร้างความสนใจอย่างแท้จริงจากสมาชิกชุมชนบางคนที่ชื่นชมคุณค่าทางการศึกษาและลักษณะการทดลองของโครงการ นักพัฒนาหลายคนได้แสดงความสนใจในการมีส่วนร่วมในโครงการ โดยเฉพาะในด้านการวิเคราะห์การไหลของข้อมูลและเครื่องมือภาษา

โครงการนี้ทำหน้าที่เป็นกรณีศึกษาที่น่าสนใจในการออกแบบภาษาและการรับรู้จากชุมชน แม้ว่ามุมการตลาดแบบ Python จะเป็นที่ถกเถียง แต่เป้าหมายพื้นฐานในการสร้างชั้นสคริปต์ที่เบาสำหรับ .NET ก็สะท้อนกับนักพัฒนาบางคนที่ต้องการสิ่งที่เข้าถึงได้ง่ายกว่า C# เต็มรูปแบบสำหรับงานอัตโนมัติง่าย ๆ

เรื่องราวของ W++ เน้นย้ำถึงความท้าทายที่ภาษาโปรแกรมใหม่เผชิญในการหาช่องทางของตัวเองและการสื่อสารข้อเสนอคุณค่าอย่างมีประสิทธิภาพ ว่าภาษานี้จะสามารถเอาชนะความขัดแย้งในช่วงแรกและสร้างชุมชนที่ยั่งยืนได้หรือไม่ยังคงต้องติดตาม

อ้างอิง: W++