5 ms·
Something I feel that is significant and only touched on tangentially is that there are a _ton_ of javascript programmers out there. If Node.js or a project li
by CitizenKane 16y ago
Something I feel that is significant and only touched on tangentially is that there are a _ton_ of javascript programmers out there. If Node.js or a project like it becomes successful it could provide a very easy mechanism for all the javascript programmers to do server side software as well. It's something that could significantly alter the web programming ecosystem.
- awt 16y agoIt seems like knowing the syntax of whatever language you're doing server programming is not the most important aspect of server side development. It's a really different skill set than what javascript has been used for up to now.
- Maciek416 16y agoActually, what you say touches on one of the reasons why Node is exciting for js coders. Working with Node's callbacks for I/O feels a lot like working with jQuery's XHR/animation callbacks. It's a consistent flow that will feel familiar for a lot of js coders immediately. Speaking from personal experience, it really does help the brain keep moving. Many javascript programmers are more than familiar with server-side development, they just haven't necessarily had a super productive environment within which to flex their skills, but that may be changing.
- CitizenKane 16y agoTo a degree perhaps. However, Node.js has a programming style that's highly reminiscent of code you would see in a browser. For instance, responding to a conenct event on a socket socket.addListener("connect", function () { socket.write("hello\r\n"); }); is really not that different from responding to a click event on an element in jQuery. $("#my-element").click(function() { alert('Element Clicked!'); }); I'm not saying that it will instantly make everyone a server side programmer, but it definitely makes the barrier to entry quite a bit lower.
- fauigerzigerk 16y agoI don't see how that is much different, syntactically, from: public void service(ServletRequest req, ServletResponse res) throws IOException { res.getWriter().println("hello"); } Yes, JavaScript is dynamically typed so you don't have to type the types.
- jerf 16y agoIt's not about knowing the syntax. It's about expertise and fluency. If you're fluent in Javascript, why should you have to learn another language to program the server in? If anything this should have happened about a decade ago. (Which it sort of did; I used to use JScript in ASP, but it's not quite the same.) (Yes, I am the person who frequently compares Node.js to Erlang, unfavorably. But my objection is to the hype that Node.js is a unique and beautiful snowflake, rather than a retread of ideas done endlessly in other languages. I still think that on the whole it's a good idea, even if I don't think it can actually live entirely up to the hype, it can still do good things.)
- davidw 16y agoNode.js isn't as "good" as Erlang. Yet. But what we see over and over is some solution that is good enough and easy to get started with that gets popular, and then gets the support ($$$) to improve.
- jerf 16y agoWhat we also see over and over, once you learn to how to look for it, is that pouring money into something without the fundamentals to support the tech you're trying to build doesn't work. You can't exceed your primitives, and matching Erlang's primitives turns out to be pretty hard. Any attempt to jam Erlang's primitives into Javascript will make it not Javascript anymore, but some derived language that merely resembles Javascript. Node.js will get better, but it will get spanked by Erlang at high loads and with lots of processes, and while there isn't nothing that Node.js can do about it, there's a limit to what they can do and still be JS. (Interestingly, this is not necessarily true in general. It is particularly true here because Javascript is the colloquial term for ECMAScript, which is a standard. To get the requisite primitives in there would require changes that violate the standard, such as the execution environments and the way references are treated. A language that isn't standardized could change and still claim to just be the next version.)
- percept 16y agoAgreed. Whatever server-side language you're using, you're likely using javascript too. I think CommonJS is the more important project to consider here.