|
This might be news, but CodeProject has more .NET related articles
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eddy Vluggen wrote: This might be news, but CodeProject has more .NET related articles
Well now it's Code Project: For those who code.
But when I joined the community back in 2005 it was Code Project: Your Visual Studio and .NET home page.
So yeah maybe it roars like a lion now, but nonetheless still a kitty inside.
|
|
|
|
|
Eytukan wrote: Having thorough expertise over non-blocking I/O, IOCP, MS should have done it first, Before someone else could do a thing called "Node.js".
...so, real programming languages already do "non-blocking IO", through this fun concept called "asynchrnous" or "parallel" programming. It's not new, it's been around a long time, and IIS has been leveraging it for well over a decade. You're also confusing a runtime with a software module, which makes me wonder how anyone on this site (outside of QA) can be so uniformed about basic computer operation.
The reason Node needs to advertise this capability is that JavaScript does not normally support non-blocking IO. That's because JavaScript was never intended to do the things that Node allow it to. Please think about that for maybe a minute before your uninformed, tiresome, and inevitable anti-MS response.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
You have missed so many points just with a single reply?
1. First - I'm not anti-MS. I said I'm FOR Microsoft to do things better.
Nathan Minier wrote: ..so, real programming languages already do "non-blocking IO", through this fun concept called "asynchrnous" or "parallel" programming. It's not new,
You just repeated my statement, did you actually read my original post?
Nathan Minier wrote: You're also confusing a runtime with a software module, which makes me wonder how anyone on this site (outside of QA) can be so uniformed about basic computer operation.
If I am, with computer operations, you with manners ? this is rude, when I'm not claiming here to be an computer expert.
I'm merely trying to understand things. That's why I'm here talking people with good manners. Who could explain things.
IIS is a server module, doing various things. Yes I can understand, never disagreed.
Node - just because it's Javascript. You want to call this just a "run-time"?
My only question was, Why MS could not think of dedicated, light weight offering, that can completely open up the world for micro-services pattern. (Don't say micro-services has been there before they are called so). Every technology has been there in every era but on a dim light, many times not even seeing the light of day, not doing anything significant. Mainly not reaching to the public usability.
Micro-services, mainly after Node took over, YES, it's changing the landscape of a Web-server "module" & distributed computing.
When Microsoft had all the technology and equipped with good server experience, they should have thought about a Node like "Run-time" or Light-weight Server "Module" - (Whatever you wish to call).
Nathan Minier wrote: Please think about that for maybe a minute before your uninformed, tiresome, and inevitable anti-MS response.
Well, thanks for your advice sir! , but request you to read the messages clear, before trying to post rude replies.
Full Reset
modified 20-Dec-18 7:07am.
|
|
|
|
|
Eytukan wrote: Why MS could not think of dedicated, light weight offering, that can completely open up the world for micro-services patter They did. Have you looked into the OWIN stack yet? This is something that Microsoft invested very heavily in with .NET Core. Check out the Kestrel web server[^].
This space for rent
|
|
|
|
|
Wow, thanks for the pointer, Pete.
I've been getting to see this name "Kestral", but was not getting a chance to look at it. This feels great. I've spent enough time learning Microsoft stack, still not an expert. But it's a tiresome thing for me to learn anything non-microsoft. When I get to see something so "great" & that's not Microsoft, I do whine. Because it pushes me to cross the boundary again. I was just getting comfortable with Asp.net Web API2, there comes a landslide of stuff falling on my head to start looking into Node, microservices and completely out of Microsoft. It's just a pain for me to set up a new environment and start learning things and deal with teams to do it.
If there's a way to achieve the same objective with Microsoft, that's awesome, I'd first try it out. thanks for the reply.
Full Reset
|
|
|
|
|
Eytukan wrote: If I am, with computer operations, you with manners ? this is rude, when I'm not claiming here to be an computer expert.
You belittle the work of thousands of engineers based on a completely false premise and a lack of understanding, and I'm rude?
Eytukan wrote: Node - just because it's Javascript. You want to call this just a "run-time"?
It is a runtime. You don't know how interpreted languages work? No? Then why are you even trying to argue the point?
Eytukan wrote: Micro-services, mainly after Node took over, YES, it's changing the landscape of a Web-server "module" & distributed computing.
Microservices and SoA pre-date Node by quite a bit. What Node does is lower the barrier to entry, but that does not make it more performant nor does it represent a shift in the zeitgeist.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
Nathan Minier wrote: It is a runtime. You don't know how interpreted languages work? No? Then why are you even trying to argue the point?
Why do we think low of a "run-time" ? I truly don't get this.
Just because a 'language' is interpreted, you want to look down on it?
Or just because it's ending with ".js" (This is just for you to laugh )
Okay, so my view - I really don't care if a language is interpreted, compiled, or HOT-interpreted, JIT, and there are even more of them with lots of combinations.
Does it really matter?
The problem is, you are focusing on the "js" part of Node. I'm looking at the "npm" part of it.
You should definitely try giving a look at it. It's a truly evolved world sorting out so many problems. In that aspect, I would say, Node & it's eco system is much more bigger than your "big software module - IIS".
Please note - I'm not saying IIS should have package manager. IIS might be good at what it's doing.
My point here is , Node is not just a simple 'run-time' like the JS on browser.
Node seems to combine programming, Package Management + Serving all under the same box. So I feel it definitely deserves a better treatment.
Full Reset
modified 27-Dec-18 6:16am.
|
|
|
|
|
If you're programming for IIS now, chances are high that you are using .NET. If you are, you will probably end up using Nuget, the package manager for .NET.
This space for rent
|
|
|
|
|
Yup, Thanks Pete. This is what I'm used to.
With Node, The idea of Coding, Package-Management, Hosting (And even API-gateway mgmt) all fitting into a single boundary felt totally new. Getting to learn more about the internals now.
Full Reset
|
|
|
|
|
Eytukan wrote: Why do we think low of a "run-time" ? I truly don't get this.
Dude, half the code I write is JS; most of the rest is C#. Almost everything I write utilizes a runtime, and so I'm not bad-mouthing it. I do, however, understand that my code is not as efficient, performant, or generally capable as something written with direct memory access and low-level structural support. That's the trade-off that I make to quickly write and deploy code.
What I won't do is badmouth systems that do it better because their developers have the time or skill set to do better by using low-level code. That's just arrogant and preposterous.
Eytukan wrote: My point here is , Node is not just a simple 'run-time' like the JS on browser.
Yeah dude, that's exactly what it is. At it's core is Google V8, the runtime for the Chromium-family of browsers.
Eytukan wrote: My point here is , Node is not just a simple 'run-time' like the JS on browser.
No, the point in your OP was to badmouth Microsoft and IIS without understanding the very basics of how the software in question operates, and every post makes it worse. Stop digging.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
You are very sure about what I have conveyed in my OP? Every post of yours shows me, you never got it, at all.
All the while I've been simply asking, is IIS really dumb as portrayed in tech-media? And does Node.js really worth the praise.
Nathan Minier wrote: nderstand that my code is not as efficient, performant, or generally capable as something written with direct memory access and low-level structural support.
"Direct Memory Access" You are doing this with your C# code?
Full Reset
|
|
|
|
|
Direct memory access is trivial in C#.
This space for rent
|
|
|
|
|
Thanks Pete. But on what context this is said ?
Is this about accessing unsafe* memory? Can this be really called "Direct Memory Access"? I'm not sure.
The only DMA I've heard of.. [^]
Or it could possibly mean accessing cross-process memory, like in Kernel Mode programming.
Full Reset
|
|
|
|
|
Nathan Minier wrote: What I won't do is badmouth systems that do it better because their developers have the time or skill set to do better by using low-level code. That's just arrogant and preposterous.
They certainly 'claim' that it is better. Lots of people 'claim' they are doing it well. Every company I have ever worked at 'claimed' that their developers were above average. I have been in and heard of a large number of weird and odd interview processes that 'claim' will lead to better hires.
In my experience though developers have a very hard time even measuring performance of their own code. And that is something that can be objectively measured. Sometimes.
Kudos to the ones that manage to get it right. But I am certain that it more due to luck than actual thought. And most definitely due to building something on the ashes of the prior failures.
|
|
|
|
|
Nathan Minier wrote: You belittle the work of thousands of engineers based on a completely false premise and a lack of understanding, and I'm rude?
I did not belittle them. I wished them to do better.
If they were doing everything so brilliant & clear, why should they embrace Linux & open stack now?
They missed the train. They are just waking up and catching up.
I don't see anything wrong in it.
Been working with MS tools, frameworks, even with their teams directly. I do like them all.
I wish them to stay ahead.
Full Reset
|
|
|
|
|
Eytukan wrote: Micro-services, mainly after Node took over, YES, it's changing the landscape of a Web-server "module" & distributed computing.
Where "it" is what exactly? Micro-services? Micro-services are a really, really good way to end up in a world of hurt down the road. Not sure if most developers realize that but I have seen bad implementations of that and I am hopeful that others recognize that the required architecture (not technology) required to get it right slow them down or stop them before they attempt it.
|
|
|
|
|
I was actually adding this point in my previous reply. But I felt, I shouldnt speak more about a tech that I haven't worked on in detail. I'm just starting to use Node/Microservices. But there's precisely the problems popping up, making us think about how we need to share data across instances, how to sync them in real time & all that. I also do see, for every problem, there's a way and teams are getting to go past it.
Micro-services , for sure is over-marketed. But it definitely has a considerable goodness too.
Full Reset
|
|
|
|
|
Just noting that I didn't see anything in your response about how the architecture is being handled.
If a company does in fact have sufficient traffic or at least a reasonable (actual) expectation that they will have it in the future then if they fail at the architecture for the microservices then they will end up with serious problems.
The architecture must start with a very solid and detailed understanding of what the actual (not hypothetical) load of the business will be with real (again not hypothetical) load dynamics will be.
If that doesn't happen then 5 years down the road what the company ends up with is what started as an amusement for the developers (no business value) and now a maintenance problem on top of all the other maintenance problems that usually accumulate with legacy code.
|
|
|
|
|
Nathan Minier wrote: You're also confusing a runtime with a software module, which makes me wonder how anyone on this site (outside of QA) can be so uniformed about basic computer operation.
Perhaps because some of us actually understand how complex the industry has actually gotten.
Someone that has worked in nodejs for years focusing on human factors engineering is unlikely to need to know in detail that nodejs actually does use threads much less how it does that. But I suspect that those that are creating the next version should have a strong knowledge of that but that doesn't mean that they do.
I worked in an office with probably 20 developers and I was the only one that understood bit manipulation. There was one other person that recognized what I was doing but could not explain what I was doing. That didn't make them stupid people it just meant that they had different areas of expertise than what I did.
I worked in one group and being young and inexperienced I was dismissive of another developers programming skills. But once every three months that person, and only that person, would go before a board of people I had never even met to justify what our group did. And every month they allowed us to continue. And the result, which I only learned latter, of failing to do that would be that the group would be disbanded and the members of the group would be required to find another position in the company within two weeks or they would be let go.
Now who was really more important to my actual job, me who I thought I could program or the guy that made sure I actually had a job that I could program at?
|
|
|
|
|
Yeah dude, and I'm on board with that. I'm not on board with crapping on decent software just because you don't understand it.
"Never attribute to malice that which can be explained by stupidity."
- Hanlon's Razor
|
|
|
|
|
You know, there's always a fear to talk about things. Because people put you down instantly.
This whole thread, I've been saying I'm learning things. I'm just conveying what I read & what is there in my mind.
You CANNOT have an idea about a technology/concept, 100% perfect on your mind. Just like how Windows Disk-defragmentation shows you the perfect-blue blocks, all sorted out. It's impossible. Missing blocks-inevitable. You sort this out as and when you get to work on it more, read it more & mainly discuss it more.
Full Reset
|
|
|
|
|
Eddy Vluggen wrote: With most of the world running Windows,
Desktop. Far as I can find server side it is about even.
|
|
|
|
|
Sure, there's a large part running 'nix. Still, aything that is not a hosting-firm will look very closely at the Microsoft-stack, where .NET is thightly integerated with the other products - not just the server products like Exchange and SQL Server, but also Office.
Yes, pointing out the obvious.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
Eytukan wrote: What's making Node.js claim this "non-blocking" tag so much?
Perhaps merely marketing or to make those doing it feel special.
But one unintentional (or perhaps intentional - I don't know) is that it emphasizes that you need to insure that your own code isn't written in a way that blocks. Because you can write code that basically blocks everything. So maybe it just acts as a reminder to make sure people figure out the correct way to do it.
Eytukan wrote: IIS is really a dumb, 1-to-1 thread spawning server for every connected client?
Even if so that isn't generally a concern. Everyone likes to think they are writing the next facebook but most are not. And at the point where a company gets big enough that connection concerns are a problem they, probably have so many other architecture problems already that it becomes a non-issue.
|
|
|
|
|