Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Microsoft Programming Software News

Office 15 Development To Go JavaScript, HTML5 For Extensibility 117

mikejuk writes "Programmers have had to put up with Microsoft dithering over Office development for a long while. The macro language VBA has been on its way out ever since .NET was introduced and yet it is still the only macro language available. Now it looks as if Microsoft plan to put JavaScript and HTML5 into Office 15. And how do we know this? By reading job ads to discover what projects Microsoft is hiring for."
This discussion has been archived. No new comments can be posted.

Office 15 Development To Go JavaScript, HTML5 For Extensibility

Comments Filter:
  • by Anonymous Coward

    Why does anyone need a programming language embedded in documents? Seems like that would be ripe for potential security/privacy violations, viruses, etc. I could see having some sort of limited template/macro language but, really, a full blown programming language inside documents?

    • by xombo ( 628858 ) on Saturday August 06, 2011 @05:07PM (#37010466)

      HTML pages are documents. JavaScript is a full-blown programming language inside documents. It makes good sense.

      • No it doesn't. Javascript definitely does not belong in an HTML file. It belongs as a separate file so that you can actually make sure that it's updated rather than hoping that it doesn't get screwed up when you want to change the HTML.

        Programming in documents is a serious security problem that ought to have been fixed years ago. If you need interactivity, then use an external program, otherwise let's keep the bugs to things that are actually unavoidable.

        • by kikito ( 971480 )

          Hemm ... no.

        • Link to an external JS or not, the fact of the matter is that when the page ends up in the browser they both / all reside within the same DOM. Your ivory tower view of how things should be is commendable, but not workable in the real world.
        • Your suggested solution (moving js outside the document) would make no difference to security.

          The issue is that a program like word needs to execute code (formats like PDF, macros, code to manipulate the document) which leaves it open to attacks so that code needs to be properly sandboxed, ideally in a separate process as has been popularised by chrome and more recently web kit. That has nothing to do with where the js etc resides in the document, which from a security point of view, doesn't really matter.

          S

          • So long as there is an option for disabling js completely on read, and sand boxing it fully when it is turned on ( something browsers have been doing for years) moving to js and HTML would not make office any less secure, and possibly more secure as rendering js and HTML is a well understood problem.

            I believe that Office is already (2010) sandboxing documents. IIRC documents "tainted" with an Internet origin will open in a sandboxed (low-integrity) process.

        • No it doesn't. Javascript definitely does not belong in an HTML file. It belongs as a separate file so that you can actually make sure that it's updated rather than hoping that it doesn't get screwed up when you want to change the HTML.

          Programming in documents is a serious security problem that ought to have been fixed years ago. If you need interactivity, then use an external program, otherwise let's keep the bugs to things that are actually unavoidable.

          You are just arguing semantics with the separate document thing. The Office Document format is now composed of multiple files inside a single logical document file. The scripting could easily be moved out of the content file and be stored as a separate entity. Users obviously want this functionality, or documents using it wouldn't exist in the first place.

        • Yep. How come there's still no "#include" in HTML? Anybody with half a brain would have put that in from day one, but noooo.

          (Server side includes don't count - they don't work for HTML files stored on my hard disk)

          • by funfail ( 970288 )

            Who uses static HTML files these days? Everything is generated dynamically on the server side anyway.

    • by sribe ( 304414 )

      Why does anyone need a programming language embedded in documents? Seems like that would be ripe for potential security/privacy violations, viruses, etc. I could see having some sort of limited template/macro language but, really, a full blown programming language inside documents?

      You don't need it so much "inside documents" (although some people do that), as you do "inside the word processor app" with full access to the document--for all sorts of applications involving building documents.

      • by cgenman ( 325138 )

        Excel is pretty much a programming language, just a really bad one. Embedding a better one within it just makes sense.

    • by PCM2 ( 4486 )

      Why does anyone need a programming language embedded in documents? Seems like that would be ripe for potential security/privacy violations, viruses, etc.

      Office already has reasonable security controls over VBA macros. They aren't executed automatically if a document came from an untrusted source. Like so many things, if you're going to willfully execute malicious code, nobody can help you. But the problem of Word macro viruses and the like has been around for a long time and has largely been addressed by a combination of modern antivirus software and Office's own security controls.

      That said, if I want to write macros to make my use of Office more efficient,

      • by Beale ( 676138 )

        I'd be more than happy to translate my VBA macros away from that rather shoddy and awkward language into a different shoddy and awkward language.

        FTFY

        • by PCM2 ( 4486 )

          It's a matter of degree. People have complaints about JavaScript, but I don't see how they apply when all you're trying to do is script a word processor. You're stuck using JavaScript for the Web anyway, so why not use the same language for your applications? The alternative being a language that I won't ever use for anything except some random Microsoft odd jobs.

          • by Beale ( 676138 )
            That's true. Because this is Office, though, it'll probably keep both languages indefinitely and people will have to support and maintain legacy VBA until they die.
    • by Co0Ps ( 1539395 ) on Saturday August 06, 2011 @05:36PM (#37010612)
      You would be surprised how much business logic companies tend to squeeze into office documents, especially excel documents. I'd go as far as saying most of the world runs on excel sheets + VBA. Horrible but true.
      • by mvar ( 1386987 )

        You would be surprised how much business logic companies tend to squeeze into office documents, especially excel documents. I'd go as far as saying most of the world runs on excel sheets + VBA. Horrible but true.

        This is so horrible and yet so true, I've seen excel documents being used for an insane variety of purposes, from simple event monitoring to full CRM & Payroll

        • by cynyr ( 703126 )

          to full scale building energy analysis for the full year, all 8760 hours of it. one hour at a time. Anyways, use what works and what you know. You always seem to have half the time needed to do a proper job of it.

      • Agreed, but the alternative -- waiting for IT to build something -- is simply unacceptable. I build budgeting and forecasting systems (Essbase and relational). As such, I dwell in the land of the undead zombies midway between Finance and I.T. Finance wants it good and fast. I.T. wants it cheap and stable. VBA macros in Excel make it possible for me to get the job done and move along to the next project.
        • I use VBA macros in Excel to manipulate data and images that I have to do regularly. Why is VBA good? Because I have not programmed a full program since grad school in Fortran in 1985. I am able to use VBA to take an existing GUI (Excel) and add functionality in short order since VBA is so similar to Fortran. I already store the data (and images) in worksheets for my science research. And when I want to curve fit the data, or rotate, shrink and place 100 images I use VBA. There is a very active community to
        • this is pretty true, at one point we were pretty much told to nuke any spreadsheets we could find and roll the functionality into our other applications, after seeing some of the absolutely required and totally horrific functionality built into some of these bad boys we pretty much turn the other cheek a lot of the time.
        • Agreed, but the alternative -- waiting for IT to build something -- is simply unacceptable.

          Another alternative would be that many more people (non-IT people) learn to program. I mean program with half-way modern (interactive/scripting) languages, environments and libraries. I actually think that this is a cultural issue, and an education issue. In a world where pretty much every automation is run by computers, you could argue that a deeper understanding of how those machines work is a sort of fundamental piece of knowledge like reading and writing and algebra.

      • The program that decides under the current reshoring initiative if a factory stays in CHina or returns to the USA is an Excel app: http://www.reshoringmfg.com/Reports/TCO%20ESTIMATOR%20VERSION%204.xls [reshoringmfg.com]
    • by cynyr ( 703126 )

      think custom functions for excel. Not every thing can be done there and writing a hole app just to do something that is already 99% doable in excel seems like a waste. Also in the HVAC engineering world, everyone has excel and everyone knows how to use it. where as almost no one knows C, C++, python, .Net, etc in that world.

      Anyways, as for word documents, think a custom markup language, and a nice interface to select options in the document.

  • Javascript itself would be an excellent "macro" language for Office, but I'm not so sure about the HTML5 part. I sure hope you don't have to use DOM to alter spreadsheets. That would suck.
    • Yes, but it doesn't really solve the problems that come from having a macro language built into a document format. Until you remove that, there's not a whole lot you can do that's going to improve things.

      • Re:Good, maybe. (Score:5, Insightful)

        by wsxyz ( 543068 ) on Saturday August 06, 2011 @05:53PM (#37010708)
        You probably didn't know that Tools > Macros >Visual Basic Editor is the world's most popular IDE.
        There are full blown Win32 applications that run out of Excel spreadsheets.
        Crazy, but true.
        • by jimicus ( 737525 )

          I'd go a step further and say that every business over a particular size is guaranteed to have at least one such application - and if it's not written in Excel, it'll be written in Access.

          The application is practically guaranteed to be a horrendous mess, but it's almost certainly become business-critical.

          And the good people behind LibreOffice still can't figure out why anyone wouldn't want a free office suite.

          • And the good people behind LibreOffice still can't figure out why anyone wouldn't want a free office suite.

            That's sad but true. Although the LibreOffice looks as if there is a macro function, there is just plainly no documentation for people to write custom code! Oh sorry, there's documentation for the BASIC language, but not the API to access the spreadsheet...

            • by jimicus ( 737525 )

              Wouldn't do you much good anyway, not unless it includes compatibility with Office VB apps.

              Interoperability with existing applications (both those written in-house as spreadsheets and third-party apps that somehow plug into Office) and outside entities are far and away the biggest thing keeping people on Office. The closest you'll get to a migration in most businesses today is "drop office except for a select few" approach.

        • It's still not appropriate to have applications that look like documents. It doesn't matter how popular it is, it's a bullshit practice that just leads to malware infection. If it's genuinely a document then I shouldn't have to worry about opening it in my editor because some asshole is embedding things that don't belong in a document.

        • by jawahar ( 541989 )

          We can do exotic stuff in Excel
          http://chandoo.org/wp/free-excel-templates-download/ [chandoo.org]

        • It's true.. *sob*.. so true... *sniffle* I have so many repressed memories of some horrible, horrible things... well, repressed until I read your message....

          It's hard to tell which is worse:

          * The Excel monsters ("help, my 200 MB spreadsheet got corrupted and it's the only copy of all of my customer invoices and contacts and accounts! I spent all that time making hundreds of macros, get it back!")

          * The Access monsters ("can you help me figure out a way around this 2GB size limit? I have employees waiting f

    • Maybe HTML would be used to create some kind of fancy user forms? I dunno, it seems like a weird decision to go with JS at all, instead of, say, VB.NET or C#.

      • by cynyr ( 703126 )

        They are looking for something with a simple syntax and ease of use for non-programmers and something that they can automatically create when you click "record macro"

      • by deniable ( 76198 )
        .NET can still be used through Interop and the like. This looks to be aimed at the level of people who need to build stuff but don't have VS of one form or another. Another option would have been to pair a baby VSTO with the Express editions of VS.
    • I like the idea, there are already nice HTML5 charts library out there (ex.: http://www.rgraph.net/examples/index.html [rgraph.net]), so if this can be reused in Excel, that makes sense.
    • by deniable ( 76198 )
      Given the new formats, there's no reason they couldn't use the DOM, Excel is just one large table after all. It's more likely that they'll use the HTML for user forms and the like. This will replace the current VBA dialog editor. This is a bit of a mixed blessing because we'll have a lot of code to replace. Then again, they've done this before. I wonder if this is HTA reborn.
  • by Haedrian ( 1676506 ) on Saturday August 06, 2011 @05:12PM (#37010492)

    And everything, but isn't this a bit too much?

    Remember when Windows tried to 'integrate' with the web - I think it was Windows 98...

    Is HTML and JS really the best tool for this job? Is it the best tool for all the jobs MS is intending it to be used for?

    • HTML and JS probably *are* the best tool for *this* job. Which is basically scripting.

      JS and HTML are familiar and easy. And they're powerful enough.

      What would you prefer? PERL? Python? Those would be good, too, but let's face it- JavaScript integrates better with most things that you would do with an Office document. It's almost the unofficial scripting language of Windows.

      • HTML and JS probably *are* the best tool for *this* job. Which is basically scripting.

        And if Microsoft is following the lead of Google Docs....

      • by deniable ( 76198 )
        Actually, JScript is one of the official scripting languages for Windows. Apart from some of the OLE stuff being painful, I much prefer it to VBScript with WSH.
    • If you're using Office in the cloud, then yes. Hosted solutions to counter Google Docs. Active-X is old hat. Office Lite in the browser will enable employees to edit corporate documents over https from any web browser in the world. Especially makes sense with WP7 where a full Office install doesn't make sense on a phone - no maintaining of 'Pocket Word'.

      Replacing vba with JS is a no-brainer, since what runs in Office fat-client will run super fast in the web-client.

      A greater emphasis on HTML, even in the na

    • It sure beats the hell out of VBA... only Microsoft could impose such an abomination on an unsuspecting world. And the documentation... dear gods, to delve into that abyss is as likely as not to destroy any sanity a man has left.

      If Microsoft can, for once, provide a well documented macro language for their Office products that doesn't derive from the Loins of the Devil (aka VB)... well, it'll be a cold day in hell, who am I kidding?

    • You do realize that integration is tighter now than ANYTHING Win98 had? ActiveDesktop has been renamed, but its still available, even in Win7, which is really what you're referring too. Works just fine now that they've got the bugs out and fixed a lot of the security issues.

      Windows HELP is still HTML based. So basically every app has a browser built into it if it uses the standard system help features, like any proper app would.

      'integrating the web' happened a long time ago, you just missed it, I could g

    • by sosume ( 680416 )

      Remember the 'developers developers developers' mantra .. MS will lose lots of developers over this change, such as myself. I did not invest thousands in .NET certifications to see it thrown away for html/javascript. This will lead to the end of Windows.

      • Remember the 'developers developers developers' mantra .. MS will lose lots of developers over this change, such as myself. I did not invest thousands in .NET certifications to see it thrown away for html/javascript. This will lead to the end of Windows.

        I think it's pretty clear JS/HTML5 is not replacing .Net.

    • I'm not so sure. Think about WPF. It's a XML-based markup language for document layout that you bind code to written in C#.

      HTML+js is pretty much exactly the same thing (ie different flavours of the same concept) so they're really replacing something they already use. I can see them extending HTML+js of course, and adding many new features, but did we expect anything different? Hopefully it'll be extended in the way jQuery "extended" javascript programming, and we'll all be happy.

  • Obviously VBA, descended as it is from VB6, needs to die. But .net made VB a respectable programming language, so why wouldn't microsoft simply move office macro development to that newer version instead? The learning curve would be pretty easy to climb for existing users, and there are a great many of those: entire businesses run on half-assed collections of excel macros.

    • As I understand it, VB.NET is a successor to VB6 in name only [tvtropes.org], i.e. it's more like C# with a BASIC-y syntax. Or am I completely off-base?
      • There are enough syntactic similarities to make feel familiar, and the IDE will help you out with a lot of the new methods... once your average VB programmer realizes that he can type a dot after an object name and get all of its methods listed in a neat little dropdown, he'll be productive.

        • by deniable ( 76198 )
          If he hasn't been using Intellisense for the last decade or more, why would he start now?
      • You're pretty much right. Do a google search for "Visual Fred", a name given to VB.NET by MS MVPs.

    • by PCM2 ( 4486 )

      But .net made VB a respectable programming language

      Respectable, maybe. Desirable? I don't think so.

      No matter what they replace VBA with, it will have to be a gradual migration. Both will be supported for at least some period of time. So why not replace it with something that has nothing to do with Microsoft's Windows-only legacy language? Get that crap outta there!

      I know that the only reason I ever write any VBA is because I have to write macros for Word or Excel. Every single time I do that, it's back to the manual, because I don't use VBA for anything els

      • Also, you may not be aware that Office for Mac OS X gave up VBA some time ago.

        Actually, VBA is back in Office 2011. Just in time to be deprecated, I guess.

        • by PCM2 ( 4486 )

          Actually, VBA is back in Office 2011. Just in time to be deprecated, I guess.

          Oh yeah?? Well, thanks for the FYI. A few Web searches reveals it's apparently still not 1:1 with the Windows version, though. I think ever since Mac Office 4.2 (the first version to by "synchronized" with the Windows release) rubbed so many Mac users the wrong way, Microsoft has put this artificial division between the two product groups and one doesn't even seem to talk to the other. It must drive IT guys nutty if they have to maintain both.

    • It's because of phones. Office has integrate with cool stuff on phones or it's dead meat.

    • As long as they say it supports some flavor of VBA, they will have to make sure they support legacy VBA, because people buying the products usually don't know the difference. Too many companies have built their management upon legacy VBA products. So, if MS only partially removes support, they will break things subtly and people will argue to no end about "well MY macros work just fine, so YOU must be bad at it". It's a better idea to migrate completely to something else.

  • Office 365 (Score:5, Insightful)

    by jsac ( 71558 ) on Saturday August 06, 2011 @07:58PM (#37011418) Journal

    I find it far more likely that this has something to do with Office 365: http://www.microsoft.com/en-us/office365/online-software.aspx [microsoft.com]

    • by guruevi ( 827432 )

      They're having problems writing a macros interpreter? Wouldn't surprise me, that thing is probably a mess of spaghetti code.

  • So, for all I know, this may be addressed in there already.

    I'm sure when Microsoft chose to shift Office's file formats to be web-compatible, they weren't thinking about security - but I would hazard a guess they now see this as a serendipitous way to consolidate their security management. When they patch a new exploit, they'll be solving the problem both in Word and in Internet Explorer.

    If I were, right now, an security-centric employee with Microsoft's Office team - I'd be updating my resume.

  • It's Microsoft Fashion time again. Did you use program in C++? That made sense, since it was cross-platforms and has an independent standards committee. Well, if you want to play in Microsoft land, you have to dance by Microsoft's tune: back in 2002 it was .Net. It was the holy grail -- they stuffed that thing everywhere. People started using it, and liked it too -- there are many .Net communities. In Visual Studio 2010, there's no intellisense [stackoverflow.com] for C++ anymore. Did you have large projects in C++? Well granp
    • by Shados ( 741919 )

      Err...intellisense for C++ works just fine in VS2010. I didn't try C++/CLI, but it works beautifully for vanilla C++. Much better than in the previous versions, actually.

      • My experience too... It's great for my C++ programming needs - VS2010 is a fabulous C++ editor.
      • VS2010 includes no IntelliSense for unmanaged C++ code – that is, C++ that doesn't use .Net.

        • It's interesting that different people are seeing different behaviors on VS2010. I get no intellisense for either managed or unmanaged C++, you're getting intellisense only for managed code, and the parent poster is getting intellisense for ANSI C++. Below, there's a comment saying "You have to install the right mix of MSDN when you install 2010".

          Weirdly, this is kind of good news for me, since I'm getting neither, and either of them would be useful -- it appears that it depends on the project setup.
          • It may also depend on the IDE version, perhaps. I've seen this in both the student version of the full VS2010 distributed through DreamSpark [dreamspark.com] and the free Visual C++ 2010 Express [microsoft.com]; perhaps the MSDN-distributed version of VS2010 includes IntelliSense components these don't.

        • read the SO link. There is no intellisense for C++/CLI.

          That's the managed, .NET written using C++ flavour. old fashioned, unmanaged C++ is just fine.

          Hardly anyone uses C++/CLI anyway, and now .NET is obsolete too (see the "Going Native" blogs, posts and webcasts on Microsoft's site) you'll see the shift is towards C++ backend with HTML+js GUIs. Made a lot of people unhappy that has. Me, I laughed my nuts off at all the monkeys that jumped on the 'new cool' thing from MS. Seen it before you see, will probabl

  • Then as I thought about it...JS could be a better language to work in than VBA (I hate VBA...and JS, but much less than VBA).

    While I hate the muddled mess that is JS (functional programming with an imperative look and feel) it is much more workable than VBA and should provide some easy access to powerful data manipulation macros in Office with the right libraries available to the user.

    • by siride ( 974284 )

      People keep saying JS is "functional programming", yet aside from closures (hardly a functional-only feature), it doesn't seem to have anything that looks like functional programming to me. So what is it about JS that's functional again?

      • being able to dynamically extend any language construct. the author of Javascript called it a functional programming language and it is easier to use in a functional manor rather than an imperative one.

        • by siride ( 974284 )

          Ehh, most modern languages let you extend language constructs. JavaScript is not particularly special in that regard (in fact, its syntax is particularly rigid). I don't care whether the creator called it FP or not. It doesn't really behave like one any more than any other imperative language does.

  • I've been using it since Office 2003.
  • Would surely require MSJavascript combined with MSHtml5?
    Please try to see this as not a troll but a concerned citizen?
  • by Billly Gates ( 198444 ) on Sunday August 07, 2011 @04:59AM (#37013060) Journal

    I highly doubt Microsoft would get rid of VBA. It is the evil and glue that keeps customers locked in and gives PHB's who hate I.T. woodys who want to develop things quick and dirty in Excel rather than a real IDE.

    Windows 8 has a problem with MS Office. If you notice closely in those video's the pretty tiled Metro UI loads but the demonstrators have to open the Windows 7 gui to actually open Excel.

    So MS wants Office 15 to have a tile UI which needs HTML 5 and Javascript. I could be wrong, but I did find that pecular and in the demo videos and wondered if it was intentional that Corporate America would prefer the old GUI or if MS did not update the GUI code for Office yet.

"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell

Working...