5 ms·
I'm excited about it. I've been attempting to blog, and using node.js as my subject matter. (Don't want to link-pimp as I need to enhance/edit, but you can chec
by onewland 17y ago
I'm excited about it. I've been attempting to blog, and using node.js as my subject matter. (Don't want to link-pimp as I need to enhance/edit, but you can check my profile if you're interested).
It's my opinion that JS is the new lingua franca of programming, and it's about time we replaced C/Java. It has consistent syntax, some great functional aspects, dynamic typing, and it's now become a top target for optimization by some of the world's smartest engineers.
Breaking into systems coding is the next step, IMO, in JS becoming a legitimate option for "anything" programming. I think node.js is going to be the library for it. It's really idiomatic and concise, and it's got just the right amount of opinionatedness I think to become the systems and JS version of Rails.
- intellectronica 17y ago> It's my opinion that JS is the new lingua franca of programming Indeed. And its new incarnation, ECMAScript 5, fixes many problems with the existing language and makes it a lot more powerful and better suitable for programming "in the large".
- grayrest 17y ago> It's my opinion that JS is the new lingua franca of programming, and it's about time we replaced C/Java. Steve Yegge beat you to it: http://steve-yegge.blogspot.com/2007/02/next-big-language.html http://steve-yegge.blogspot.com/2007/02/next-big-language.ht...
- onewland 17y agoI think I've read a couple of perspectives on why JS would be the "NBL", and I wasn't trying to claim I was the first to come to that conclusion. I'm saying that I think that this is JavaScript's first implementation in the wild that I've liked enough to want to do non-web programming in.
- riobard 17y agoI thought doing "http server programming" is pretty much in the same category as doing "web programming"?
- onewland 17y agoThis article is about HTTP server programming, but node.js implements a number of features that are just good for general-purpose programming of all kinds: a good system for including modules, a decent I/O interface, robust events. I'm not so excited by this guy writing an HTTP server in JavaScript. I'm excited about the potential of JavaScript in writing elegant, high-performance apps that aren't tied to the web.
- riobard 17y agoLearning Scala right now. Seems it fits nicely as the NBL according to Steve Yegge's criteria: #1 C-like syntax (might be closer to Ruby actually) #2 Static-typing but feels pretty dynamic due to extremely good type inference #3 Perform on par with plain Java #4 IDE(Eclipse/NetBean) support #5 Everything in the "Kitch sink" section included + Actor-based threadless concurrency + easy to write embedded DSL + (I heard even continuation is coming soon). So what's missing is a macro system ... #6 JVM so multiplatform by default (even on Android)
- Slashed 17y agoI code in Scala for some time now. Love this language! Though I think that Node.JS is something different and has different purpose(yet to be discovered). Scala as any language that runs on JVM, doesn't completely support Non-Blocking IO(this should be fixed in Java 7 though).
- riobard 17y ago"JVM, doesn't completely support Non-Blocking IO" Isn't java.nio supposed to provide non-blocking IO (at least for socket)?
- Slashed 17y agoYeah, for sockets java.nio does that just fine, not for files. Of course, it's an improvement over plain java.io but still it's not non-blocking.
- gojomo 17y agoActually, given improvements in threading, NIO doesn't give faster socket throughput in typical many-connection servers. See: http://paultyma.blogspot.com/2008/03/writing-java-multithreaded-servers.html http://paultyma.blogspot.com/2008/03/writing-java-multithrea...
- c00p3r 17y agoJVM so multiplatform by default (even on Android) Even on Android what? Which Scala based project I could run on Android unmodified? Where I can get JVM for linux/bsd on ARM?
- anonjon 17y agoWhat exactly is the driving force behind the desire to do everything in Javascript? Is it just because we have a surplus of Javascript programmers? It doesn't seem to me that this task is particularly well suited to Javascript. (I think) Something like Erlang would be more applicable. And to me it seems that learning a new programming language (even one using a relatively obscure syntax), is a much simpler task than designing an entire project (or piece of a project), around a language that doesn’t really fit the needs of a project. To that extent, I think that the idea of a ‘lingua franca’ language is an inherently broken metaphor. Programming languages are closer to human-computer interaction tools than they are natural languages. ‘Lingua franca’ implies that every language can communicate approximately the same thing (it is just a matter of who has influence). I think this is a mistake, as different languages allow you to think in hugely different ways about programming. Different languages have different intrinsic concepts. It may be that this argument boils down to ‘if all you have is a hammer, everything looks like a nail,’ but even that is an oversimplification, as I don’t even use the same hammer for all types of nails (tack hammer, framing hammer, etc). I am not saying that node.js is necessarily a bad thing to have. It may turn out that Javascript is indeed particularly well suited to this type of application. Superficially, however, nothing convinces me that this is some sort of exciting home-run-win situation (or that it is any better than any other functional-style programming language). Could you explain the excitement and appeal to me?
- Slashed 17y agoI agree. This language is not a general-purpose programming language, at least not at the moment. Although, I can see how I can use it to build a small(but customized to my needs) COMET server in a more simpler way.
- onewland 17y agoI think there is definitely a communicative advantage to the 'lingua franca' concept as it applies to programming languages. Think of programs as the semi-English (English is actually the true lingua franca of programming :)) representation of Turing machines. In this sense, every language can communicate approximately the same thing. I don't think JavaScript will cover every paradigm in the sense of obscure language concepts, in that it will likely never have Lisp's complicated macro system or Ruby's ability to make really fluid DSLs. I don't want it to; the appeal to me is that what's going on in JavaScript is almost always self-evident (if you avoid the bad parts). () means you're calling a function or forcing operator association. {} means you're defining a block, array, or dictionary. I do think, though, that it could establish the new minimum standards of the 'demo language' for an algorithm. For algorithm demonstration and sharing, I think it's absolutely awesome that there is a language that is now capable of doing anything you want with an interpreter (albeit DOM-confined) pre-installed on every single computer you use. I don't want to read Wikipedia algorithms in some hacked-up Pascal. Give me something I can run now, but that's universally understood: a strong common medium to explain programming languages in unobfuscated terms.