As we delve deeper into the age of artificial intelligence and AI-assisted programming, a question arises: Are the plethora of programming languages in Excel becoming obsolete? With the advent of AI, Python, and tools like Copilot, are we on the cusp of a paradigm shift in how data tasks are approached and executed? Might it become unnecessary, unbeneficial, or even unfeasible to juggle DAX, M, VBA, Office Scripts, and a host of other languages within a single application?
I’ve been pondering this potential future state for some time, but what spurred me into action was a post on LinkedIn by software engineer Chris Laffra. Chris highlighted a trend he’s observed: a growing desire to employ Python as the sole tool for software development. This makes me wonder if people will soon favor Python over the multitude of languages currently embedded in Excel.
(To add an intriguing twist, Chris is spearheading a project called PySheets (https://pysheets.app/), which allows users to utilize Pandas for data management and Matplotlib for charting, all within a spreadsheet UI. This initiative supports the notion of an all-Python environment, perhaps even more radically than I do, as his tool proposes eliminating Excel entirely and reconstructing its functionality in Python!)
Let’s explore this idea further by examining Excel’s existing architecture and what a future dominated by Python might entail—both its advantages and its drawbacks. Currently, the notion that DAX and M languages could become obsolete is quite controversial and perhaps considered a fringe perspective.
But DAX and M are just the tip of the iceberg. VBA, for instance, is still entrenched in many organizations’ workflows, even as Microsoft steadily moves toward sunsetting it. Meanwhile, the intended “modern” replacement—Office Scripts (based on TypeScript/JavaScript)—has struggled to gain traction or love from the community. Then there’s Excel formula language itself! All these languages illustrate just how complicated the Excel developer ecosystem has become.
AI struggles to integrate with legacy Excel
Excel is renowned for its comprehensive features, yet it carries considerable legacy baggage. From decades-old VBA (Visual Basic for Applications) scripts to newer technologies like DAX and M for data modeling and transformations, Excel comprises multiple layers of complex technologies that often do not integrate smoothly.
The introduction of AI, especially through platforms like Copilot, has further highlighted Excel’s architectural limitations. AI faces challenges in navigating Excel’s GUI and managing its diverse scripting languages effectively. The platform’s technical debt and architectural complexities impede AI’s full potential. While Copilot can assist in writing functions or code snippets, the patchwork of languages and scripting layers within Excel makes comprehensive automation or “intelligent” assistance less seamless than it could be.
Python serves as a unified language for most data tasks
Contrastingly, Python offers a streamlined approach. Known for its simplicity and versatility, Python has become the lingua franca of programming, particularly in data science and analytics. It excels at performing end-to-end tasks including data preparation, analysis, and visualization.
While Python may not natively handle user interface elements as smoothly as Excel, it compensates with powerful libraries like pandas for data manipulation, matplotlib and seaborn for visualizations, and scikit-learn for machine learning. This makes Python an attractive option for analysts looking to perform comprehensive data tasks without switching between multiple languages and interfaces.
Excel as a front-end tool for Python?
Envisioning Excel purely as a front-end tool while leveraging Python for backend computations presents a compelling use case. Excel can effectively manage tasks like user input and display, formatting, and interactive dashboards—areas where it naturally excels. By shifting the heavy lifting of data processing to Python, users can harness the best of both worlds: the user-friendly interface of Excel combined with the robust, versatile processing power of Python.
A great example of this is creating dynamic measures with Python in Excel:
Previously, without Python, creating dynamic measures was quite complex and often better handled by Power BI. Now, with Python integration, it’s become much easier to implement these measures. Building a complete “app” in Python to allow users to define their aggregation types and measures can still be quite cumbersome.
With Python in Excel, Python acts as the powerful backend tool for all data preparation, while Excel provides the front end, making it easier to build user-friendly and easily shareable tools:
Copilot simplifies Python code generation
One of the main challenges in transitioning Excel to a Python-driven platform would be user adoption. Expecting all Excel users to learn Python might seem overly ambitious. However, it’s worth noting that Excel has long required users to pick up specialized languages—be it VBA for automation or M for data cleansing. Python, at least, has the advantage of being a general-purpose language with extensive learning resources and a massive online community.
Here, AI tools like Copilot dramatically lower adoption barriers. They can generate Python code on the fly, allowing users to write advanced functions and transformations without deep programming knowledge. Copilot’s capabilities don’t stop at code snippets: it can provide context, suggestions, and error explanations, making the learning curve much gentler.
Moreover, Python’s ubiquity on the internet ensures that large language models (LLMs) have vast training data. By contrast, DAX, M, and certainly Office Scripts are more niche, meaning fewer examples and community-driven resources exist to train AI effectively. In this sense, aligning Excel more closely with Python could be seen as future-proofing it for a world increasingly dominated by AI-assisted development.
Security, data sources, and current limitations
A significant hurdle in shifting Excel towards a Python-centric development model is data security and integration with external data sources. Power Query currently plays a critical role here, safely importing and refreshing data from various databases and APIs. Python, while powerful, doesn’t come with a built-in, tightly controlled infrastructure like Power Query’s UI-driven connectors and M-based transformations. Expecting Python scripts to replicate Power Query’s secure, user-friendly environment overnight is unrealistic.
Additionally, it’s disappointing that Copilot does not currently support Power Query, nor can it manage it effectively. Without AI-driven assistance, managing M code can be tricky, and there’s a risk that some users will prefer to stick with these existing tools rather than adopt Python workflows. As long as Microsoft invests in maintaining and enhancing these older languages—perhaps in response to enterprise customers who rely on them—DAX, M, and even some legacy options may not disappear so quickly.
Conclusion
While the obsolescence of Excel-specific languages like DAX and M isn’t imminent, it’s worth considering a future in which their roles are diminished. If Python can handle most data wrangling, calculations, and visualizations—and if AI can help users write that Python code easily—then specialized languages become less critical. A similar argument can be made about VBA and Office Scripts. VBA, once the bedrock of Excel automation, is fading into the background as new workflows emerge. Office Scripts, positioned as its successor, has yet to capture hearts and minds. Meanwhile, Python’s community-driven evolution continues to accelerate.
In this scenario, Excel might evolve into more of a thin client or front-end shell, enabling users to interact with data processed by Python-based scripts and AI models on the backend. DAX and M might remain for highly optimized data modeling scenarios, especially in Power BI, or for niche use cases where their specialized capabilities shine. Office Scripts may find a home among web-first Excel users or those who crave integration with modern web development stacks. But for a significant share of data analysis tasks, Copilot-driven Python code generation could become the default choice.
I invite you to share your thoughts, experiences, and questions in the comments below. Are you seeing a shift in the tools you use for data analysis? Do you believe the era of multiple specialized Excel languages is coming to a close? How do you perceive the role of Python and AI in the future of Excel and data analytics at large? Let me know in the comments.
Leave a Reply