Slashdot Mirror


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.

181 comments

  1. Obligatory by DontBeAMoran · · Score: 1

    I just felt a great disturbance in the Net, as if millions of hackers were preparing to attack.

    --
    #DeleteFacebook
    1. Re: Obligatory by Anonymous Coward · · Score: 0

      GFY.

    2. Re:Obligatory by Pseudonym · · Score: 1

      Be right back, I have to start a rumour that Microsoft is going to use Rust for something.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  2. With Excel + Python, by olsmeister · · Score: 5, Insightful

    I wonder how many more applications my boss can dream up for Excel that it really should never, ever have been used for?

    1. Re:With Excel + Python, by CastrTroy · · Score: 2

      Probably not any more than what one could accomplish with VB and Excel. I really don't think that Python would be something that non-programmers would really embrace. Even as a software developer I struggle to see the purpose of using a language where white space is significant. That is about my only real gripe with the language, but it's the one reason I don't know it very well, because I find an alternative I'm much more comfortable with for just about every project.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:With Excel + Python, by Ubi_NL · · Score: 1, Insightful

      When I'd say "I struggle to see the purpose of using a language where a semicolon is significant" you'll scream and berate me for heracy. It's just another key. If you think the whole niche of python and its popularity is solely based on this one single feature you're ignorant.

      --

      If an experiment works, something has gone wrong.
    3. Re:With Excel + Python, by networkBoy · · Score: 4, Interesting

      nah, semicolons are there no matter what.
      Changing editors can *totally* mess up the whitespace.
      Yes, literal spaces will help, but all it takes is one idiot/mistake and the codebase is pooched.

      That and the fact that 2.x code can't run virtually unmodified on 3.x interpreters really pisses me off. Perl, for all its warts, just needs

      use perl4;

      at the top of the file right after the crunchbang and you're good to go with an old as dirt script on the newest interpreters.

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    4. Re:With Excel + Python, by Nkwe · · Score: 2

      When I'd say "I struggle to see the purpose of using a language where a semicolon is significant" you'll scream and berate me for heracy. It's just another key. If you think the whole niche of python and its popularity is solely based on this one single feature you're ignorant.

      Semicolons are a visible character and can be distinguished between other visible characters without regard to if the font used is fixed width or proportional. Spaces can't reliably be distinguished between other non visible characters (such as tab). Yes, spaces and tabs have a "visible" effect, but the characters themselves are not visible and how they are rendered on various display and print devices does not guarantee that you can visually determine the indent level (and consequently the scope or program flow of what you are looking at.)

    5. Re:With Excel + Python, by TechyImmigrant · · Score: 0

      Changing editors can *totally* mess up the whitespace.

      If you don't know how to operate your editor.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    6. Re:With Excel + Python, by Waffle+Iron · · Score: 1

      I wonder how many more applications my boss can dream up for Excel that it really should never, ever have been used for?

      Ironically, Python can make many spreadsheets unnecessary in the first place. In my case, for 90% of the things that I would have done in Excel circa 1995, today I instead just whip up a plain Python script to compute. Usually the results go into a flat text table, sometimes I even have it spit out a chart in SVG format.

      A script is typically much more readable and maintainable than a spreadsheet with a bunch of hidden formulas. It also fits better with version control systems.

    7. Re:With Excel + Python, by MightyYar · · Score: 1

      Honestly, of all my gripes with Python, the whitespace is pretty low. You learn about it in the first day or so and move on. Same with the 2-to-3 thing. While you are learning, chances are you will only be dealing with one version. When you need to support both, it's not that hard - most of the critical libraries have been back-ported to 2, so you just try importing things and catching exceptions, and do a few imports from __future__. If you stay cognizant of 3-only features, it's really not much work to keep your project running on both. I almost always develop with 3 and test with 2.

      My main gripes tend to be in dealing with multiprocessing (separate processes... ugh) and optimizing performance in general. I'm also not thrilled with cross-platform GUI development, but that sucks whatever the language.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    8. Re:With Excel + Python, by MightyYar · · Score: 2

      Pandas with Numpy/Scipy has made it fairly simple to do a lot of things that I used to do in Excel, without the weirdness and performance limitations of Excel. Also, interactive charts... why doesn't Excel have these by now? Matlab figured it out like 20 years ago.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    9. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      > Changing editors can *totally* mess up the whitespace.

      Stop using Wordpad then?

    10. Re: With Excel + Python, by Zero__Kelvin · · Score: 0

      Name an editor that can't handle spaces. Simply follow PEP 8 and your problems disappear. You would be amazed how many problems can be solved by gaining a basic level of competence before giving up.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    11. Re:With Excel + Python, by ceoyoyo · · Score: 2

      Use tabs. If some idiot (or their editor) puts spaces in the code, search and replace them with tabs. It's not a problem.

    12. Re:With Excel + Python, by plopez · · Score: 1

      why? it's not my job to clean up other's code. My job is to code.

      --
      putting the 'B' in LGBTQ+
    13. Re: With Excel + Python, by plopez · · Score: 1, Offtopic

      Why? It's not a developer's job to become an editor guru but to code. Anything that interferes with that is wrong.

      --
      putting the 'B' in LGBTQ+
    14. Re: With Excel + Python, by UnknownSoldier · · Score: 1, Insightful

      You are _completely_ missing the point.

      Form should NOT matter for function.

      A compiler has one job -- translate code. It shouldn't matter if there is EXTRA (leading) whitespace for operations.

      There are times where placing multiple operations on one line make the code MORE readable; so yeah, having a statement separator is a big deal. It isn't 1970 anymore where we have to place 1 operation on 1 line. Some of us have evolved to writing code two dimensionally WHERE it makes sense too.

      Python, started off with the noble idea "We'll dictate indentation to solve readability". In theory this sounds good -- expect it practice this is fucking retarded. Python was designed by an idiot who didn't understand the difference between form and function.

      Guess what -- you can write shitty code in ANY language -- indentation is only PART of the problem. Worse, the author didn't have a clue about multi-column-alignment. If I want to indent code more, or less, AND preserve the SAME block scope, I can do that in C / C++ / JS. In Python I can't.

      Python cripples everybody else to handle the moron who doesn't understand block scope in the name of "safety."

    15. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      Excel doesn't have these things because then MS would make less money.

    16. Re: With Excel + Python, by Anonymous Coward · · Score: 1

      As one who abhors Python because of the whitespace issue...

      I've used many languages in the 50 years since I started programming and the whitespace issue in Python is a real pain as it's counter to every other language I've used. Old school FORTRAN as well as some assembly languages of course had pretty stringent layout requirements which in some sense resulted in whitespace being "significant" but none of these used whitespace to determine the logic of the code.

      The big problem I have in Python is that while coding/testing I often will decide to restructure things a bit and this often involves cutting code from one location and pasting it into another location (often in the same file or even procedure). In, for example, C, this is no problem as the squiggly braces keep the nesting correct and ^Xh<TAB> fixes the indentation so I can verify it's correct visually. In Python, after the paste, I have to waste energy shifting many lines over and have to be very careful with not extending or contracting the scope of my line shifting which can silently break the code (for example, leaving the last line of a loop outside the loop accidentally). When a block of code gets large (yes, perhaps we shouldn't do this, but let's be honest, when cranking out a script that is used by a few people - perhaps just yourself - and modifying it over the years, it happens and it just isn't worth the investment in making it pretty for your eyes only), I find it much harder to deal with nested blocks where whitespace determines the scope.

      The editor being unable to "handle spaces" is not the problem (.emacs solves all such problems), it's the language not handling spaces reasonably that is the problem. I.e., it's a bug, not a feature, IMHO.

      As a result, the primary reason I occasionally use Python for new work is when an important library I want to use isn't readily available in a reliable form in another language (such as Perl).

    17. Re:With Excel + Python, by plopez · · Score: 1

      One of my gripes, other than the Fortran white space which was abandoned in F90, is the horrible way string handling done, though there are other things which are over convoluted. Reasonable languages consider regex a cross cutting concern. But in over objectioned languages it looks like:
      >>> import re
      >>> p = re.compile('[a-z]+')
      >>> p.match("")
      >>> print(p.match(""))

      While in Perl it looks like:
      $x="abcde"
      $result=~/abc/;print $result;

      Most programming languages know about cross cutting concerns and so make them available with out much fuss.

      --
      putting the 'B' in LGBTQ+
    18. Re: With Excel + Python, by Zero__Kelvin · · Score: 1

      I am dumbfounded by your stupidity.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    19. Re: With Excel + Python, by Anonymous Coward · · Score: 0

      Sour grapes. Someone failed his Python exam;-)

    20. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      Except that the official Python recommendation is to always use spaces, because idiots like Zero_Kelvin can't figure out how to use tabs safely.

    21. Re: With Excel + Python, by networkBoy · · Score: 1

      you're focusing on the issue without also acknowledging when I point out *why* it's still an issue:

      all it takes is one idiot/mistake

      If I'm taking in code from others and one of those patches is crap then poof.
      As a result I have an extra layer of work (whitespace validation) for *all* contributors because some may be an idiot.

      That's my issue with the whitespace.

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    22. Re: With Excel + Python, by angel'o'sphere · · Score: 1

      The idit is you.
      As obviously millions of programmers use Phython and like it.

      Chances are: you are indenting your code the exact same why a Phython programmer does.
      If that is the case, that makes you look even more retarded.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    23. Re: With Excel + Python, by Zero__Kelvin · · Score: 1

      Your issue is with idiots, not Python. You should thank Python for making them easier to spot.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    24. Re: With Excel + Python, by guruevi · · Score: 1

      HTML canâ(TM)t handle Python spaces. Lots of systems will parse out spaces/tabs and have some conversion.

      Hence exchanging/saving code in Python is hard.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    25. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      One advantage of Excel is when you need to provide something to end users who are not very tech savvy. They know how to use Excel and are comfortable entering data into it and then your hidden VBA/Python/??? code and do the right thing with that data -- all relatively invisible to the user and no need to use a command line or create "data files".

    26. Re: With Excel + Python, by Anonymous Coward · · Score: 0

      > HTML can’t handle Python spaces.

      Oh rly?

    27. Re: With Excel + Python, by Zero__Kelvin · · Score: 1

      You should probably learn HTML, specifically the "pre" tag.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    28. Re: With Excel + Python, by Zero__Kelvin · · Score: 0

      I'm not even going to waste my time addressing your stupidity. Just accept the fact that you are incompetent and move on with your pathetic life.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    29. Re:With Excel + Python, by modmans2ndcoming · · Score: 1

      Big data analysis and AI like Python so adding it to Excel keeps Excel in the game....plus Excel is huge in quantitative analysis.

    30. Re:With Excel + Python, by modmans2ndcoming · · Score: 1

      how?

    31. Re: With Excel + Python, by networkBoy · · Score: 1

      why does the language add a fragility to the parser that is broken by something so easily?

      And note that the opposite issue, a dev that contributes to multiple projects will find that they have to maintain different editor profiles to match the projects' needs. All it takes is errantly working on a project with the wrong settings in the editor and the same issue manifests.

      In both cases the language has imposed a work penalty on the process of contributing code that can not be avoided. That is an issue.

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
    32. Re:With Excel + Python, by CastrTroy · · Score: 1

      I think this is probably the reason Microsoft settled on VB in the first place. It's a far stretch from a perfect language, but it does have some nice qualities for managerial types such as no semicolons, case insensitive syntax, and white space isn't significant.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    33. Re:With Excel + Python, by hajile · · Score: 1

      Nothing for a very long time if they decide to go ahead. They introduced JavaScript as a VBA alternative in 2013. It's now 4 years later and while they've added a lot of APIs, there are still a ton left to go.

      Splitting their API resources between Python and JS seems like the perfect way to get neither any time soon (and a great way to bike shed both out of existence altogether).

    34. Re: With Excel + Python, by Zero__Kelvin · · Score: 1

      You clearly didn't follow the link and read PEP 8. None of these are actually issues. You are the classic "OMFG ... It's easy to be stupid with language features. The language sucks!" fool. Every language allows idiots to be idiots.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    35. Re: With Excel + Python, by Anonymous Coward · · Score: 0

      > having a statement separator is a big deal. It isn't 1970 anymore where we have to place 1 operation on 1 line.

      That is why Python actually _has_ a statement separator. Try to learn stuff before incompetently wrongly criticising.

      > didn't understand the difference between form and function.

      By making form and function inseparable it removes the errors caused by the difference between what it looks like it does and what it actually does.

      > If I want to indent code more, or less, AND preserve the SAME block scope, I can do that in C / C++ / JS. In Python I can't.

      That is an advantage of Python: you can't fool the next programmer with false indenting.

    36. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      > Yes, spaces and tabs have a "visible" effect, but the characters themselves are not visible

      Spaces and tabs are visible characters in my editor(s). Tabs show as alternating red and green background blocks of appropriate length while spaces show as black background blocks.

    37. Re:With Excel + Python, by aberglas · · Score: 1

      VBA does not use semicolons. It uses end of lines. Which is how people write code.

    38. Re: With Excel + Python, by UnknownSoldier · · Score: 1

      > The idit is you.

      *irony* Failed spell checking when name calling *facepalm*

    39. Re:With Excel + Python, by Yunzil · · Score: 1

      Use spaces. If some idiot (or their editor) puts tabs in the code, search and replace them with spaces. Then find the idiot that put in the tabs and have them shot. It's not a problem.

    40. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      Like you, my first choice would have been to standardize on tabs. But for whatever reason, the Python community has a "best practice" recommendation to use spaces only. 4 spaces as one indent level.

      I suspect it's because of all the *NIX tools that default to tabs being 8 columns.

      Anyway in practice this is no big deal. My editor is set up to expand tabs as spaces, so I can indent just by hitting the tab key. And my editor has auto-indent features. So I pretty much never worry about the indentation and it's always right.

    41. Re:With Excel + Python, by steveha · · Score: 1

      Changing editors can *totally* mess up the whitespace.

      Not if you have been following Python's official standard (called PEP 8) and you have been using all spaces. I use vim, and vim has a setting to auto-expand tabs to spaces, plus I use the autoindent, so my code is always correctly indented and I never really need to think about it.

      Also, with Python 3, it's no longer just a warning if someone sabotages your white space by inserting some tabs; it's an error. So if someone does somehow sabotage the code by doing some wrong thing with a text editor, that person should find out before ever committing the changes into version control. (And any developer who commits changes without testing them at all is no doubt causing you worse problems than messing up Python whitespace.)

      That and the fact that 2.x code can't run virtually unmodified on 3.x interpreters really pisses me off. Perl, for all its warts, just needs

      use perl4;

      at the top of the file right after the crunchbang and you're good to go with an old as dirt script on the newest interpreters.

      Python 2.7 can run Python 2.0 code virtually unmodified. Python 3.x can run a lot of Python 2.x code unmodified, but there are some incompatible changes; the change from Python 2 to 3 was because the Python devs wanted to clean up the language in ways that would break programs. Thus Python 2 and Python 3 are really different languages that happen to be really really closely related.

      Ironically many of the incompatible changes from Python 2 to Python 3 were caused by removing language warts. IMHO they succeeded very well; I recommend Python 3 for people who want to learn programming. There are fewer things that are surprising or weird for new programmers. (Example: 1/2 now evaluates to 0.5 rather than 0. Changing type to float was deemed less surprising than the integer division with no remainder behavior of Python 2.x. I agree with this decision, especially as Python has an operator, //, that lets you explicitly ask for integer division with no remainder.)

      It's really easy to port Python 2.x code to Python 3.x; the Python devs provided a tool called 2to3 that does a good job. It's reliable: you can count on the code Just Working once it's updated.

      It's also easy to port Python 2.x code to a new code file that runs equally well on Python 2.x and Python 3.x (using a library called six). This uses a hacked-up version of 2to3 called modernize (or another one called futurize).

      Some people question the decisions made in the change from Python 2 to Python 3, but I'm a full-time Python dev who has been using Python for a decade, and IMHO the changes were really good. They didn't go crazy and make a totally new language, but the changes are worthwhile. (In particular, the Unicode changes all by themselves were worth the hassles.) Python 2 is already a really great language, but Python 3 is even better. And Python 3.6 is both faster and more memory-efficient than any version of Python 2.x. (The earlier versions of Python 3.x had slower performance than Python 2.x so the improvements used to come at a cost. Now it's win/win.)

      I hope your rage at the Python 2 / Python 3 incompatibilities won't keep you from checking out Python 3.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    42. Re: With Excel + Python, by Anonymous Coward · · Score: 0

      There are times where placing multiple operations on one line make the code MORE readable; so yeah, having a statement separator is a big deal. It isn't 1970 anymore where we have to place 1 operation on 1 line. Some of us have evolved to writing code two dimensionally WHERE it makes sense too.


      >>> from functools import partial;p=partial(print, end="");p("There are times where placing multiple operations on one line make the code MORE readable;",);p("so yeah, having a statement separator is a big deal.");p("It isn't 1970 anymore where we have to place 1 operation on 1 line.")
      There are times where placing multiple operations on one line make the code MORE readable;so yeah, having a statement separator is a big deal.It isn't 1970 anymore where we have to place 1 operation on 1 line.

      You were saying?

    43. Re: With Excel + Python, by Anonymous Coward · · Score: 0

      PEP8 is ugly
      there is no reason to assume();

    44. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      > you have been using all spaces.

      I don't. Also I force 20 python developers who work for me to use tabs. Because "fuck you wanker spiv motherfuckers".

    45. Re:With Excel + Python, by Anonymous Coward · · Score: 0

      Also I force 20 python developers who work for me to use tabs. Because "fuck you wanker spiv motherfuckers".

      The actual recommendation is: use all spaces, or all tabs. Most popular is all spaces, indenting in steps of 4 spaces. Second most popular is indent with tabs. So your practice is within bounds of what the greater Python community recommends.

      Your manners, on the other hand... do you really shout "fuck you wanker spiv motherfuckers" at 20 Python developers who work for you? I don't want to work for you.

    46. Re: With Excel + Python, by angel'o'sphere · · Score: 1

      I belong to the lucky people that can read and comprehend stuff that has spelling errors.
      Because I'm so super enhanced in my visual cortex, I simply don't see them :D

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    47. Re: With Excel + Python, by plopez · · Score: 1

      You don't get it. Tools should be easy to use so you can focus on what you need to do, Programming Motherfucker!

      --
      putting the 'B' in LGBTQ+
    48. Re: With Excel + Python, by plopez · · Score: 1

      Off topic? I was expressing an obvious point abut the toll assisting getting the job done instead of hindering it.

      --
      putting the 'B' in LGBTQ+
    49. Re: With Excel + Python, by Zero__Kelvin · · Score: 1

      It couldn't be any more easy. You are simply incompetent.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    50. Re: With Excel + Python, by plopez · · Score: 1

      No. Just lazy in the right way. Now get to work playing with your tool.

      --
      putting the 'B' in LGBTQ+
    51. Re: With Excel + Python, by Zero__Kelvin · · Score: 0

      I can't. Your mom won't let it go.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  3. no worries, right? by Anonymous Coward · · Score: 0, Troll

    python has no bugs at all, so there is no need to worry

  4. Yeah.... by Lab+Rat+Jason · · Score: 3, Funny

    ... that won't result in increasing the attack surface. (eye roll)

    --
    Which has more power: the hammer, or the anvil?
    1. Re:Yeah.... by Anonymous Coward · · Score: 0

      There is nothing Python can do that VBA can't in regard to application in Excel. There is no extension of threat, no extension of attack surface.

      Please stay technologically literate slashdot.

    2. Re:Yeah.... by AmiMoJo · · Score: 1

      Seems like being rid of VB script and replacing it with Python would be a security win.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    3. Re:Yeah.... by Lab+Rat+Jason · · Score: 1

      Who said MS was getting rid of VB script?

      --
      Which has more power: the hammer, or the anvil?
    4. Re:Yeah.... by beastofburdon · · Score: 0

      Holy shit, I'm agreeing with Jojo. In other news Satan has recently been seen at a store in hell buying an ice scraper for his car.

  5. When all you have is a hammer by Sumus+Semper+Una · · Score: 1

    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.

    1. Re:When all you have is a hammer by Anonymous Coward · · Score: 0

      I'm disappointed that they didn't choose PHP for maximum WTF-age.

  6. Python is doomed by Anonymous Coward · · Score: 0

    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.

  7. Great idea! by Kenja · · Score: 1

    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?"
    1. Re:Great idea! by networkBoy · · Score: 1

      just imagine the ability to connect multiple AIs with this!
      One tensor flow connection per cell, cells referencing other cells.

      No wonder Skynet tries to kill humanity, we grew it in Excel! It all makes sense now!

      --
      whois gawk date unzip strip find touch finger mount join nice man top fsck grep eject more yes exit umount sleep dump
  8. Re:Python in Excel... by Anonymous Coward · · Score: 0

    If they implemented only Python 2 in Excel, and everybody tries to run Python 3 code in their spreadsheets.

  9. Obligatory Archer by DontBeAMoran · · Score: 0

    run [...] code in their spreadsheets

    Do you want to make insecure software? Because that's how you make insecure software.

    --
    #DeleteFacebook
    1. Re:Obligatory Archer by MightyYar · · Score: 1

      Yes, as a matter of fact, I want to make insecure software. I can do this today in VBA, and it is quite useful. Opening and writing arbitrary files on the system and network is super-useful and I don't see why they would change that just because they add Python as a scripting language.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    2. Re:Obligatory Archer by DontBeAMoran · · Score: 1

      I never said Python would make things worst. All I said was that allowing such things is a terrible idea, whatever the language is.

      --
      #DeleteFacebook
    3. Re:Obligatory Archer by MightyYar · · Score: 1

      OK, but it already exists, and making insecure software is highly useful. It's not like my data crunching script will be public-facing, and I most certainly don't want to jump through hoops to read and write arbitrary data. In any event, my bare Python scripts are less secure than my VBA running in Excel. If someone double-clicks a python script (or compiled exe), it will execute arbitrary code whereas Excel will make you click a box to execute a VBA macro.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    4. Re:Obligatory Archer by modmans2ndcoming · · Score: 1

      wtf? scripting your data analysis in a spreadsheet makes insecure software?

    5. Re: Obligatory Archer by cyber-vandal · · Score: 2

      Exactly. Why anyone would use computer software for automation is beyond me.

    6. Re: Obligatory Archer by Anonymous Coward · · Score: 0

      JScript wins

  10. Good riddance to VBA by mykepredko · · Score: 1, Troll

    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.

    1. Re:Good riddance to VBA by Anonymous Coward · · Score: 0

      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."

      Remember, Dijkstra was advocating for structured programming, and VBA is a structured language. It fixed most of the mind-mutilating aspects.

  11. Good idea by DogDude · · Score: 1, Insightful

    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.
    1. Re:Good idea by GameboyRMH · · Score: 2

      Is it a good thing to help idiots to build more powerful Office-powered clusterfucks? This is like building a cheap and reliable cell-phone-triggered detonator: In the most technical sense, you made an improvement, but what if you consider what they're used for?

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    2. Re: Good idea by Anonymous Coward · · Score: 0

      The reason is compatibility. Microsoft actually maintains compatibility of Office file formats for a loooong time. The very existence of 64-bit VBA was forced upon Microsoft by compatibility considerations.

      The support of a language is a major commitment on their part. For this reason the set of libraries available will be relatively limited.

    3. Re:Good idea by Anonymous Coward · · Score: 0

      Meh, embedding programming languages have always lead to crap. It is always cleaner to flip it around and let the program generate the document instead.
      But as bad as vba-scripts in office documents have been they are still not close to being the clusterfuck of embedding ecma-scripts in html-documents.

    4. Re:Good idea by DogDude · · Score: 1

      Different tools for different job. You sound like a tool. What's your job?

      --
      I don't respond to AC's.
    5. Re:Good idea by Anonymous Coward · · Score: 0

      One of the .Net ones would surely be a better choice than Python no?

  12. Curious news by CustomSolvers2 · · Score: 1

    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.
    1. Re:Curious news by Anonymous Coward · · Score: 1

      Anybody who uses .Net isn't going to bother writing programs in Excel.

      VS2017 is free, and includes VSTO. VSTO encourages using Excel files as data storage and not as scripting. Which is proper. Anyone who can use VSTO is going to write a separate program that consumes and emits data files, if that's a needed task, rather than embedding program and data into one binary clusterfuck.

      But all that being said, people who "just want it to work" are still clueless normies that are going to abuse broken designs and terrible architecture in unspeakably bad ways in order to do dumb shit that will eventually calcify into "necessary business functions" that will take millions of dollars of development effort to straighten out. And that process is how I make my living. C'est la vie.

    2. Re:Curious news by Anonymous Coward · · Score: 4, Interesting

      Python is a .NET language. Microsoft's IronPython compiles to .NET and uses the .NET framework instead of Python's regular packages. And VB.NET is not really "a new version of VB6" at all - it's a whole different language that's more like C# with its syntax altered to visually resemble BASIC. It doesn't behave like VB at all.

    3. Re:Curious news by CustomSolvers2 · · Score: 1

      My experience is similar to yours. I have a very relevant .NET expertise, including dealing with MS Office communication, and have been in quite a few situations where I had to rely on VBA (e.g., the client wanted it for whatever reason, improving existing VBA codes which weren't planned to be migrated to .NET, etc.). Relying on .NET is much friendlier and logically I prefer it, but some times you cannot do what you want or what is best.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    4. Re:Curious news by CustomSolvers2 · · Score: 0

      Python is a .NET language. Microsoft's IronPython compiles to .NET and uses the .NET framework instead of Python's regular packages.

      I meant the properly-speaking .NET languages (C# & VB.NET), simply because I don't have too much experience in the other ones and I am not sure about how well they support all the .NET features. In any case, it seems that IronPython isn't a Microsoft implementation. External libraries allowing a given programming language to communicate with .NET are relatively common, but that fact doesn't convert the given language into a .NET one.

      And VB.NET is not really "a new version of VB6" at all

      Seriously? Then, how do you call the transition from the old VB to the new VB.NET supporting very similar syntax, the same name and even most of the old in-built functions? Two different languages with basically identical syntax and name? LOL.

      it's a whole different language that's more like C#

      No. C# and VB.NET share their intimate .NET reliance and this is the only thing that makes them similar. Other than that, their syntaxes are completely different and VB.NET emulates the VB one + some extensions.

      It doesn't behave like VB at all.

      Logically. I never implied that VB and VB.NET behave similarly because they certainly don't. But this is the case with any other two versions of a programming language which aren't compatible between each other (+ are separated by quite a few years).

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    5. Re:Curious news by Anonymous Coward · · Score: 3, Informative

      VB.Net is .Net first and VB second.

      For example, if you type If foo = "1234" Then, it's doing some wonky-ass classic VB shit in the background (implemented in the Microsoft.VisualBasic namespace syntax shims) to allow variable foo to be an Int32 and still compare without a type mismatch. If, in C#, you try the same thing with if(foo == "1234") and foo is an int/Int32, it's going to flip its shit at compile time. But best of all, in either language, you can do If foo.op_Equality("1234") Then (or if(foo.op_Equality("1234")) in C#) and get the standard C#-style and .Net standard equality comparison operator functionality that bypasses the classic VB shims.

      VB.Net is .Net first and VB second, only by means of the compiler handling special cases to fill in keyword functionality with Microsoft.VB shim code that works differently than bog-standard .Net. These shim functions generate some terribly expanded MSIL for things that look like they're simple language translation.

      On a related note, you can add using Microsoft.VisualBasic to your C# code and start using things like Strings.Equals(object), for example, if(Strings.Equals(foo)), where foo is an Int32, like the previous example. This will use the "wonky-ass classic VB shit" string comparison, even in your C# code. With all of the MSIL performance gotchas that apply. .Net is an incredibly flexible ecosystem, and Microsoft strives to make things "easy" for newbies. But if you familiarize yourself with its inner workings, you'll quickly find that it's both every bit as complex as C/C++ and simultaneously capable of doing all of the same hideously unmaintainable performance tricks. It just makes them unnecessary most of the time.

    6. Re:Curious news by Anonymous Coward · · Score: 0

      oosp.

      That Strings.Equals(object) example didn't instantiate the Strings class correctly. Still, the general idea applies.

    7. Re:Curious news by CustomSolvers2 · · Score: 1

      VB.Net is .Net first and VB second.

      I never said otherwise. Anecdotally, when writing VB.NET code, I always rely on pure .NET rather than on VB functionalities. My whole point was that, regardless of the evident differences between both of them, VB.NET is the evolution of VB (or VB the old version of VB.NET). You might even consider the whole .NET (and consequently also C#) an evolution of VB; exactly the same than VB was an evolution of Basic. This was my whole point.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    8. Re:Curious news by Anonymous Coward · · Score: 1

      I wasn't disagreeing with you.

      I consider all of .Net to be the result of lessons learned during the development of good ol' VBRUNxx.DLL and circumstances around being chased out of meddling with the JVM.

      VBRUN was a runtime engine that hosted VB execution and provided a standardized library to it. It was a good idea that laid the groundwork for most of what became VB.Net and some major parts of the .Net CLR and framework.

      Being banned from Java was the catalyst that pushed further runtime development from being VBRUN (and VB-only) into the realm of "well, we could just hook Java/J++ into VBRUN" and then further into "why don't we do this right and make something new out of it?" From that effort sprang the actual .Net CLR and framework as a separate entity from ongoing VBRUN development, along with J# and eventually C#.

    9. Re:Curious news by CustomSolvers2 · · Score: 1

      You have clearly a very good knowledge about all this; too good actually. I am starting to think that even the way in which you write is vaguely familiar to me. You have to be either a true expert (programming-level famous, perhaps?) and/or a Microsoft employee closely related to the whole .NET development. Anyway, very interesting, thanks.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    10. Re:Curious news by CustomSolvers2 · · Score: 1

      As far as my post above got a quite unfair downvote and I know the kind of "knowledge"/"understanding" that some potential readers have, I will better clarify that I don't agree with either some statements said by that other AC or his/her approach to criticising/trying to impose certain position rather than properly understanding what I was saying. Also the other comments down this sub-thread (not sure if written by the same AC) do reflect a quite good knowledge about the .NET Framework, what is certainly nice but not strictly required to use these programming languages properly. This aspect seems to indicate that that person's work is probably mostly focused on properly understanding/developing/promoting these languages (as highlighted via my previous famous-or-Microsoft-worker remark) rather than using them to develop whatever piece of software (= what I + most of people concerned about programming languages do).

      Another issue which might be a bit confusing for some individuals is that I am 100% honest, objective, perfectly aware about (the limitations of) my knowledge and always ready to openly appraise/criticise what is appraisal/critic worthy. Or, in other words, I don't say "this is wrong/right" because of hating/loving whatever/whomever, but simply because of considering that this is the case under the given conditions. Additionally, bear in mind that a complete moron can eventually deliver a brilliant statement and a very sensible person can behave stupidly; isolated events rarely mean anything, much less when not them or their context/applicability aren't properly understood.

      I know that, for some people, all what I am writing here might be a bit too dense, long, boring, unnecessary, etc., but this is precisely the reason why I am doing it: you, now-everything-is-perfect-tomorrow-is-horrible magic seekers, please try to avoid dealing with me :) (-> this smiley is to let you know that I am not angry/hate you and that I only want everyone to be happy).

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    11. Re:Curious news by CustomSolvers2 · · Score: 1

      A good example to illustrate my point right there. My "much less when not them or their context/applicability aren't properly understood." (rather than "much less when they or their context/applicability aren't properly understood") is a punctual, irrelevant error which doesn't tell too much about me (not even about my English skills or about how is my day today as opposed to any other day) and any sensible person should understand it as such.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  13. Python is not popular with developers by Anonymous Coward · · Score: 0, Insightful

    It is popular with non-developers (such as system admins). Developers use other tools.

    1. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      Such as?

    2. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      Real Programming Languages, for example. Not lame-ass scripting crap for weenies to write crappy code in.

    3. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      Such as...?

    4. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      He's probably gonna say CSS

    5. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      Such as REAL languages. What are you, a fucking retard? Real languages: C, C++, Ada, Fortran, etc. Paint-by-number, masturbatory toy languages: Java, C#, Ruby, Python, Perl, etc.

    6. Re:Python is not popular with developers by Anonymous Coward · · Score: 0

      > Such as REAL languages. What are you, a fucking retard?

      Yeah, I'm a retard mind reader who knows *exactly* which languages you're talking about because *everyone* knows which ones are the REAL languages.

      Asshat.

  14. Why is /. so negative? by substance2003 · · Score: 4, Insightful

    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.

    1. Re:Why is /. so negative? by mykepredko · · Score: 1

      Totally agree with you - the only thing I might comment on the suggestion that rather than Python, .NET languages would make more sense.

      VBA in Excel has always been horrible.

    2. Re:Why is /. so negative? by OneHundredAndTen · · Score: 0

      Bearing in mind the despicable behavior of MS throughout its history, can you blame people for airing negative views about this company whenever it is mentioned? MS is harvesting what it has sowed, and will carry on doing so for a long time.

    3. Re:Why is /. so negative? by luis_a_espinal · · Score: 1

      Totally agree with you - the only thing I might comment on the suggestion that rather than Python, .NET languages would make more sense.

      VBA in Excel has always been horrible.

      Well, there is Python for .NET (IronPython).

      Other than that I agree with you and the OP. Excel is an excellent tool for what it is supposed to be used. That people use it as a database, that's a WTF, but that has nothing to do with the value of Excel and its automation.

      It is the perfect tool for most what-if analysis needs. I've know plenty of people that added value to their work with VBA in the financial/insurance world.

      Python is a much better choice for this, when you need complex mathematical functions that cannot be done easily as a composition of Excel's built-in functions.

      The negativity in /. is something weird to be honest (it makes me wonder what type of work they do.)

    4. Re:Why is /. so negative? by Gilgaron · · Score: 3, Interesting

      Sometimes I mock things up in Excel before handing it to a developer to code... being able to use Python in the mockup would be pretty awesome and give me more experience in a coding language that is actually widely applicable... seems like a win-win.

    5. Re:Why is /. so negative? by Anonymous Coward · · Score: 0

      Slashdot has gone completely insane in the last year or so. I know we are all old users, and I know all of us have kids constantly trampling on our lawns, but I haven't seen a post in a long while that wasn't met with a flood of mean-hearted whining. Cynicism is not a stand-in for analysis, folks.

      Although... if you aren't writing your ERP system in VBA and Excel formulas, you're doing it wrong.

    6. Re:Why is /. so negative? by Anonymous Coward · · Score: 0

      Because it is about Microsoft, which has a history of "marginal decision making". People here keep the wounds fresh from the "embrace and extend" period of Microsoft history. Also, it is just so much easier to hate something...see all this creative energy in the "IT IS MICROSOFT, IT MUST BE BAD" crowd!

    7. Re:Why is /. so negative? by Anonymous Coward · · Score: 0

      I favor this move in general, but would it really fix those script problems? Was it VBA causing the script problems or the guy writing the scripts causing the script problems?

    8. Re: Why is /. so negative? by guruevi · · Score: 1

      If you need scripting in your spreadsheet youâ(TM)re better off using plain Python or R. Doing an ANOVA in 32000 rows and 20000 columns on Excel is wrong and makes people that support those people cry.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    9. Re:Why is /. so negative? by Anonymous Coward · · Score: 0

      Why is /. so negative?
          Because while Python on Excel would be great, (it really would!!!), it probably won't be Python - it will likely be MS Python..
      MS has a history of replacing existing standards with MS branded versions. Their idea of 'including' something is also their idea of encroaching others, which is disingenuous and another new vehicle for their well known EEE strategy.
      (Extend, Embrace, Extinguish). https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish

    10. Re:Why is /. so negative? by substance2003 · · Score: 1

      Bearing in mind the despicable behavior of MS throughout its history, can you blame people for airing negative views about this company whenever it is mentioned? MS is harvesting what it has sowed, and will carry on doing so for a long time.

      When the idea is actually interesting and requested by developers. I think I can blame them.
      If no one was requesting this feature and they added it, we might be wondering why they are even bothering but the fact is that there are people who are requesting this feature. Yes, they have a history of making their own versions of things but I'm sure they've also done good things and believe it or not, it's not everyone in the company that has bad intentions. I like to give them the benefit of the doubt on this one.

    11. Re:Why is /. so negative? by AmiMoJo · · Score: 1

      It would be great if we could have portable macros too. MS Office, Libre Office, Google Docs etc. all capable of opening and running the same macros.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  15. How much Malware is distributed via Excel? by mykepredko · · Score: 2

    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?

    1. Re:How much Malware is distributed via Excel? by CustomSolvers2 · · Score: 1

      Could anybody comment on why this is such a big issue?

      I think that the main reason is that people don't understand how powerful Office macros really are. They can do many things, not just in the spreadsheet but everywhere on the computer. They are basically a program. The chances of a VBA script or a random executable to do something wrong on your computer are pretty much identical; but people might consider the first option less problematic and treat spreadsheets with macros more carelessly.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    2. Re:How much Malware is distributed via Excel? by Anonymous Coward · · Score: 0

      Spreadsheets are emailed like crazy in the manufacturing world.

      I receive many a day. I don't have macros enabled on them. I copy the contents I need and paste into a new workbook.

    3. Re:How much Malware is distributed via Excel? by Trax3001BBS · · Score: 1

      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.

      Could anybody comment on why this is such a big issue?

      It's really anything Microsoft as it's so distributed, more bang for your buck.

      Microsoft just doesn't get it, Word default "was" macros allowed, and the list extensive in this respect.

    4. Re:How much Malware is distributed via Excel? by Anonymous Coward · · Score: 0

      I remember when they added VB support an everyone said it was going to lead to the occasional exploit. Boy, were they wrong. So, OP, how many whitespace exploits can you think of for Excel, just to get a quick start off the line?

      Could anybody comment on why this is such a big issue?

      I think that the main reason is that people don't understand how powerful Office macros really are. They can do many things, not just in the spreadsheet but everywhere on the computer. They are basically a program. The chances of a VBA script or a random executable to do something wrong on your computer are pretty much identical; but people might consider the first option less problematic and treat spreadsheets with macros more carelessly.

    5. Re:How much Malware is distributed via Excel? by CustomSolvers2 · · Score: 1

      The problem isn't so much the language (by assuming that Microsoft implements it properly), but what this whole format implies. For example, an Excel spreadsheet with enabled macros can do pretty much anything on the target computer just by being opened. People should treat these files as executables and only open them/enable macros when being completely sure that they are safe, but apparently this isn't the case. Supporting Python or any other language will not change that reality, other than perhaps by attracting more (malware) developers.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  16. Re: Python in Excel... by Anonymous Coward · · Score: 0, Funny

    Python is a fucking ugly piece of shit. Both deserve each other.

  17. C# by Anonymous Coward · · Score: 0

    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.

    1. Re:C# by CustomSolvers2 · · Score: 4, Informative

      I have been wanting to be able to write C# to automate functions in an excel sheet.

      You can easily do that since long time ago. There are even different alternatives (e.g., relying on a template or creating everything on-the-fly). If I have to communicate with MS Office and I can choose how to do it, I would develop a C# or VB.NET application rather than relying on VBA.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    2. Re:C# by Anonymous Coward · · Score: 1

      This right here.

      And for that extra little bit of help in finding out how to "do it the right way", here's a wikipedia article that links to the correct toolset. From here, you can google the details.

      Visual Studio Tools for Office

  18. I like the philosophy of Python by Trax3001BBS · · Score: 0

    Only one way to do anything.

  19. Python "most versatile" by Anonymous Coward · · Score: 0, Insightful

    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?

  20. The ultimate debugger (for non-devs) by TuringTest · · Score: 4, Interesting

    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.
  21. Wrong Language by Anonymous Coward · · Score: 2, Interesting

    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.

    1. Re:Wrong Language by swb · · Score: 1

      Gee, a wrong language, use this other one post on Slashdot. What a surprise.

    2. Re:Wrong Language by Anonymous Coward · · Score: 0

      Lua really is cool. I script my window manager with it. It's one of those languages that you can just use without really having to study. Not that I would ever do that.

    3. Re:Wrong Language by Anonymous Coward · · Score: 0

      Grow up.

  22. It's a trap! by kbg · · Score: 1

    It's a trap!

  23. Re:Python in Excel... by MightyYar · · Score: 4, Insightful

    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.
  24. Interesting but scary from a sysadmin perspective by ErichTheRed · · Score: 1

    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.

  25. Re: Python in Excel... by Anonymous Coward · · Score: 0

    Totally agreed..

  26. Not true... by truckaxle · · Score: 2

    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.

  27. Re:Interesting but scary from a sysadmin perspecti by Anonymous Coward · · Score: 0

    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.

  28. Um...OpenOffice anyone? by Weaselmancer · · Score: 5, Informative

    Office suite + Python = OpenOffice. This is already a thing.

    --
    Weaselmancer
    rediculous.
    1. Re:Um...OpenOffice anyone? by Anonymous Coward · · Score: 1

      No, it doesn't exist...Microsoft will be inventing it! Make Microsoft software great again!

    2. Re:Um...OpenOffice anyone? by Anonymous Coward · · Score: 2, Informative

      Ninja'd! I just checked and LibreOffice also supports Python for scripting (https://help.libreoffice.org/Common/Scripting). As would be expected since Open/LibreOffice are essentially the same thing. Has been true for a long time, so Excel (just that, or is it possible in all Office components as in L/Ooffice?) is really just catching up here. Scripting can be done in Basic (equivalent but not identical to VBA), Javascript, Beanshell, and Python.

  29. Microsoft and Python in Visual Studio by Bob_Geldof · · Score: 1

    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
    1. Re:Microsoft and Python in Visual Studio by Anonymous Coward · · Score: 0

      For a second there I saw "Monty and Python in Visual Studio" ...

  30. Embrace, Extend, Extinguish by Anonymous Coward · · Score: 1

    Yup, here we go all over again.

    1. Re: Embrace, Extend, Extinguish by Anonymous Coward · · Score: 0

      Looking forward to the extinguish phase of this particular endeavor

  31. Why not C# ? by Anonymous Coward · · Score: 0

    I would rather see VBA replaced by C# variant.

    1. Re:Why not C# ? by ebvwfbw · · Score: 1

      I would rather see VBA replaced by C# variant.

      Really? Why? We think people have trouble with VB, imagine C.

  32. Re:Python in Excel... by Anonymous Coward · · Score: 0

    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?

  33. Re:Python in Excel... by Anonymous Coward · · Score: 0

    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...

  34. Re:Python in Excel... by randallman · · Score: 1

    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.

  35. Re:Python in Excel... by modmans2ndcoming · · Score: 1

    Uh...not, it will be vanilla python. Microsoft doesn't do that shit anymore.

  36. Re:Python in Excel... by Anonymous Coward · · Score: 0

    Right! Just like creimer doesn't do that shit anymore!

  37. Re:Python in Excel... by Anonymous Coward · · Score: 0

    who is creimer?

  38. Do not want. by Anonymous Coward · · Score: 0

    Embrace. Extend. Extinguish.

  39. Ditch Excel by Anonymous Coward · · Score: 0

    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???

  40. From a spreadsheet-monkey by Anonymous Coward · · Score: 0

    + 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.

  41. Static typeing and APIs by aberglas · · Score: 1

    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.

    1. Re:Static typeing and APIs by steveha · · Score: 2

      VBA has static typing which Python does not.

      (a) Python has strong typing, just dynamic rather than static. Most Python developers would tell you, and I would agree, that you should be testing your code with unit tests and assertions, and catching type errors at runtime is acceptable.

      (b) Some Python developers, including the "Benevolent Dictator for Life" Guido van Rossum, feel that Python should have optional static typing, and it is now available. If you think it would help you, you can simply start using it.

      Because it's optional, it's not built into the language compiler; it's a separate tool you run. You can automate running the tool if you like.

      Python 3 supports "annotations" that are saved with your code; they do nothing by themselves. But a static analysis tool can use those annotations to do a static type check and give you a type error even before you try running your code.

      The tool is called "mypy":

      http://mypy-lang.org/

      P.S. One of the reasons that Guido van Rossum decided Python needed optional static typing is that large companies such as Google and Microsoft were using their own hand-rolled static checking solutions; they would declare functions with special comments and then write checking tools that would parse the special comments. By building the type annotations into the language, Python has standardized on one particular way of doing the annotations. Now IDEs support it and people can share code. As the Zen of Python says: "There should be one, and preferably only one, obvious way to do it."

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
    2. Re:Static typeing and APIs by aberglas · · Score: 1

      Sure, like VBA, Python checks types at runtime as well. But that is no replacement for static typing, which is the common case.

      By relying on automated tests with 100% code coverage you are saying that Python is only suitable for professional developers. VBA is mainly used by people whose expertise is not programming.

      It is really nice to know that once your code compiles, one large class of potential errors will be absent. And VBA could (but does not) be compiled to efficient code without relying on complex runtime analysis.

      Python is just yet another scripting language that offers nothing really new.

    3. Re:Static typeing and APIs by steveha · · Score: 1

      you are saying that Python is only suitable for professional developers

      Actually, I never said any such thing. IMHO Python is just plain an all-around easy to use language that's easy to understand. Every language has some weird stuff that you just have to get past to understand how it works; Python has less of it than any other language I've used. My nephew was able to write working Python programs at age 10... he didn't spend any time on "automated tests with 100% code coverage" and yet his programs worked.

      Static type checks can be an effective tool but they are not the be-all end-all of software development. If you can't override them they can be a time-wasting straitjacket; if you can override them you can still shoot your foot if you aren't careful; and in any event a program that passes a static type check may still have lots of bugs in it.

      It is really nice to know that once your code compiles, one large class of potential errors will be absent.

      I've spent plenty of time working with statically typed languages, and I know exactly what you mean. However, (a) for people who haven't learned software development, having to declare types is another hurdle to jump over; and (b) you seem to be ignoring the whole thing about Python enabling static type checking if you want to use it. (The Python interpreter doesn't do the checking, you would have to use an external tool; but IDEs could build it in, and Excel could as well if the Excel team agrees with you that static typing is desirable.

      And VBA could (but does not) be compiled to efficient code without relying on complex runtime analysis.

      And that's a weak point on Python: it's hard to optimize. PyPy watches code run and optimizes when it sees commonly repeated code, but it's really hard to optimize Python at compile time. The language is super-dynamic, by design, and that has a price.

      But for most people, just using the built-ins means that the important work is done at C speed (by library code or built-in Python features). For SciPy the heavy lifting is mostly done by compiled Fortran library code.

      Python is just yet another scripting language that offers nothing really new.

      Python is an extremely popular language and its user base is growing, not shrinking. Perhaps there is some merit in Python you don't see.

      --
      lf(1): it's like ls(1) but sorts filenames by extension, tersely
  42. Re:Python in Excel... by MightyYar · · Score: 1

    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.
  43. Re:Python in Excel... by MightyYar · · Score: 1

    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.
  44. it was a matter of time by veron.claudio · · Score: 1

    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.

  45. UGH by Anonymous Coward · · Score: 0

    Python is for moronic hipster retards that don't realize yet that significant white space is STUPID.

  46. great by Anonymous Coward · · Score: 0

    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.

  47. Re:Python in Excel... by toddestan · · Score: 1

    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.

  48. Re:Python in Excel... by MightyYar · · Score: 1

    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.
  49. Python works well for LibreOffice by jdk1 · · Score: 1

    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.

  50. Re:Python in Excel... by modmans2ndcoming · · Score: 1

    So, you are making shit up and then criticizing them for your made up shit?

  51. Re:Python in Excel... by MightyYar · · Score: 1

    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.