Live data from Hacker News

Excel team considering Python as scripting language: asking for feedback

news.ycombinator.com

221–230 of 280 posts

Re: Excel team considering Python as scripting language: asking for feedback

#221
OK, I'll be honest. I usually avoid excel, except for excel to csv conversion. Then I write a python3 script starting with `import csv`.

This would make the product actually useful for me. VB is terrible. I don't even want to think about it. JS is a language I put up with when I have to work in a browser. Python is a joy to use especially in situations like this.

I can't tell you how many little apps I've had to write against CSV dumps from some stupid proprietary app without an API for Infosec or Capacity Planning or whatever that is essentially a report. I would do this instead in a heartbeat to avoid maintaining a service that gets used weekly/monthly/whatever.

Re: Excel team considering Python as scripting language: asking for feedback

#222
There are now plenty of Python modules for working with Excel and Excel format files. Why are they trying to compete with those? As a university teacher I have dropped the use of Excel from my classes. I'm really not convinced this would convince me to go back. The philosophy of the product is just wrong. The should probably consider retiring Excel itself while maintaining support for Excel file formats. If they were to get behind some of the existing Python module initiatives or do something similar this would not be bad either, but using Excel as a front-end to Python is just a bad idea.

Re: Excel team considering Python as scripting language: asking for feedback

#223
post #2

Clickable Link: https://excel.uservoice.com/forums/304921-excel-for-windows-... [disclaimer+bias: on Python team @ msft & would love to see this happen!]

Interestingly, the survey doesn't seem to consider education as a use-case of this - has your team considered that aspect? Spreadsheets are the most common way that school students are introduced to programming, and the only 'programming' that a lot of teachers (and others) do. There are heaps of reasons for this, but any even moderate programming (beyond very simple operations) in a spreadsheet sucks. Something like…

I think we will see and are already seeing a move away from using spreadsheets in Education, there are simply much better solutions out there now. Jupyter notebooks being one which allow reading and writing to Excel files. The interface of these is far superior for educational purposes than a spreadsheet. I've already dropped Excel for this reason.

Re: Excel team considering Python as scripting language: asking for feedback

#224

There are now plenty of Python modules for working with Excel and Excel format files. Why are they trying to compete with those? As a university teacher I have dropped the use of Excel from my classes. I'm really not convinced this would convince me to go back. The philosophy of the product is just wrong. The should probably consider retiring Excel itself while maintaining support for Excel file formats. If they were…

>Excel as a front-end to Python is just a bad idea

I think a lot of people would like this because you can look at more data on your screen at once with excel compared to jupyter notebooks. What's the downside?

Re: Excel team considering Python as scripting language: asking for feedback

#225

Much as i would love for the power of Python in Excel it is important that whatever is done is consistent across the office experience. Some of us old enough to remember the multiple versions of VB-whatever across Excel, Word, Access and that in itself was a blow to productivity. Yes they should choose Python, and in the process decide if it will be Python with a .Net library (standard and core as seperate libs pleas…

The reason Python is a popular choice is because it's a very polyvalent language (not specialized for any task but quite good at a lot of them) BUT the data analysis tookit in the Python ecosystem rocks (numpy, pandas, etc). Lua doesn't have a good data anaylisis story. C# is not made for scripting. VBA is not great outside of Office.

Now given that cPython 3.6 has f-string, and that you probably will use string formatting a lot if you script a MS product, I would implement this version specifically. It's the most recent stable version of the standard implementation anyway.

Actually no, I would not implement anything. I would embed the cPython 3.6 interpreter and stdlib, and just provide a binding to it. This limit the problem of bad / inconsistent implementations that crippled MS products in the past.

Then I would say "we guaranty to provide a 3.6 compatible cPython + stdlib for the next x years" so that people can be confident to write Python stuff. Otherwise, a bad implementation would be worst than no implementation at all.

Re: Excel team considering Python as scripting language: asking for feedback

#226
post #54

I am 90% certain that MS has abandoned its EEE strategy from the nineties. But the scars from that era are so vivid in my mind, that I feel the need of a confirmation.

Look at "R" programming language, or look at "JavaScript" (-> TypeScript).

They still do the EEE strategy. Fool me once...

Re: Excel team considering Python as scripting language: asking for feedback

#227
post #171

Does Excel have a "plugin framework" for new languages the way Jupyter does? Ideally any language (Python/Julia/R/whatever) can be added by a third party without Microsoft's direct involvement. The plugin authors would only need to map a language or library's DataFrame mechanics to Excel's table layout. (Microsoft could even use Apache Arrow to represent the data.) I imagine there would be lots of possibilities by pr…

You can pretty much already do what you want with VSTO or XLLs. However having a standard scripting language installed on everyone's machine is a all different thing. It means you can add some scripted logic in your spreadsheet, give it to someone else, and know it will run without having to install or maintain anything.

This is incredibly important. When I worked at BigFinCorp, we always used vanilla Excel (VBA and ODBC to RDBMSs). So our sheets would always "just work".

Python would be great in this role, but to avoid separate configuration, you'd need to ship the runtime with the spreadsheet, right?

Or would this new Excel capability be built on .NET? In that case, C# (for the enterprise folks) and F# (for the bleeding edgers) would be fun, too.

Bottom line, the Developer mode of Excel should support more than VBA.

Re: Excel team considering Python as scripting language: asking for feedback

#229

There are now plenty of Python modules for working with Excel and Excel format files. Why are they trying to compete with those? As a university teacher I have dropped the use of Excel from my classes. I'm really not convinced this would convince me to go back. The philosophy of the product is just wrong. The should probably consider retiring Excel itself while maintaining support for Excel file formats. If they were…

>Excel as a front-end to Python is just a bad idea I think a lot of people would like this because you can look at more data on your screen at once with excel compared to jupyter notebooks. What's the downside?

The downside is

i) reproducibility. In the academic/research world there is a big move towards reproducible research, the nature of the Excel interface is not conducive to that. A standard scripting language is fine that plays with Excel but you don't want Excel necessarily as the main access point and the menu driven approach isn't conducive to keeping a permanent record of what buttons you click on. ii) In multi-cultural settings Excel defaults to the users system language, these days you simply jsut work with students laptops rather than using a standardized lab, so unlss you are polyglot working with Excel is just a really bad idea. Jupyter provides a standard interface and the default is always English, but supports multilingual content. iii) Python modules provide a huge range of solutions for many different domain applications, it's hard to see how Excel as an interface would provide support for every one of these modules. What I mean is how would Excel work as an I/O interface to a Python script that was doing something other than working with data? Notebook solutions already do this quite well.

Re: Excel team considering Python as scripting language: asking for feedback

#230
This is a long time coming. There's a big backstory to it. Let me explain.

"Exie" was the codename for Microsoft's attempt to create, in Excel, a language similar to MATLAB (and later, Julia). The name "Exie" meant that it would be integrated with Excel. It was based on Alan Edelman's Interactive Supercomputing (ISC), which Microsoft acquired in late 2009 [0]. ISC's main product was Star-P, an auto-parallelizing compiler in which users used a *p suffix in an array dimension to indicate parallelism across that dimension, similar to CoArray Fortran.

Unfortunately, the ISC acquisition was a failure. Microsoft already had agreements with MathWorks and Cleve Moler (makers of MATLAB) which prohibited competitive software like Star-P. So Microsoft had to scramble and find other ways to get analytic, REPL, MATLAB-like software out the door. Unbeknownst to Microsoft, Julia was already making faster progress than they ever did, but on similar goals. Julia is what Microsoft had hoped Exie to become, and it's not a coincidence that Alan Edelman has been involved in Julia.

Then, Steve Ballmer decided to abandon HPC and mathematical software, and to focus mostly on the cloud, which led to the very public dismissal of Bob Muglia.

The head of Microsoft Technical Computing, Kyril Faenov, unfortunately committed suicide a year later. His wife, the daughter of a famous Seattle architect [1], did not respect his Jewish mother's wishes on the handling of his remains. His mother fought and lost in court [2].

Maybe Microsoft embracing Python in Excel is the best that can be hoped for now. It's certainly better than VB. But Exie tried, almost 10 years ago, to create an Excel environment closer to modern-day Julia than anything else.

There were a lot of personal sacrifices in that effort. For example, Bill Blake, the former CEO of ISC, stayed at MS for a while during the transition, then moved to Cray as CTO for a while, and then died unexpectedly less than 4 months after he joined D-Wave. [3] [4]

There's certainly been a lot of casualties, in the attempt to bring Excel up to being more analytically-friendly. Is it really worth it?

[0] https://blogs.technet.microsoft.com/windowsserver/2009/09/21...

[1] http://archive.seattleweekly.com/news/956673-129/seattleland...

[2] http://caselaw.findlaw.com/wa-court-of-appeals/1735359.html

[3] https://www.cray.com/blog/cray-ceo-reflects-on-bill-blakes-l...

[4] https://www.dwavesys.com/blog/2015/04/bill-blake

Post reply on HN