Pibbling, Auncle, Zizi, Entle
"Corporations are people, my friend," was a warning, not a crow of victory.
@masukomi
If it's an app for end users, then an installer that took care of everything. I don't care what's inside.
If you're describing a server toolset sort of thing, then a bundled docker container.
There are many different sides to the "Dave Debate"
Should people named Dave exist? Should they have rights? Are they people at all?
I'm not anti-Dave, in fact I am a great supporter of Daves. I just think we need to ask some questions. But if you ask these questions people get so mad.
Shouldn't we at least have a sober reasonable discussion? What's wrong with that?
It seems Microsoft is getting really serious about Rust which is interesting and important for those of us who write C#. Microsoft supporting Rust in Visual Studio as a first class, vendor supported language could be the start of something big.
The emergence of C as the dominant ALGOL-derived language was based more on the fact that there was a free compiler and it could be used as a substitute for machine code than the language itself. As a graduate student, I was using timesharing machines costing $250K and up and the compilers cost $5K/yr. and up. So we used what was available (FORTRAN). Every Unix machine came with a C compiler which was necessary for compiling the kernel, so C won the language wars.
Of course, languages like Pascal might have had an easier time catching on if they hadn't featured moronic typing systems that made them impossible to use. In ANSI Pascal, an array of 3 elements is a completely different and incompatible type to one with 4 and it is impossible to write code that does useful work in standard Pascal as a result.
Ever since C became established as the dominant declarative programing language, the big question has been what will replace it. Back in the 80s, the correct choice would have been Objective C but Bell labs was still powerful enough to drag the world down into the C++ morass.
The big mistake in C++ was that it was 100% backwards compatible with C. The smaller mistake was supporting dual inheritance which sounds like such a great feature unless you have spent time writing compiler backends in which case you quickly realize which it is not.
Java could have been the future but Sun put paid to that with the Microsoft lawsuit. The whole industry was all set to make Java the standard and then Sun said it was a walled garden and they controlled it completely. I have never understood why so many people who imagine themselves to be champions of open software took Sun's side. What Sun actually did was worse than what Microsoft was accused of planning to.
While Java is considered a successor to C, it is really the successor in interest to the Pascal approach of a language with strong static type checking with run time checks.
People tend to think of C# as being Microsoft's reaction to Java but its real origins are as an attempt to refactor Visual Basic in a C like syntax and jettison features that were holdovers from FORTRAN. The two languages are so closely linked that the Visual CSharp compiler was the same executable as the Visual Basic compiler for a decade.
C# is a language designed for writing applications. It deliberately insulates the programmer from the details of the implementation machine. It has mechanisms such as garbage collection and lazy evaluation built in at a really low level. At the other end, any platform that can support the C# runtime is sufficient to support embedded applications. Now that the Linux kernel is 30 million lines of code, it is clearly more than is needed for a toaster.
The cost of the C# approach is that the things that make it the right choice for new code make it the wrong approach for refactoring legacy C/C++ code. Rust fits that need. It is close enough to allow automatic refactoring but it has a set of sufficiently formal semantics that allow it to be used as a target language for proof systems.
Visual Studio is an incredibly powerful and productive programming environment which allows me to do things like rename a method or a property occurring hundreds of times in 50,000 lines of code. It is also extensible allowing domain specific languages etc. to be supported. There are several third party Rust modes for Visual Studio already. But the existence of a third party plug in is nowhere near as important as support for Rust in the core product itself. Once that happens, we get into a dialectic in which the Microsoft Rust team starts interacting with the Rust community externally and the C# team internally. And that will be good for both the future of Rust and for C#.