Node.js : Non-blocking thing
-
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
-
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
-
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
-
jschell wrote:
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.
Exactly, I was truly puzzled how can you "always" ensure non-blocking code. (edited* - supposed to mean CPU bound tasks. Not I/O bound) But even with this limitation, How Node.js managed to steal such a huge spot-light? If there's real substance to it, then I would really feel, Microsoft should have done it first , with all the expertise they already have in their hand. Instead of doing a follow-up product. I've seen Microsoft do this a lot of times. A particular trend gets popular, and they introduce their version of it. You'd call this Innovation? Windows Phone was a typical example. In recent days, we can really see they are getting closer to being cool :) The strength I see at the moment with Node is their NPM, but this is all evolved after the initial hype. And Microservices architecture really had a good take-off with Node.js. The basic nature of Node solution architecture feels micro. Before Node arrived, "Server" development was an epic. People talk about J2E, .Net N-tier server arch. It did feel like you have a decent learning curve to start doing something on the server. & Deployment , config on the IIS , had it's own learning curve. Honestly, I feel Node + NoSQL feel bare-bones stuff & anybody can just jump in and start doing things even for a decent requirement, it works. And you'd pay just for the hosting. That's the reason Node became Startups favorite.
jschell wrote:
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.
lol :)
Full Reset
Eytukan wrote:
Honestly, I feel Node + NoSQL feel bare-bones stuff & anybody can just jump in and start doing things even for a decent requirement,
Can you say 'Visual Basic'? Back in its day Visual Basic contain a vast (for then) array of built in functionality that if one needed to use some other technology one would need to find or more often buy/create to get. So relative programming newcomers could just "jump in" and create their own business application. People attempted to hoist that into the more complex enterprise spaces and keep it going as more business functionality emerged but it just didn't work. And Microsoft at point wasn't in the technology business. They were in the application and OS business. They probably only added technology to scare off/kill what they though as competition. (I don't denigrate that process just note that during that time it was not well thought out and definitely was haphazardly marketed.)
-
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
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.
-
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
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.
-
Eytukan wrote:
Honestly, I feel Node + NoSQL feel bare-bones stuff & anybody can just jump in and start doing things even for a decent requirement,
Can you say 'Visual Basic'? Back in its day Visual Basic contain a vast (for then) array of built in functionality that if one needed to use some other technology one would need to find or more often buy/create to get. So relative programming newcomers could just "jump in" and create their own business application. People attempted to hoist that into the more complex enterprise spaces and keep it going as more business functionality emerged but it just didn't work. And Microsoft at point wasn't in the technology business. They were in the application and OS business. They probably only added technology to scare off/kill what they though as competition. (I don't denigrate that process just note that during that time it was not well thought out and definitely was haphazardly marketed.)
-
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
-
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.
-
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.