I'd be more inclined to believe that if Mark Russinovich said so, but he was specifically talking about open sourcing Windows. :) Also Microsoft seems to have a recent history of open sourcing big deal things. Not much going on for opening restaurants.
It's not weird when you think about it. Monoculture is bad for culture.
But a rendering engine is utilitarian. With utilitarian things like science, it's operates best in the open, and when it is possible to build on the work of previous engineers and scientists and not to reinvent things that were already discovered or implemented.
Devs would have one target. A lot of complexity comes from having to support many different engines. Web development becomes easier. You can use a lot more web tech. If instead of writing code that tries to do roughly the same thing what if Google and Microsoft banded together there would be a lot more time for technical advancement.
I'll tell you the weird thing though, the fact that I've yet to find anyone in Microsoft or out of Microsoft that can give any sort of explanation on why the hell they are even making Spartan.
I don't really have much to add to this. :D
You mean dual culture, Gecko and Blink!
But seriously what is the purpose of Spartan? Hey we are going to invest all these resources rewriting a browser so the world doesn't have a browser monoculture is not a legit business reason. Is it intended to beat Chrome on something? What?
I literally got started in Python by reading a "Learn Python in 15 minutes" tutorial and like immediately after managed to write useful code at an arguably faster rate then I ever did in Java or C#. There was obviously some PEP violations at first, but it wasn't even awful code. I've been coding Python professionally for data science work for 2 years now.
Going from nothing to knowing Python is harder of course (Python is the learning language in a lot of CS schools now though), but from like knowing any other language like C# or whatever to being productive in Python I really believe is a lunch break kind of effort. It's definitely the most approachable language I've ever used professionally, and I've used a lot...
I have seen Python used by scientists in lifesciences and usually it is to parse thousands of research text files generated by various third party equipment, it is easy to use but none of the applications I have written in the last decade could have been written in Python alone
I doubt that. Python has great support for thick GUIs, web development, cloud/big data analytics, protobuf services, whatever. There is little you can't do with it. Literally never have I've said, man I wish I had a different language to implement X in. I suppose the one area is like device drivers, but I don't work in that space. It can be made literally as fast as C too with Cython.
What really Python is about is to be uniquely suited for data science, and scientific work in general, to be fair, alongside R. Data scientists formally trained as computer scientists tend to prefer Python, while data scientist formally trained as statisticians tend to prefer R, I've noticed. MATLAB is pretty legacy, I mean people still use it, but R and Python is what new systems tend to be built in. MATLAB is actually extremely expensive (esp. without the academic discount), and these free languages actually these days have surpassed MATLAB in capabilities and especially performance anyway. In the case of Python, it's also a general purpose language, so you can webify your data analytics without switching languages, you have some of the most power web frameworks available in Python (eg. Django).
I am considering a change of career as .NET development is no longer about computer science, if you don't work at Apple, Google, or Microsoft the pay is very poor when you consider the years of knowledge and coding practice it takes to build multi-million pound software products. A lot of businesses are paying and treating developers very poorly when they are the ones developing the systems that are generating all the revenue.
I would look into data science if you are unsatisfied. It's a field sits in the frontier of computer science, yet, you don't have to be an academic to work in it (although to be fair, having a Ph.D. is helpful even in industry). It's hugely in demand right now, few people posses the skills necessary, and thus the salary for a data scientist can be obnoxiously high. Of course the gravy train will end, but even as the field starts to reach equilibrium, I don't see data science ever stagnating until the time we flat out invent the singularity.
I would say that many of the same things would be true for a developer who was not up on any number of systems, say Java, it has a lot of different libraries and stuff, or c++ which Linux / UNIX libs to use for a GUI app x11 or text based, which x kits and so on....
Yeah well I feel like that's changing, at least from my point of view. The whole data science movement is really changing things.
In that kind of role, employers care a lot more about your understanding of immutable concepts in statistics and how good you apply the scientific method then your $vendor_product experience.
I'm sure it will change as data science becomes corporatized and segmented like the computer industry writ large. But it's a breath of fresh air right now.
I'd argue that languages like Python have gotten so popular is because they are so simple. Literally anyone here can learn all there is to know about Python in a language level in maybe 30 minutes. It's really that trivially designed. Go took a similar philosophy too. The idea is the language should be dead simple to use, and you should know how to use every feature of the language (including the std library) by heart after awhile. That's why Python or even R [it's technically a Microsoft language now!] so hugely popular with NON-programmers, like scientists and statisticians who just want to get their real work done. What I'm saying is sometimes less is more.
I haven't done pro .NET work for awhile but if I had to I wouldn't even know where to start anymore. Should I use C#? F#? What of the multiple huge GUI libraries should I use? Is WCF still used and why does it have so many random extensions? Then I have to learn how to use this whole huge IDE that changes every year. There is so much to learn you pretty much have to be a ".NET Developer". I can't just stay a "Computer Scientist".
@Bass: One language would be great. But you inevitably come to a point in time where backwards compatibility and forward thinking are in conflict.
I'd love to see a few changes in C# to fix what some might call mistakes of the past. C# could benefit if non-nullable reference types were the default. But that change in a future version of C# would certainly break older programs.
The beauty of the CLI is that languages can be built to move past those issues. F# is an example. The alternative, allowing their only language to suffer from stagnation due to compat, would result in the competition fixing the problem for them.
The stagnation can happen in the library level too and CLI doesn't address that all. I'd argue that a whole lot of random cruft has already accreted in .NET. It's got one of the most massive standard libraries I've seen in any similar system. Even Java isn't as bad and it's been around a lot longer.
Another thing is CLI encourages a very specific kind of object model. Like I'm not sure how anyone could implement something like Go or Rust as a CLI language, since their data model is so fundamentally different. Having this CLI forces Microsoft to think in terms of it instead of in terms of all possibilities, indeed allowing their competition to fix their problem for them.
Wow that's a fairly disappointing score. Is it possible for Microsoft to try and be ahead of the competition on things like this for once? They always seem to be basis for the least common denominator in web technologies, even if you are only writing against the latest version of the browser.
Does Spartan do anything fundamentally different from IE or is it more like "IE's codebase was crap, we had to rewrite it" thing?