Live data from Hacker News

Excel team considering Python as scripting language: asking for feedback

news.ycombinator.com

271–280 of 280 posts

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

#271

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 comp…

An additional note for posterity here...one of the main reasons Microsoft was interested in acquiring Interactive Supercomputing was that ISC developed it's own M-language (Matlab) compiler M# built on Mono/.NET...basically a faster Matlab replacement than Octave, using features like multiple dispatch. One of the primary developers of the M# compiler at ISC was Jeff Bezanson, co-creator of Julia.

Exie used a bit of code from M#. When Exie was cancelled, the libraries were given a C#/F# facelift as Cloud Numerics, which was eventually cancelled, and then given a GUI facelift as part of the initial version of AzureML.

Disclaimer: I previously worked at Interactive Supercomputing, was part of the team acquired into Technical Computing/HPC at Microsoft, and also worked at Julia Computing.

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

#272

Aim for a front end notebook interface like Jupyter or Mathematica. Most excel i've had to play with was to store/manipulate data _and then_ C&P charts or data to word for the report. Seriously, notebooks.

You can basically use Jupyter as a frontend to Excel now anyway and never need to open Excel except to read and write to Excel files that you are sharing with Excel users.

that's cool - hadn't realised. i still dream about a word-excel mashup. imagine a table in word that when you click on it revolves around to reveal a spreadsheet and you hook the 'other side' to the calculation cells. literally separate data and text/analysis but packaged as a unit.

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

#273
post #252

Earlier quoted context omitted.

In C++, classes do indeed define types. Templated classes define whole families of types. But in Smalltalk, classes do not define types. I understand the word "type" to mean a property of a variable which restricts the range of values it can hold, and the set of methods which can be invoked on it. Smalltalk doesn't have any way to do either of those things, so it has no types.

But don't objects that belong to a class also effectively have similar restrictions imposed on them? (Otherwise, why have classes at all?)

It's true that a class with a set of methods defines a contract with its collaborators about what calls they can make (or what messages they can send, in Smalltalk terms), that is a lot like a type. Smalltalk calls this a "protocol". But they aren't enforced by the compiler; you can still send a message to an object that it won't be able to understand. What happens in that case is that a method called doesNotUnderstand gets called; a class can implement that to try to do something useful (you could implement a proxy this way, for example), but the default implementation throws an exception. I think that a genuine type would prevent the message being sent in the first place - the could would be rejected by the compiler, and would never get a chance to run.

Interestingly, it seems that this was planned for Smalltalk, but never implemented; a 1981 article about the design of Smalltalk [1] says:

"Also, message protocols have not been formalized. The organization provides for protocols, but it is currently only a matter of style for protocols to be consistent from one class to another. This can be remedied easily by providing proper protocol objects that can be consistently shared. This will then allow formal typing of variables by protocol without losing the advantages of polymorphism."

[1] https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk....

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

#277

Earlier quoted context omitted.

Excel spreadsheets are cool because if you update data somewhere, it'll update all the formulas and products elsewhere. How do you get that kind of "watch" behavior with `xlrd` and `xlwt`? You don't, you have to re-run a script. Sucks.

Try XLWings

Right. XLWings looks like a cool tool.

But the point I'm making is that: It's still a good thing for Excel to be integrating more tightly with python. It'll help all of those non-developer normies get the magic of coding.

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

#279
Please God no! I'm all for a scripting language but the poor quality and inconsistencies of Python makes my life so much harder in the 5 other applications where it is the ONLY way to script everything. The fact that it is whitespace sensitive I have found makes it harder for beginners who try to edit pre-existing files that mix tabs and spaces. That's one dumb thing but there are many other thongs that bother me about Python. Yes to a scripting language, please no to Python.

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

#280

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 comp…

An additional note for posterity here...one of the main reasons Microsoft was interested in acquiring Interactive Supercomputing was that ISC developed it's own M-language (Matlab) compiler M# built on Mono/.NET...basically a faster Matlab replacement than Octave, using features like multiple dispatch. One of the primary developers of the M# compiler at ISC was Jeff Bezanson, co-creator of Julia. Exie used a bit of c…

Julia is open source...why don't they just incorporate it?
Post reply on HN