Live data from Hacker News

CoreCLR is now open source

blogs.msdn.com

321–330 of 347 posts

Re: CoreCLR is now open source

#321

Earlier quoted context omitted.

They are divorced from the core os. Windows is a microkernel and the drivers run in userland since vista. It's a completely different matters.

The NT kernel is not a microkernel. It all runs in ring 0, including device drivers: I/O, graphics, HID, file systems, etc. It's modular, but there is no protection between the various parts, which all run in a single kernel process, with a single address space. The NT kernel is sometimes called a _hybrid_ microkernel, but this refers only to the fact that the internal modules are logically decoupled (with message pa…

NT is a hybrid kernel for sure. In a monolithic kernel everything would be running in ring 0.

NT is a hybrid kernel because some drivers run in ring 0, others (typically peripheral drivers) run outside ring 0. Some drivers (specifically graphics card drivers) run split in kernel mode and user mode: A small part runs in kernel mode, while the complex part runs in user mode.

While you are correct that the graphics driver was moved to kernel mode for Windows 2000/XP, it was actually moved half-way back with Vista. This was in fact the reason why graphics drivers sucked in the beginning for Vista: MS only gave the vendors 4 months since the last change to the graphics driver model before Vista was released.

Re: CoreCLR is now open source

#322
So I am not sure what this means to the end user but as another reader pointed out, Google and other companies in future could use .Net/C# as part of their mobile architecture. You could host .net sites on OSX or Linux, test them on a Mac. What else?

Re: CoreCLR is now open source

#323
post #7

Quick link to what I think is the most interesting class in the CLR: https://github.com/dotnet/coreclr/blob/master/src/mscorlib/s...

And for comparison:

http://grepcode.com/file/repository.grepcode.com/java/root/j...

It's sort of surprising to me how much huger the .NET version is, in terms of code. Virtually all the lines in the Java version are API docs. The .NET version doesn't seem to have them (they must be elsewhere?) but it does have a lot more code and that code is much lower level.

Not sure what that means, if anything, but it's interesting.

Re: CoreCLR is now open source

#324
post #63

Earlier quoted context omitted.

As a practical matter, I doubt that they can. There's probably quite a lot of third-party code intertwined with Windows itself (especially in the device drivers that ship with it) that's subject to strict redistribution and publication restrictions.

Device drivers can be divorced from the core os.

Perhaps so, but an OS lacking device drivers is not particularly useful.

Re: CoreCLR is now open source

#325
post #3

Next step, WinForms

I'm still waiting for a good cross-platform UI toolkit with good tools and ecosystems around it without resorting to C++ (Qt) or JS approach (atom/nw). C++ tooling is behind its time (CMake, no dependency management) and JS approach seems kludgy right now. Java was pretty close (JDK .. or NetBeans, support packaging to Windows or Mac AppStore) but the UI component for OSX is not pleasing and would be nice if it can p…

You should look at JavaFX. I just finished an app based on it. It's the official replacement for Swing and is quite WPF like in nature (scene graph oriented, etc).

Although there are skins that can make it look native on each platform, I didn't bother with this for my app. Trying to match native on a cross platform app is a fools errand. A few months after you ship your app, the OS developers will decide to reskin everything and anything not using their native toolkit will look out of place. So my app takes its inspiration from Twitter Bootstrap and just doesn't even try to look native. You can skin JavaFX with CSS so it's quite easy to match the look, at least in some ways. Nobody has complained and quite a few people said the app looks great. I would definitely do this again for my future apps. Pick a nice design that isn't native to any platform in particular, and people won't hate you for it.

BTW Java now comes with a packager tool that makes self contained native installers which don't depend on the user having Java installed. Deployment is a lot more practical these days.

Re: CoreCLR is now open source

#326
post #213

Earlier quoted context omitted.

When it comes to propaganda from large and powerful entities, usually it help to reverse the meaning to really understand the message. "Developers,developers,developer" = Fuck developers,need more profits next quarter. "We brought peace and democracy to country " = We seriously fucked it up for years to come, and installed a brutal puppet dictator. "We are not evil like those other mean companies. We will do good in…

The "new" Microsoft is supposed to be "cloud first" and "mobile first". Yet Azure has among the most lowest uptimes and Microsoft is dead-last in mobile. So you may be on to something there!

It's a statement of where they want to be, rather than where they are.

Re: CoreCLR is now open source

#327

Earlier quoted context omitted.

The NT kernel is not a microkernel. It all runs in ring 0, including device drivers: I/O, graphics, HID, file systems, etc. It's modular, but there is no protection between the various parts, which all run in a single kernel process, with a single address space. The NT kernel is sometimes called a _hybrid_ microkernel, but this refers only to the fact that the internal modules are logically decoupled (with message pa…

NT is a hybrid kernel for sure. In a monolithic kernel everything would be running in ring 0. NT is a hybrid kernel because some drivers run in ring 0, others (typically peripheral drivers) run outside ring 0. Some drivers (specifically graphics card drivers) run split in kernel mode and user mode: A small part runs in kernel mode, while the complex part runs in user mode. While you are correct that the graphics driv…

It's still running pretty much everything in ring 0 that a traditional monolithic kernel would. All the "complex parts" run in kernel mode.

The new WDDM driver model runs a user-mode driver, but it's still backed by a set of kernel-mode drivers [1], including the "display miniport" driver.

As kernels go, it's pretty monolithic. What makes it more like a microkernel is that many of the internal APIs use a message-passing model rather than direct calls.

[1] https://msdn.microsoft.com/en-us/library/windows/hardware/ff...

Re: CoreCLR is now open source

#328

I wonder how this strategy is going to affect the bottom line of Microsoft. People writing with CLR languages are deploying web apps mainly (or only) to Windows now. They're going to have an option to deploy to Linux soon. This means less revenues from OS and DB licenses, so it looks bad. Do they expect a large number of people leaving Java, Node, Python, Ruby and picking up C# because of the Linux deploys? Those peo…

Is Microsoft actually putting resources on a Mono replacement for Linux and Mac? My understanding is it's still Mono for non-Windows which has had very limited success. Xamarin is mostly concerned with mobile.

Re: CoreCLR is now open source

#329
post #309

Earlier quoted context omitted.

When your debugging code, being able to see all of the code in the stack trace is valuable alone.

Doesn't VS come with like 6GB of symbols? So you get a nice stack trace wherever in Windows libraries you crash.

Symbols that just give you function names are very different from function names and the source inside them!

Re: CoreCLR is now open source

#330
post #299

Earlier quoted context omitted.

> Proprietary software is immoral It's one thing to laud the common benefits of FOSS, or the ethical gains of charity. These things resonate with me. But I fundamentally disagree with - and as a proprietary software developer, am alienated by - your statement. Is that actually what you mean? My day job - making games - is immoral? A daily dose of evil? If so, this is the kind of attitude that puts me off contributing…

Maybe a car analogy will help: If you are selling cars with the hoods welded shut and all systems permeated with DRM, are you making the world better, because, hey, cars are good? Or are you in effect making your customers helpless, teaching them that they are not, and should not even want to be, in control of their own cars?

> If you are selling cars with the hoods welded shut and all systems permeated with DRM, are you making the world better, because, hey, cars are good?

My cellphone might as well be welded shut - because of system-on-a-chip design. I can't replace the GPU, the CPU, the memory, or any number of things I've repeatedly replaced on my desktops with my current lack of soldering skills or equipment. Is SOC design also immoral? Even as it enables access to the internet to an ever growing number of people, something some have been calling a human right?

But let us return to your analogy instead of playing analogy ping pong.

> If you are selling cars with the hoods welded shut and all systems permeated with DRM

Assuming the price remains around the same, I'd simply not buy that car because it's stupidly designed, and going to be a pain to maintain. I'd also not buy a car where I had to replace the engine block to replace the front headlights, no matter what percentage of it's software is GPLed, or how many of it's parts have 3D printer schematics available for me to replace them in my own basement. Neither choice is based on ethics.

I also think it's good we have government laws forcing car companies to make their maintenance documentation etc. available to 3rd party mechanics. Cars are expensive enough to maintain that society is well served by competition. And while proprietary systems aren't inherently immoral, unexpected predatory pricing based on vendor lock-in certainly can be a problem. I've seen the short end of that stick enough times to know it sucks. I think it's worth limiting what a car company can do to help avoid the circumstances that can even lead to that, even if some of the things we're prohibiting them from doing were perfectly ethical for them to do on their own.

But you'll be hard pressed to convince me it's a problem for your $3 copy of Canabalt. It doesn't need an oil change. With several games, I complain if 3rd parties figure out how it works - when multiplayer suddenly becomes plagued with aimhacks, wallhacks, maphacks, and other unfair competition.

Post reply on HN