Excel is a programming language?


No, no, I'm not asking for my opinion. I'm creating this because today I found this unlikely question:

Is HTML a programming language?

And, I confess, I voted positive in the second comment (image below) of the main answer:

So the question is one, but I think it has a small division:

  • The Turing is the only minimal theoretical machine of Turing form (or most accepted) to determine what a programming language is?

  • So, according to Turing, is Excel really a programming language? (If the answer to the first question is negative, please tell us which method you based your answer on)

asked by anonymous 21.11.2015 / 20:56

5 answers


What defines what a programming language is?

You will find several settings. At the Wikipedia :


A programming language is a standardized method for communicating instructions to a computer. 1 It is a set of syntactic and semantic rules used to define a computer program. 2 [Note 1] It allows a programmer specify precisely what data a computer will act on, how this data will be stored or transmitted, and what actions should be taken under various circumstances. Programming languages can be used to accurately express algorithms.

If we continue reading the article (even in English ) we will find a lot of information that helps define what is expected of a language programming and even the various classifications of them. We noticed that we can not get caught up in the classic way we know languages like C, Java, C #, JavaScript, PHP, etc.

Excel fits into these settings.

One of the criteria for defining a programming language is whether it is Turing Complete >. This is the only object criteria I know to define whether the language has full programming capability. Some people may disagree. I have never found a definitive canonical definition to indicate this. I have also never seen anything plausible that would indicate that this is not a good criterion.

If there is an objective criterion, more subjective criteria are obviously not good for deciding something. Does anyone know a better criterion?

Then I wonder how anyone in their right mind can consider that software that can solve any computational problem in a fully programmable way without the need for outside help may not be a programming language? It is more controversial to say that SQL (default) is a programming language, because there are problems that it can not solve.

So Excel (not VBA, which obviously is too) is a programming language. If you disagree, okay. It will not change anyone's life. But if possible, demonstrate where there is a failure in this definition. I never found it.

Some places where this is discussed:

21.11.2015 / 23:39

I think some concepts are being mixed here:

  • Programming language
  • Turing machine
  • Excel
  • Excel Functions

In my opinion Wiki has a good definition of what is a language of programming:


A programming language is a standardized method for communicating   instructions for a computer. 1 It is a set of syntactic rules and   semantics used to define a computer program. 2 [Note 1]   Allows a programmer to specify precisely which data   a computer will act, how will this data be stored or   transmitted and what actions should be taken under various   circumstances.

Turing machine in practice is any mechanism that eventually repeats a sequence of instructions indefinitely. This is a simplification given of the feature that the OP made available, with my emphasis:


Every Turing machine computes a certain partial computable function    fixed from a string as an entry formed by the symbols of your   alphabet

When someone refers to Excel, it usually refers to the program and its usefulness, but not so much, in relation to the functions available.

The functions of Excel, yes, form a programming language, because they respect the definition above. I call particular attention to the existence of functions capable of making flow control such as the function If .

And, most likely, it's also a Turing Complete programming language, that is, it might be possible for a program to run a given set of instructions indefinitely. Otherwise, the existence of macros makes it unquestionably.

21.11.2015 / 23:44

Routines in Excel are provided by VBA.

VBA, yes, is a programming language.

Excel, in short, is just a spreadsheet. We can say that it is a calculator.

So the question is almost as if a calculator is a programming language.

It's something similar between HTML and JavaScript. HTML is not a programming language. It's a text-marking language, as the name itself says.

Who gives life, automation, etc. to HTML, is the JavaScript programming language.

It's similar to Flash and Action Script, or AutoCAD and LISP.

Resuming, to understand if something is a programming language, just understand the definition of "Programming language".

Some answers posted by other colleagues mention it.

22.11.2015 / 05:02

I do not consider Excel a Programming Language > I consider it an IDE for VBA development, as well as Access which is an IDE for VBA and also an SGDB. Microsoft Office Excel is a spreadsheet editor

There is a difference between programming language and IDE or command interpreter!

Since 1993, Excel has included Visual Basic for Applications (VBA), a Visual Basic-based programming language that adds the ability to automate tasks in Excel and provide user defined functions (UDFs) for use in workbooks.

VBA is a powerful add-on to the application, which in later releases includes an integrated development environment (IDE). Macro recording can produce VBA code that replicates user actions, thereby allowing simple automation of everyday tasks. VBA allows the creation of forms and controls within the workbook for communication with the user. The language supports the use (but not the creation) of ActiveX DLLs (COM); later versions added support for class modules, allowing the use of basic object-oriented programming (OOP) techniques.

21.11.2015 / 21:56

In my opinion YES, an .xlsx file may contain a programming language depending on what it is capable of executing. Just search for various scientific papers that feature software developed in Excel (out there widely accepted as Spreadsheet programs) ( link ; link ) Excel is an IDE that, among other things, allows the user to create algorithms that combine logical functions, mathematics, statistics, etc. (even if this software is dependent on the IDE itself where it was created to run). Therefore, in practice, various software (software that nobody questions have a programming language of its own since they were developed in C ++, R, VB, Java, Pascal, etc.) can be easily replaced by spreadsheets. And what would be the language of a Spreadsheet Program? Note that Excel uses programming elements from several other languages, appropriating terms and logic for creating algorithms similar to other IDEs. Language, therefore, is itself. It could be mentioned only as an Excel language. I do not know if there is a more usual standard form to mention this language. If you need the code (textually) just check the "show formulas" option in Excel and save the file as .XML in a notepad. There you will find the extensive list of formulas for all cells in the SpreadSheet program.

27.12.2017 / 13:07