

Microsoft Announces R Tools For Visual Studio (technet.com) 105
theodp writes: A year after its acquisition of Revolution Analytics, Microsoft announced a slew of R-related product offerings, and noted that Revolution R Open is giving up her maiden name and will henceforth be known as Microsoft R Open. Tucked away in the announcement was the news that R is coming to Visual Studio. Microsoft has released a teaser video for R Tools for Visual Studio (RTVS) and is taking sign-ups for early access.
Holy Shit! (Score:3, Interesting)
Re: (Score:3, Insightful)
Re:Holy Shit! (Score:5, Insightful)
I've got no problem with that. These companies are in business to make money. They aren't charities, and I wouldn't expect them to give away the software that provides most of their income. If they did, they'd go out of business.
But consider what you said. Just because it costs them nothing to open source something, and there's no benefit to keeping it closed, that still isn't a reason to open source it. They could just as easily keep it closed anyway. And in the old Microsoft, which saw open source as evil and did everything they could to discredit it, that's exactly what they would have done. Their new attitude seems to be, "If it doesn't hurt us to open source something, then sure, let's go ahead and do it." That's a big change.
Re:Holy Shit! (Score:5, Insightful)
Well, it's because they have a new boss on top. The first boss said sharing was bad and you're an evil person if you did (Bill's famous letter to hobbyists in the 70s). The second one basically kept "Microsoft is dominant and we will rule" while the current one is more humble and akin to "OK, we have PCs, but PCs are not the be-all-end-all computing device anymore, and while we make a lot of money here, it's a mature product and it won't last". It's why they're putting Office everywhere - even on non-Windows things - you can have it on your smartphone, your tablet, etc. And while it's not necessarily great for producing content, if you need to update a slide on the way to the customer, well, that's a sale of Office365 subscriptions, because they can do it in under a minute, rather than try to dig out their laptop, start it up, etc.
If anything, the new Microsoft realizes its no longer the central part of everyone's lives - you don't need a PC for everyone in the household (and likewise a Windows and Office license) - a lot, if not most, are perfectly happy to just use a smartphone and tablet, and maybe from time to time, use the shared PC.
So it's busy finding new ways to be a part, to make itself relevant again. Not a bad thing, really - if you were wedded to a Microsoft solution, it just means Microsoft is now offering more ways to stay Microsoft only. If you're not, well, maybe it will attract you into the fold.
Re: (Score:2)
The attitude can actually go even further on some teams. On mine, we approach it as, "this should be open source unless there's a damn good reason for it not to, and even then we should first see if we can fix that reason".
Why? We mainly do developer tools (including Python and R Tools for Visual Studio, just to bring this back on topic). In 2015, if you want respect from the developer community, you have to be open source, and in a real way (i.e. not just dumping the code as an incomprehensible tarball); a
Re: (Score:2)
The problem seems to be what Microsoft has lost along the way. Whilst it's great that Microsoft has moved towards openness it also seems to have been accompanied by more freedom for developers at Microsoft dicking around on pet projects rather than focusing on things that actually help their customers.
So for example, it's all well and good that they have R Tools for Visual Studio, but it's an absolute travesty that they have this, and yet no up to date managed framework for building modern Windows desktop a
Re: (Score:2)
Microsoft needs to calm the fuck down with all the hipster technologies it's desperate to support, because giving their devs free reign to work on whatever the fuck they want (or at least, that's how it appears) seems to mean that they no longer have anyone working on the things they need to work on.
I've heard this many times, but you need to understand one simple thing. Developers aren't just fungible resources to be arbitrarily assigned to projects. They have their own preferences, and the same guy that's doing X won't suddenly start doing Y if X is cut (I've seen people leave over such things before); and even if they do, there is a big difference in productivity between working on something you love, and working for a paycheck, no matter how big.
Then, of course, even ignoring personal interests, pe
Re: (Score:2)
"I've heard this many times, but you need to understand one simple thing. Developers aren't just fungible resources to be arbitrarily assigned to projects. They have their own preferences, and the same guy that's doing X won't suddenly start doing Y if X is cut (I've seen people leave over such things before); and even if they do, there is a big difference in productivity between working on something you love, and working for a paycheck, no matter how big."
I don't disagree with the general idea that it'd be
Re: (Score:2)
That aside though, does Microsoft really struggle to recruit these people? Is it really so hard to find people to sort out say WPF and keep it uptodate? With Microsoft's pay and benefits I can think of plenty of people that would more than happily do exactly that and wouldn't be competent enough to boot. Is Microsoft really looking to hire people like that? I believe most people would assume that Microsoft would be inundated with people with that sort of skillset, and so have simply never bothered to look to apply.
I can't speak specifically for WPF, not knowing that team closely. But there are two points. First, it does actually have a team (again!), and they are actually doing things. The real problem is that they have a lot of accumulated work from the period when it was neglected, and a lot of it is the rather unglamorous stuff like bug fixing, perf improvements, and supporting the more recent underlying tech (to remind, the existing renderer still uses D3D9, which becomes more of a problem as new drivers focus th
Re: (Score:2)
"I think that very long-term, the bet is still on the WinRT stuff, which should be more palatable now that these apps can actually run in a window rather than fullscreen, and sandbox restrictions have been significantly relaxed. Obviously, the prerequisite here is widespread adoption of Win10+, so it'll take quite a while longer."
Where does this leave Microsoft's own products like Visual Studio and Office etc.? These sorts of applications just don't seem to fit the RT format, and Microsoft's own reluctance
Re: (Score:2)
Where does this leave Microsoft's own products like Visual Studio and Office etc.? These sorts of applications just don't seem to fit the RT format, and Microsoft's own reluctance to move to them from a more classical desktop format seems to be an admittance in itself that if nothing else RT just isn't a format that is going to work for every desktop application. Maybe it's me that's at fault, but I just can't see how I can build our application decently to suit this "app" format that RT pushes - it's like switching Visual Studio to this "app" format, I just don't see it happening without crippling the product. In fact, Visual Studio hasn't of course even made the switch to ribbons and so presumably there must be at least some recognition at MS that not everything can be a tablet friendly app and that more classic development support is still going to be necessary for the foreseeable future? Unless we regress back to MFC, which does of course seem to be supported at least I don't see how WPF or at least something very much like it can ever go away.
Well, the boundaries of the "app format" have been vastly expanded in Win10 compared to the severely crippled sandbox that was there in Win8/8.1,and I'm hoping that it will continue to the point where something like VS actually can fit just fine. And if you look at the Win10 desktop today, WinRT apps actually feel much less "tablet-y" also - part of it is running windowed rather than fullscreen, but there are smaller changes in the same vein, too - e.g the shift away from all these hidden panels that you ha
Re: (Score:2)
Yes, it's not just about sandboxing with regards to Lua, there are a number of factors, performance is indeed a key issue - right now there's just far too much of a performance hit martialling between Lua's unmanaged responses and our managed caller (part of the performance issue is our fault, the legacy code base is atrocious in the way it passes stuff back and forth with no caching of the scripts either meaning a full parse for every call) but of course, as I say the other issue is that we want to support
Re: (Score:2)
Releasing software as open source isn't free. You need to verify that you're not releasing anything you got from a third party and are not allowed to release, you need to go through the code and comments and make sure they'd all be acceptable when read on prime time TV, and typically pretty things up.
Re: (Score:2)
To be fair, though, for Microsoft to be even considered in the same league as Google when it comes to taking open source seriously is a big change from even 5 years ago. So if your assessment is how you really feel about it, I think we (I am a developer at Microsoft, working on open source software) have made considerable progress.
Re: (Score:1)
I'm loving some of the stuff they're doing to their dev tools (everything apart of their "universal" or "metro" garbage). But their OS is very quickly turning into a huge turd with their mobile-first approach and that is quickly turning me to other platforms.
Managers Hate Niche Languages (Score:2, Insightful)
Many Visual Studio shops are also Microsoft only shops where open source is frowned upon and use of tools not included in the standard install is verboten. Microsoft is doing this to try and get tools into the hands of people who otherwise wouldn't be able to access them on closed corporate networks. However, even this isn't always effective since some managers are in the nasty habit of banning certain languages, features or other parts of an otherwise "standard" install that they don't like, probably becau
Re: (Score:1)
I can say from personal experience that some managers on proprietary software projects are deathly afraid of the GPL and consequently frown on open-source anything just in case some obscure component is GPL.
Re: (Score:2)
And I know from personal experience that some managers are deathly afraid of hippies. They frown on anything that could be construed as polite behavior, because it could lead to a slippery slope and in the end the company would be left with a bunch of lazy hippies and go out of business. Gosh darn Obama ruining everything!
Luckily, managers don't know enough about statistics to even figure out which charts are being produced from R. And it isn't used for applications, so even a product manager might never fi
Re: (Score:2)
, probably because they're worried that some new hire will write some mission critical program in "R" and that when he's gone in a year or two they will have to pay consultants huge amounts of money to maintain or re-write the app in a language that's easier to hire for.
I'm somewhat suspicious of 'programmers'' who find it a challenge to learn a new language. I know some programmers are afraid of it,but I've taken those kinds of programmers and trained them in strange languages they were afraid of.
It's more a matter of overcoming your fear, and digging in. If you work at it eight hours a day, a new language won't take you too long to learn.
Re:Managers Hate Niche Languages (Score:4, Insightful)
You mean you've never said "hey, I have a spare weekend, wonder if I can (or how long it will take) to learn $language well enough to implement $some_project in it?"
Some of us like hobbies to be challenging, thought provoking, and mentally stimulating....
Re: (Score:2)
"I'm somewhat suspicious of 'programmers'' who don't believe they can learn a new language."
Re: (Score:2)
I'm very suspicious of people who claim, without any shame at all, to be so narrow in their interests that their weekend hobbies are the exact same thing that they're doing at their day job all week.
If I got a job doing one of my hobbies full time... I'd switch my weekends to a different one. Duh.
There are lots of things that are challenging, thought provoking, and mentally stimulating. If a person can only find a small number of things, I question their ability to become mentally stimulated.
The reason for
Re:Managers Hate Niche Languages (Score:4, Informative)
"If you enjoy what you do, you'll never work a day in your life"
Re: (Score:2)
"If you enjoy what you do, you'll never work a day in your life"
Said nobody who had a shitty day and wished they weren't obliged to show up. If you don't have days like that, you take too many happy pills.
Re: (Score:2)
I've had those sorts of days. But after the age of about 21, the rare times it happened I simply quit the job. Life is too short, and I'm worth more than that.
The reason a lot of people keep doing it is because they misunderstand money, and they think being willing to be treated that way will reward them financially. But a little more arrogance might not only improve their lifestyle, it might improve their pay too.
Your willingness to associate "happy pills" with happiness suggests you have an irrational bel
Re: (Score:2)
As much as I love word games, they're just laugh lines and don't really add anything. Like in business books, they use your quote as the quote at the start of a chapter, but in the actual text they use the normal word meanings, because to actually discuss how to make it all work you have to go back to the real meanings of the words.
And in this case, it seems to assist mostly in missing the point.
If you enjoy your work, it is still unhealthy for the brain if you're doing the same thing on your off time. It i
Re: (Score:2)
There are lots of things that are challenging, thought provoking, and mentally stimulating. If a person can only find a small number of things, I question their ability to become mentally stimulated.
Unless your weekday job is a factory hand, and your weekend hobby is to move boxes around the living room most fields have ample opportunity to mentally stimulate people. In fact many are widely varying that the hobby and work are completely different despite being unrelated. I know software engineers who spend all week working on reports and specs, and barely any coding, then throw together hobby software on the weekend. I personally spend a lot of my electrical engineering degree doing reliability analysi
Re: (Score:2)
*woosh*
The thing is, you have a different opinion than me but you phrase it as if you're correcting me. That shows you didn't actually understand the perspective I was putting forth, and so your comment doesn't address it.
If they're called something different than what they actual do, then duh, my comment would cover them doing on the weekend the same thing they're doing during the week.
Did you consider that my statement was probably about the cases where my statement is true, and not about edge cases where
Re: (Score:2)
It depends a lot on the language. If you know Java, you can be expected to pick up C# in matter of days, but something like Python might get some more time to adjust to, for example. And going from Java to, say, Lisp or Haskell, is a serious mental challenge, and that Java knowledge may well hinder you more than it'll help.
R is actually kinda similar, and in some ways worse. It looks reassuringly familiar with its C-like syntax, and in many ways it will even behave the same if you write code in C style (tho
Re: (Score:2)
Re: (Score:2)
Well, in that sense it's not really just about languages, right?
As the old joke goes, to determine if someone is a good programmer or a bad programmer is to ask them if they can do something extremely complicated. A bad programmer will say that they can't do it. A good one will say that they can do it, they just don't know how yet.
Re: (Score:2)
Re: (Score:3)
R is not quite in the same boat. Yes, it's a niche language, but it's a niche language with a niche that's actually different from regular software development. It's used for stuff like statistical modeling, data science and machine learning. And in those areas, it is dominant.
Re: (Score:2)
Re:Wondering how long (Score:4, Funny)
Same amount of time it took Visual Studio to kill gcc.
Re: (Score:2)
Which is an especially ironic comparison in light of e.g. this [msdn.com].
Re: (Score:2)
That is the opposite of "irony," though.
R vs. Python vs. other (Score:2)
Re: (Score:2)
I don't know anything about R but if its specifically designed for statistical analysis then its probably better at it out the box than Python. Having said that I can guarantee you'll find far more candidates with Python skills than you will R.
Re: (Score:1)
'... you'll find far more candidates with Python skills than you will R.'
Perhaps; but you'll find more people who know statistics amongst the R crowd.
Re: (Score:3)
Re: (Score:2)
Re:R vs. Python vs. other (Score:5, Informative)
R is pretty much pure statistics. While it has a built-in interpreter to load data from csv files or user input or whatever and then run its functions against the data set, it really shines as a library to be used in other "real" programming languages where you have logic, loops, etc. available to you.
And since there are R interfaces for Python (http://rpy.sourceforge.net/) it isn't a "versus" situation.... what a bargain!
Comment removed (Score:5, Informative)
Re: (Score:1)
Re: (Score:2, Informative)
If you know both a Scripting language eg. Perl or even bash, and a spreadsheeting program, then R is almost unbelievably easy to learn, I was doing semi "advanced" stuff in less than a day, and I am not that bright.
The real problem will be understanding the specific statistics you are wilding, which can be a lot harder.
this is one of the nicer intro's I have found but tastes vary
http://www.statmethods.net/
Re: (Score:3)
In my opinion, if you're coming from a generic software development background, you will really prefer Python over R for pretty much anything that GP has listed. R is a very... quirky language, with an even quirkier standard library, and will quickly drive someone used to the familiarity and comfort of most mainstream languages nuts.
Comment removed (Score:5, Interesting)
Re:R vs. Python vs. other (Score:5, Informative)
MATLAB is amazing for general 'data science,' and is very widely used for certain tasks, such as image processing. It provides a huge array of already-implemented algorithms for computer vision, statistics, machine learning, and simulation. Many academic labs use it, and many students receive MATLAB training. On the other hand, MATLAB is proprietary and quite expensive. (It's semi-open source because most of it's functions are MATLAB scripts themselves). The language is very readable, except maybe the native array syntax, and comes with extremely good documentation, but it's clunky for general purpose programming. It has an OK IDE and one of the best debuggers in any language. The runtime is redistributable, so you *can* make portable applications, but again, it's a little clunky. The open-source GNU Octave and Scilab environments are also (mostly) code-compatible with MATLAB. All-in-all, it scores highly in all three aspects you mentioned, but it's very expensive.
Python is also very good, once numpy, scipy, matplotlib, pandas and ipython/jupyter packages are installed. Like MATLAB, Python is widely used in academia, and lots of students receive training. There are many function/algorithms already available, but somewhat less so than in MATLAB. For example, the statistics capabilities are similar, but MATLAB has more image processing functions. Plotting and visualization also haven't quite caught up to MATLAB yet. Python has the great advantage of being totally free and open-source, and there are a large number of IDEs and debuggers available. Python is also a great general purpose language for self-contained, portable applications that may grow out of data analysis code. The documentation can be lacking in some modules, but there's good free support online via e.g. stackoverflow. Python is readable and easy to learn. It scores about the same as MATLAB, weaker in some areas, stronger in others, and is completely free. There's active development of the analytics modules and going forward Python will probably become more popular for data science.
R is a bit of a special case. It has excellent statistics and machine learning capabilities, and there are a lot of extension packages available with specialized features, but it's really not as general as MATLAB or Python. I'm unaware of anyone using R for image processing, for example. As a language, it's very declarative, and the analyst doesn't need to understand statistics methods or their implementations in order to use them. That's great for beginners and convenient for experts, but can lead beginning/intermediate users astray if they don't appreciate the distinctions between significance and effect size, between different measures of significance/effect size, independence of variables, etc. Plots and visualizations in R tend to look nice when printed as PDF, but they're essentially non-interactive. R isn't general purpose at all, and personally I don't like its language conventions. I had the same experience with Mathematica, some people really like it and it's great for certain things, but I just can't stand the language. Back to R, I think the usefulness is great for statistics, less so for other tasks. Maintainability is OK - IMHO the language is not as intuitive as MATLAB or Python. My impression is that fewer people receive training with R, and it's a little less popular in general. It's the only one of these three languages I didn't see until grad school.
My first choice for any new data analysis task is Python. I think it has the brightest future, and it's available to everyone for free. I'll use MATLAB if one of its built-in functions will save me a ton of time, or if I need to prototype something very rapidly (I guess it's still my strongest language). R I only use if I absolutely need something from one of its third-party modules. Lately, I've been experimenting with Julia, but it's not close to mature enough for my academic projects, let alone commercial ones. Sometimes I use external visualization tools, like LLNL VisIt, if I need to make high-quality, interactive visualizations of very large data sets. Hope that helps, sorry for the wall of text.
Re: (Score:2)
The thing about R is that the standard way of looking at data is in sets, and generally the most concise commands are applied to whole sets. So the utility is largely in these implicit loops and grouping that are along statistical lines of interest. One line of R might be 20 lines of C or python, but one line of C or python might be 20 lines of R.
Because of that, it is mostly used on a command like REPL to generate one-off charts and diagrams after combining data sets by hand. It is also used as an embedded
Re:I R interested... (Score:4, Insightful)
Billions of dollars, and they can't think-up a name that sounds a bit less stupid?
'S' (for "Statistics" - originally with single quotes, those are usually being dropped now) is a programming language created in 1975-1976 at Bell Labs (which had a tradition of single letter named programming languages, such as C) on General Electrics GCOS mainframes and since 1979 on UNIX.
R is an implementation of 'S' (with lexical scoping semantics inspired by Scheme) since 1993.
Re: (Score:2)
'S' (for "Statistics" - originally with single quotes, those are usually being dropped now) is a programming language created in 1975-1976 at Bell Labs (which had a tradition of single letter named programming languages, such as C) on General Electrics GCOS mainframes and since 1979 on UNIX.
I guess back then they didn't worry about the name being easy to google, unlike today's new languages with unique and descriptive names such as "go".
Re: (Score:2)
The name 'R' was chosen partly as a play on the 'S' language that it emulates, and as a reference to the first letters of the first names of its first co-developers, Ross Ihaka and Robert Gentleman. [wikipedia.org]
Re: (Score:2)
Looks cool... but... yet another language tool? (Score:4, Insightful)
Most insightful comment in a long time (Score:2)
Re: (Score:2)
It is yet another language, yet another IDE
I don't think you can call Visual Studio, yet another IDE.
RStudio (Score:2)
So why has no one mentioned RStudio yet? We just seem to be talking R. This is pretty much a clone of RStudio so far, with *slightly* better code-completion. MS tools for open languages rarely give anything I can't get elsewhere, just the same stuff over their own tooling. I remember them pitching Python tools as if they invented the first IDE with code-completion for Python while I had been using tools with equivalent functionality for 10 years prior.
Re: (Score:3)
Full disclosure: I am a developer on both PTVS and RTVS (different but intersecting subsets of the same team work on both).
So why has no one mentioned RStudio yet? We just seem to be talking R. This is pretty much a clone of RStudio so far, with *slightly* better code-completion.
And a license that is not Affero GPL v3.
I think you will find that there are other differences that you may find interesting and useful beyond that, though. The video is a very brief overview, and doesn't show everything in detail, but some things are already visible. For example, notice how at 1:15 [youtu.be], the history brings up the entire multiline expression, that is editable as such (rather
Re: (Score:2)
OK then. I stand corrected. I really appreciate you taking the time. I was recalling from a conference/podcast from some years ago where an MS rep was speaking on how surprised all the Python folks were at a Python conference at the very idea of code-completion for Python. But it was unfair for me to talk of it as if it was an official pitch because I have seen no docs to that claims. That ticked me off then. Perhaps it was just one rep speaking off the cuff.
I will take a look at the tooling again. Back the
Re:Embrace (Score:4, Insightful)
Embrace, Extend Extinguish
'nuf said.
I read the Embrace, Extend and Extinguish [wikipedia.org] article on Wikipedia looking for examples of this actually happening, and it had to go back 15 years to find an example. I think you need to find new things to complain about.
Re: (Score:3)
Re: (Score:1)
They did not buy R though, it is an open source language that "Revolution Analytics" worked with, it would make more sense for them to try to tie this sort of function to exell, hence the suspicion
Re: (Score:2)
Well, there goes my "pirate R" joke.
Re: Embrace (Score:2)
No-one will use Excel instead of R for big data analysis. Excel maxes out at 1m rows and spreadsheets that size takes minutes to open while R takes seconds or less. All R users also use spreadsheets as a complementary tool and, in a commercial environment, that's always Excel.
Microsoft's vision for R appears to be completely different. They want to integrate R with their existing big data tools - Azure, SQL server, etc - to put their offering ahead of the likes of Amazon and Oracle.
Re: (Score:2)
R already embraced, extended and extinguished S.
There is nothing to be afraid of though, because R is already entrenched in serious use cases that are not otherwise reliant on MS. And MS doesn't have a monopoly anymore.
As an R user who uses emacs, I see this as a good thing. Demand for R will increase, and the problems it is good at solving are real PITAs using C or Java or Python or whatever.
Re: (Score:2)
Also, R is GPL.
Re: (Score:1)
"I read the Embrace, Extend and Extinguish article on Wikipedia looking for examples of this actually happening, and it had to go back 15 years to find an example."
An example is an example. On the other hand, you can get the concept while not up to the letter. For a recent "Embrace, Extend and Extinguish" strategy from Microsoft (only at a different level), look for what they tried to do to the Open Document format (and that's not 15 years ago).
Re: (Score:2)
That's not entirely the way I remember it. Microsoft didn't touch ODF, didn't extend or extinguish it. They tried to bypass the need for it.
There were calls for an open and standard format from many fronts and then ODF got a foothold. Microsoft then said but look we're open and standard and then quickly rushed OOXML through the standards committee, got rejected, made a minor amendment, and then rushed it through again and rigged the system to get it approved, all the while poorly supporting OOXML and barely
Re: (Score:3)
"That's not entirely the way I remember it. Microsoft didn't touch ODF, didn't extend or extinguish it. They tried to bypass the need for it."
You don't think Microsoft people are stupid, nor their marketing guys haven't thought on what made Microsoft a successful company and what "embrace, extend, extinguish" really means and how it works, right?
Embrace: Oh! you people really want "open standards"? Like ODF? I'll give you one.
Extend: Here you have an open standard just like you want them: docx. And I'll
Re: (Score:3)
In addition, they 'embraced' ODF itself by providing an ODF format option in MSOffice that didn't work with any other ODF implementation - by intentionally 'interpreting' vague aspects of the spec as 'anything but what's already been implenented in OpenOffice'. At the same time, releasing an MSOffice implementation of OOXML that differs from the published standard.
Not exactly playing nice. More like polluting an existing standard while waiting for their monopoly magic to entrench their new pseudo-standard
Re: (Score:2)
Yes this was more like it. Except they only embraced and attempted to extinguish. They missed the extend step which is critical as you need a critical mass and a critical number of users tied in to your system before you attempt the final step.
Re: (Score:2)
Historically embrace has been about specific compatibility with the product or protocol, not some standard business activity of creating a competitor to something that exists.
You're not remotely describing embrace extend extinguish as it has been applied to the Microsoft model, but you're describing standard business practices, which given when Microsoft came up with the strategy was very different.
But while we're debunking, giving people exactly what they want which a competitor has already got or is in th
Re: (Score:3)
Not 'nuf. You missed a 'omma and an 'eriod.