Microsoft Considers Adding Python As an Official Scripting Language in Excel (bleepingcomputer.com)
An anonymous reader writes: Microsoft is considering adding Python as one of the official Excel scripting languages, according to a topic on Excel's feedback hub opened last month. Since it was opened, the topic has become the most voted feature request, double the votes of the second-ranked proposition. "Let us do scripting with Python! Yay! Not only as an alternative to VBA, but also as an alternative to field functions (=SUM(A1:A2))," the feature request reads, as opened by one of Microsoft's users.
The OS maker responded yesterday by putting up a survey to gather more information and how users would like to use Python inside Excel. If approved, Excel users would be able to use Python scripts to interact with Excel documents, their data, and some of Excel's core functions, similar to how Excel currently supports VBA scripts. Python is one of the most versatile programming languages available today. It is also insanely popular with developers. It ranks second on the PYPL programming languages ranking, third in the RedMonk Programming Language Rankings, and fourth in the TIOBE index.
The OS maker responded yesterday by putting up a survey to gather more information and how users would like to use Python inside Excel. If approved, Excel users would be able to use Python scripts to interact with Excel documents, their data, and some of Excel's core functions, similar to how Excel currently supports VBA scripts. Python is one of the most versatile programming languages available today. It is also insanely popular with developers. It ranks second on the PYPL programming languages ranking, third in the RedMonk Programming Language Rankings, and fourth in the TIOBE index.
I just felt a great disturbance in the Net, as if millions of hackers were preparing to attack.
#DeleteFacebook
I wonder how many more applications my boss can dream up for Excel that it really should never, ever have been used for?
python has no bugs at all, so there is no need to worry
... that won't result in increasing the attack surface. (eye roll)
Which has more power: the hammer, or the anvil?
I, for one, eagerly await reading about the new and exciting kind of WTFs that would result from this in The Daily WTF if this comes to pass.
Python was a fine language. We had great expectations and it is with a sad heart that we have to report its sudden and unexpected demise.
R.I.P.
Just imagine the malware you could write in Python!
"Have you ever thought about just turning off the TV, sitting down with your kids, and hitting them?"
If they implemented only Python 2 in Excel, and everybody tries to run Python 3 code in their spreadsheets.
Do you want to make insecure software? Because that's how you make insecure software.
#DeleteFacebook
I heartily agreed with Edsger Dijkstra when he said "the teaching of BASIC should be rated as a criminal offence: it mutilates the mind beyond recovery."
The only reason why I've kept my VBA skills up is Excel - I find that I have to do a macro or two every three to six months and the process of getting my head around BASIC never seems to be simple and makes going back to C/C++/Python a chore.
Hopefully WebAssembly will help me get rid of that other programming abomination that I have to deal with - Javascript.
Mimetics Inc. Twitter
It's a good idea. There's no reason (that I can think of) not to have more languages to use in Excel.
I don't respond to AC's.
In principle, it might seem that supporting .NET languages would have made more sense; mainly when VBA is basically VB6 which is basically the old version of VB.NET. On the other hand, the .NET Framework already has a quite powerful communication with MS Office, so that alternative wouldn't have added too much to what is already available. I guess that I don't have a too strong opinion about all this, other than being quite curious mainly because of not being the typical Microsoft move.
Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
It is popular with non-developers (such as system admins). Developers use other tools.
So far it all seems to be very much against Python being used by Microsoft in Excel, granted it's still under 20 posts as I write this but considering it was the most voted feature on M$' site and I'm assuming those asking are themselves programmers, why so much negativity here?
The way I see it, if Excel uses Python, it gives people more incentive to learn it and that can translate into people able to use it in other programs that use Python.
Also, as someone who's had to troubleshoot broken VBA scripts on Excel, anything that can move us away from them is a win in my book.
Interesting all the comments regarding malware being distributed by Excel. Doing a quick search, the amount of malware distributed by Excel is on the rise.
I guess it comes from downloading pre-made spreadsheets - something I guess I'm immune to because other than an expense spreadsheet mandated by an employer, I don't think I've ever taken a spreadsheet where I didn't know it's creator personally. In terms of adding macros from other sources, the one or two times I've done that they've ended up being more work to get functioning properly than writing them on my own.
Could anybody comment on why this is such a big issue?
Mimetics Inc. Twitter
Python is a fucking ugly piece of shit. Both deserve each other.
I have been wanting to be able to write C# to automate functions in an excel sheet. That would be a truly powerful tool. I would much rather have this than Python.
Only one way to do anything.
In fact it's so versatile that it's the only general purpose programming language (that's not dead today) where whitespace is a core fundamental aspect of its grammar. When was the last time this novel concept used before, previously? Fortran?
I guess I'm in the minority that finds Python to be something I would only imagine after a long night of drinking. Because of that, I pissed my pants after reading this. Get a load of this: somebody thinks that Python would be an improvement over VBA?
To all those predicting doom and gloom: Excel doesn't fit the role of an IDE, it fits the role of the debugger. Sometimes, much better than a debugger integrated in the IDE.
For those who know what we are doing, a spreadsheet is a wonderful tool for rapid prototyping business processes and gathering input from domain experts at the initial phase, when requirements are not at all clear and change quickly.
Having a modern language friendly to exploration and prototyping would be a welcome addition.
Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
Lua is more user friendly. It has less features, dynamic typing, starts at 1, doesn't care about whitespace, and was designed to be embedded within other things*. All those things are good qualities for people newish to programming.
*Which'll improve its security compared to Python. You can easily remove function/modules from the language and you can isolate parts of a script from each other. It's trivial to load a new module and prevent it from accessing the I/O system.
It's a trap!
My gut reaction is YES YES YES because I'm often stuck in Excel for... reasons... and don't like VBA much despite being pretty good at it.
But like you said, it probably won't be Python - it will likely be MS Python, stuck at some version forever and probably without nicey-nice stuff like the scientific libraries and package management that make it so useful.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
I do a lot of end user computing work, and that includes supporting some of the "applications" written in Excel and Access that have somehow managed to insert themselves into the flow of millions of dollars. Adding another language, especially a more open-ended one like Python is going to be an interesting backwards-compatibility exercise.
The major problems we see with Office migrations are:
- Add-ins, usually written by a long-gone consulting company and critical to some business process
- VBA "applications" that rely on some quirky behavior of one particular version of Office or reach outside the VBA bubble to access the system in no-longer-supported ways
- VBA that's so monstrous and complex that it's very difficult to debug and figure out why it only works on Access 97 or Excel 2003
If Microsoft does this, they'd need to commit to keeping up with a new level of back-compat issues. How badly do you think Microsoft wishes they could let VBA die and start over? This would be the same thing, except replacing VB with Python. Some team deep inside the Office development group at Microsoft is maintaining what is essentially VB6 from the late 90s, in 2017. Putting it in as a product feature means having to keep the support running for it.
Totally agreed..
Only one way to do anything.
Except that isn't true... for example you can format a string in several different ways. And then there is the different ways between 2 and 3.
Perl's simple string interpolation is much easier and straightforward.
Sucks to be Microsoft. Remember DDE? The IPC protocol implemented for Windows 3.1? Guess what MS still has to support for all the enterprise customers still using it.
Office suite + Python = OpenOffice. This is already a thing.
Weaselmancer
rediculous.
Visual Studio has to be the best debugger for python when you maintain a large code base of C/Fortan that you call from CPython with tons of callback functions, as we do in my group at a âoesmallâ aerospace company based in a Chicago.
887321 = 337*2633
Yup, here we go all over again.
I would rather see VBA replaced by C# variant.
You retard fuck, shut the fuck up!
See creimy? it is possible to use the word "fuck" without any sexual connotation. What is your problem with sex anyway? Not having any?
Read what Chris Reimer (cdreimer) wrote here:
https://groups.google.com/foru...
You are such a perfect miracle imbecile Chris!
I can't believe that you are actually imbecile enough to post this thread here. It makes you look like an even more imbecile fucktard yet.
As some have stated on that thread "dot in NOT an operator", you fucktard! Apperently, you did not read the thread yourself or more likely, your ameba brain reading comprehension doesn't allow you to understand its content.
It's like asking: What is the dot operator precedence in Linux Slackware 1.2.3? You can't daisy chain dot operators in Windows versions (e.g. 3.1, 3.11, etc.)
What is the precedence in the 2.5 IQ that you possess?
And if you ever asked about real operators the word is "Precedence" you fucktard!
Dots are not operators in ANY OOP language you silly fuck!
See java:
https://docs.oracle.com/javase...
For python, you could have googled it but no, you needed to grab the attention on that google group and didn't care that it made you look like a total fool.
http://reeborg.ca/docs/oop_py_...
See example in above link:
Fido.head.mouth.teeth.canine.hurts();
Other example:
Criemer.head.brain.isHurting(); This is always false because your head is empty you dumb fuck!
But Criemer.head.isEmpty() always returns true...
Even the old versions of Python are pleasant to work with. In some ways, more so than more recent versions. I remember when decorators were introduced and meta-programming became all the rage. While I could appreciate their purpose, I was not thrilled about the increased complexity. That said, these features are optional.
Uh...not, it will be vanilla python. Microsoft doesn't do that shit anymore.
Right! Just like creimer doesn't do that shit anymore!
who is creimer?
Embrace. Extend. Extinguish.
There's absolutely no need to continue using the cesspool that is Excel.
pandas does everything Excel does and much better.
Excel is so bad even as a table editor. Why can't I change the order of the columns by Command-dragging the header???
+ A data connector to get data from a production database. odbc or something generic
+ Numpy / Pandas to manipulate that data, including proper, fast, optimised matrix multiplication
+ Scikit-Learn to test models
+ Excel spreadsheet to scroll through and display the data.
A perfect combination.
Look at a piece of code you wrote. 90% of the statements will be on one line.
So does it make more sense to use a character for new lines. Or one for continuations -- the 10% case.
But far more important is that VBA has static typing which Python does not. That becomes very important as programs become larger.
But far more important than that is that Microsoft have a new API for JavaScript (and I presume python) than the traditional COM/VBA one. And the new API is awful. But Micrsoft MBAs follow fashion, so only the new APIs get new features.
A mess.
Microsoft is trying to kill off VBA. When they succeed they will have killed off Excel.
Without package management and the critical scientific libraries (Pandas, Scipy/Numpy, etc.), it is not "vanilla" Python in any meaningful way. I suppose these libraries could all be saved with the file or they could add some kind of dependency management to Excel - but honestly, it just does not seem like we'll get a great result here. Hope you are right.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
It's not the Python version, it's the libraries. Freeze, say, Numpy or Scipy at their current version for 10 years. New libraries are unavailable... it largely loses it's appeal. Like Perl without CPAN.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
it was a matter of time for them to 'get with the times', moreso with microsoft moving everything to run on the .NET runtime.
i'm surprised they went with Python instead of Powershell, given that Powershell is a functional language by nature, and well integrated to the MS ecosystem (and their love for proprietary non-interoperable tools).
i'm more both incredible surprised and thankful the did NO go with Javascript.
Python is for moronic hipster retards that don't realize yet that significant white space is STUPID.
My employer has a massive database which they manage with excel and VBA. Recently they had a fresh out of college kid convert it to JSON and python, with a custom UI written in Electron. As you can image it's utter shit. Wonder if had they supported python in excel at the time would this have turned out any better.
Well, first thing is that it will probably be IronPython, so have fun even getting that stuff installed in the first place.
Not that I'm too thrilled about this anyway. People already use Excel to do things that it really shouldn't be used for. Adding Python to the mix isn't going to help this any.
Adding Python to the mix isn't going to help this any.
Ahh, but it will help those of us who are stuck using Excel to do things that it really shouldn't be used for :)
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
Generally, Python is the preferred choice for LibreOffice macros. It's a lot better than Basic for medium-sized macros. For a long time, I've felt that this is a major advantage that LibreOffice has over MS Office.
It sounds like this could be a significant step forward for MS Office.
So, you are making shit up and then criticizing them for your made up shit?
Correct. I'm making up shit based on their past history. You should try it sometime, it's a very nice skill to have. George Bush even laid out the logic very eloquently once upon a time.
W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.