Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Design and Architecture
  4. Node.js : Non-blocking thing

Node.js : Non-blocking thing

Scheduled Pinned Locked Moved Design and Architecture
javascriptsysadminapachewindows-adminperformance
43 Posts 6 Posters 44 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • N Nathan Minier

    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

    E Offline
    E Offline
    Eytukan
    wrote on last edited by
    #34

    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

    P 1 Reply Last reply
    0
    • E Eytukan

      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

      P Offline
      P Offline
      Pete OHanlon
      wrote on last edited by
      #35

      Direct memory access is trivial in C#.

      This space for rent

      E 1 Reply Last reply
      0
      • P Pete OHanlon

        Direct memory access is trivial in C#.

        This space for rent

        E Offline
        E Offline
        Eytukan
        wrote on last edited by
        #36

        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

        1 Reply Last reply
        0
        • E Eytukan

          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

          J Offline
          J Offline
          jschell
          wrote on last edited by
          #37

          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.)

          E 1 Reply Last reply
          0
          • E Eytukan

            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

            J Offline
            J Offline
            jschell
            wrote on last edited by
            #38

            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.

            E 1 Reply Last reply
            0
            • N Nathan Minier

              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

              J Offline
              J Offline
              jschell
              wrote on last edited by
              #39

              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.

              1 Reply Last reply
              0
              • J jschell

                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.)

                E Offline
                E Offline
                Eytukan
                wrote on last edited by
                #40

                :thumbsup: Node gives the same feeling for server what VB did for desktop applications. You see something getting done with least possible learning curve. But I cannot say this makes you an expert with technology. It just works.

                Full Reset

                1 Reply Last reply
                0
                • J jschell

                  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.

                  E Offline
                  E Offline
                  Eytukan
                  wrote on last edited by
                  #41

                  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

                  J 1 Reply Last reply
                  0
                  • E Eytukan

                    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

                    J Offline
                    J Offline
                    jschell
                    wrote on last edited by
                    #42

                    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.

                    1 Reply Last reply
                    0
                    • L Lost User

                      This might be news, but CodeProject has more .NET related articles :)

                      Bastard Programmer from Hell :suss: 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.

                      L Offline
                      L Offline
                      Lutoslaw
                      wrote on last edited by
                      #43

                      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.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups