So, what does it mean? Turing completeness means that you can perform any computation given enough time and memory; i.e., you have an unlimited amount of loops and subroutines, and therefore you can compute anything you want – even though it might take ages to do so! This, therefore, begs the question: Could one use Excel as a Turing-complete programming language? And the answer is… yes!
Why you should be using more complicated spreadsheets
Move over Python and JS, there’s a new kid in town when it comes to programming languages… and that kid is Microsoft Excel. Okay, maybe not *new*, but definitely improved. In the past, Excel has been known more as a tool for business and data analysis than for actual programming. However, with the recent addition of dynamic array functions, Excel is now capable of so much more. For example, if you’re looking to do some procedural generation (i.e., generating things procedurally), you can just use the ROW() function to start at row one and generate row after row by adding something like: =ROW(1) + 10*RANDBETWEEN(1, 100). And this is just scratching the surface!
How this works
Yes, you read that right. Microsoft is turning Excel into a Turing-complete programming language. This means that, in theory, Excel could be used to write any program that any other programming language can write. How is this possible? It all has to do with the new ‘=’ feature in Excel. This allows users to write programs that can interpret and execute other programs written in Excel. Pretty crazy, right? So what does this mean for us, the consumers of these technologies? Well, it means that we’ll be able to use our favourite spreadsheet application (Excel) for much more than just crunching numbers! So far, Microsoft has not released many details about what exactly we’ll be able to do with this new system. We’re really excited about it though!
The limitations of this new feature
Although this new feature of MS Excel is pretty impressive, there are some limitations to consider before using it for more complex programming tasks. For one, it’s only available on the Windows platform. Secondly, it’s not yet clear how well it will integrate with other languages and tools. Thirdly, there may be performance issues when running larger programs. Fourth, the syntax and semantics are still being developed and may change in future versions. Fifth, for now you can’t install it on your own system, which means that you’ll need an Office 365 subscription to use the technology.
Sixth, many people who tried out the preview release found that their macros didn’t work correctly because they were written in Visual Basic instead of
C#. Seventh, since C# is significantly faster than Visual Basic (around 10x), Microsoft might want to reconsider whether or not they should make Visual Basic an option if they intend to have large programs run on this platform.
Suggestions for how we can use this feature
If you didn’t know, a Turing-complete language is one that can theoretically run any algorithm. This means that, in theory, we could use MS Excel to write programs that do anything from playing games to running businesses. Here are a few ideas of how we could put this new feature to use -We could create our own game (e.g., an adventure game).
- We could make graphs and charts for school projects.
- We could create macros for business purposes (e.g., order tracking).
- We could work on writing code for artificial intelligence!
If you’re already comfortable with Excel and know how to use its various features, then using it as a programming language can be a quick and easy way to get started with coding. However, there are some drawbacks. For one, Excel is not designed for code development, so it can be difficult to read and debug your code. Additionally, because Excel is a spreadsheet application, it’s limited in terms of the types of programs you can create. You might have trouble performing tasks like sorting or searching for specific data points. And if you’re working on a complex program, such as an algorithm or neural network, this may not be the best solution.