W++ Programming Language Removed from VSCode Marketplace After 33,000 Downloads, Sparks Community Debate

BigGo Editorial Team
W++ Programming Language Removed from VSCode Marketplace After 33,000 Downloads, Sparks Community Debate

A new experimental programming language called W++ has captured attention in the developer community after being mysteriously removed from the VSCode Marketplace despite reaching over 33,000 downloads. The language, created by Ofek Bickel as an educational project, aimed to blend Python-like simplicity with .NET integration but has sparked heated discussions about its design choices and marketing approach.

Mysterious Marketplace Removal Raises Questions

The W++ VSCode extension was flagged and removed by Microsoft after accumulating 33,000 downloads in just under two hours. According to the creator, Microsoft labeled it as malware without providing specific details or responding to support requests. The rapid download count and sudden removal have left the community puzzled, with some questioning whether the high download numbers or the removal itself were legitimate.

The creator has since made the entire source code public on GitHub, including the VSCode extension, allowing developers to inspect the code and use it freely. This transparency move appears to be an attempt to address any security concerns that may have led to the takedown.

Timeline of Events:

  • W++ VSCode extension uploaded to marketplace
  • Reached 33,000+ downloads in under 2 hours
  • Extension flagged and removed by Microsoft as "malware"
  • No response received from Microsoft support
  • Full source code made public on GitHub
  • Community discussions emerge about design choices and marketing

Community Criticism Over Python Comparisons

One of the most contentious aspects of W++ has been its marketing as Python-like despite having significant syntax differences. Community members have pointed out that the language includes semicolons, uses let for variable declarations, and has a completely different lambda syntax - all of which are distinctly un-Pythonic.

I'm a little confused; it 'looks like Python' but basically every snippet has elements that don't look like Python.

The criticism has led to discussions about whether the language should drop the Python comparisons entirely and focus on its own merits as a .NET scripting language. Some developers suggest the language appears more JavaScript-like than Python-like, questioning the accuracy of the marketing messaging.

Technical Design Choices Divide Opinion

The language's technical decisions have generated mixed reactions from the developer community. W++ uses significant whitespace like Python but retains semicolons and braces, creating what one commenter described as an in-between state that may not appeal to either Python or C# developers fully.

Memory management concerns have also been raised, particularly by developers with experience in similar hosted language scenarios. Those who have worked with IronPython on older .NET frameworks warn about potential memory leaks and object lifecycle complications when building languages on top of existing runtimes.

W++ Key Features:

  • Full tokenizer, parser, and interpreter written in C
  • Async/await support with lambda expressions
  • Control flow: if, else, while, for, switch statements
  • Try/catch + throw and return mechanisms
  • Custom VSCode syntax highlighting and snippets
  • NuGet package integration (not pip)
  • Compiles to IL and integrates with .NET ecosystem

Performance and Adoption Challenges

Startup performance has emerged as another concern, with community members noting that JIT compilation delays on first execution could hinder adoption for quick scripting tasks. This issue is particularly relevant since W++ positions itself as a scripting language, where fast startup times are crucial for user experience.

The language's positioning between Python and C# has also raised questions about its target audience. Some developers argue that internal DSL approaches using C#'s fluent interfaces might be more practical for .NET developers than learning an entirely new language syntax.

Future Prospects and Community Interest

Despite the criticisms, W++ has generated genuine interest from some community members who appreciate the educational value and experimental nature of the project. Several developers have expressed interest in contributing to the project, particularly in areas like data flow analysis and language tooling.

The project serves as an interesting case study in language design and community reception. While the Python marketing angle has been controversial, the underlying goal of creating a lightweight scripting layer for .NET resonates with some developers who want something more approachable than full C# for simple automation tasks.

The W++ saga highlights the challenges faced by new programming languages in finding their niche and communicating their value proposition effectively. Whether the language can overcome its initial controversies and build a sustainable community remains to be seen.

Reference: W++