Slashdot Mirror


IBM Bequeaths the Express Framework To the Node.js Foundation (thenewstack.io)

campuscodi writes: The Node.js Foundation has taken the Express Node.js framework under its wing. Express will be a new incubation project for the Foundation. IBM, which purchased Express maintainer StrongLoop last September, is contributing the code. Part of the reason for allowing the foundation to oversee Express is to build a diverse contributor base, which is important given the framework's popularity.

47 comments

  1. So IBM Is D.E.A.D.? by Anonymous Coward · · Score: 0

    Maybe Geronimo?

  2. Bequeaths by Thanshin · · Score: 3, Informative

    Express venturesomely acquiesced to the coadunation; one more of its neoteric, somewhat quixotic, adjudicatures.

  3. What this really means is... by __aaclcg7560 · · Score: 0

    Yet another JavaScript framework. *sigh*

    1. Re:What this really means is... by chispito · · Score: 3, Insightful

      Yet another JavaScript framework. *sigh*

      Yet another framework? Express isn't exactly new on the scene...

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    2. Re:What this really means is... by __aaclcg7560 · · Score: 1

      It's new to me. Hence, my point.

    3. Re:What this really means is... by Anonymous Coward · · Score: 0

      It's new to me. Hence, my point.

      Then you've never done a Node.js web tutorial

    4. Re:What this really means is... by __aaclcg7560 · · Score: 1

      Then you've never done a Node.js web tutorial

      I have with Node.js, not with Express Node.js.

    5. Re:What this really means is... by Anonymous Coward · · Score: 0

      Then you've never done a Node.js web tutorial

      I have with Node.js, not with Express Node.js.

      If you google node.js web tutorial, all the top results involve express

    6. Re:What this really means is... by __aaclcg7560 · · Score: 0

      If you google node.js web tutorial, all the top results involve express

      If you google node.js tutorial, the first entry for ExpressNode.js dates September 2015, which is several years after I looked at a node.js tutorial. Subsequent pages mentions express.js in passing.

      BTW, If you're using google to search the web, why are you using the word web in your search query? Seems redundant.

    7. Re:What this really means is... by chispito · · Score: 1

      It's new to me. Hence, my point.

      Google "MEAN stack." Express is ubiquitous in Node installations. I am not trying to be snarky, but it would be like reading a jQuery story and implying that it meant there was "another" JS framework.

      Besides, whatever your objection to JS frameworks, Node frameworks and client side frameworks are completely different.

      --
      The Daddy casts sleep on the Baby. The Baby resists!
    8. Re:What this really means is... by Anonymous Coward · · Score: 0

      It's new to me. Hence, my point.

      You must be a millennial with such as attitude. Drop dead and take the "new management style" with you.

    9. Re:What this really means is... by __aaclcg7560 · · Score: 1

      Besides, whatever your objection to JS frameworks, Node frameworks and client side frameworks are completely different.

      Seems like a day doesn't go by without another JavaScript framework popping into existence.

    10. Re:What this really means is... by __aaclcg7560 · · Score: 1

      You must be a millennial with such as attitude.

      I'm a Gen Xer who hates baby boomers and millennial with equal passion.

      Drop dead and take the "new management style" with you.

      What "new management style" would that be?

    11. Re:What this really means is... by reanjr · · Score: 1

      Express is more like THE javascript framework for web servers.

    12. Re:What this really means is... by luis_a_espinal · · Score: 1

      It's new to me. Hence, my point.

      A point about your inexperience, that is :)

    13. Re:What this really means is... by __aaclcg7560 · · Score: 1

      A point about your inexperience, that is :)

      If I know jQuery and Node, but not all the frameworks the sprung up around them, that makes me inexperience?

    14. Re:What this really means is... by Anonymous Coward · · Score: 0

      So is sex. what is your point?

    15. Re:What this really means is... by __aaclcg7560 · · Score: 1

      Sex is old hat. What's your point?

    16. Re:What this really means is... by Anonymous Coward · · Score: 0

      Here's a node + express + mongoDB tutorial dated Feb 2010.

      http://howtonode.org/express-mongodb

      With node's original release in May 2009, express is pretty close to being as old as node is.

    17. Re:What this really means is... by Anonymous Coward · · Score: 0

      Express is not "another" JavaScript framework.... it's a framework for adding server functionality to Node.js... that's why it's a crucial part of Node.js development and part of the MEAN stack... get your head out of your ass and realize what are you making fun of

    18. Re:What this really means is... by __aaclcg7560 · · Score: 1

      ...it's a framework for adding server functionality to Node.js...

      Why didn't you say so in the first place?

  4. What Is it? by Luthair · · Score: 3, Insightful

    Everything seems to be written with the assumption you know what it is already, and their own website refers to it as a "web framework" which is equally vague.

    1. Re:What Is it? by The+MAZZTer · · Score: 4, Informative

      node.js is a console-based JavaScript interpreter based off of Chrome's JavaScript engine. So you can basically write cross-platform (Windows, Max, Linux) desktop console apps in JavaScript. There is also NodeWebKit which is pretty much the same thing for desktop GUI applications, which uses HTML/CSS for that side of things.

      Node has a few extra pieces of functionality over standard JavaScript for allowing for some normal desktop-y functionality. One of these things is the ability to run a HTTP or HTTPS server. However it's pretty bare-bones, relying on your code to do a lot of the work. You can set up an event handler to fire when someone requests a URL from your server, and you get your HTTP headers parsed for you, but it's up to your code to figure out what the URL is supposed to point to, resolve a local file path, set up the proper HTTP response headers, and then stream the file to the requester. That's just if you want a simple server, if you want to run custom code for specific URLs or URL patterns that's more work.

      Express is a bunch of JS code bundled in a library (node calls these "modules") that builds a framework on top of the HTTP/HTTPS server functionality to make things a lot easier if you want one in your code. You can tell it in one line if you want a simple web server that serves on-disk files from a specific directory, or you can define "routes" (mapping URLs to specific blocks of code) to have custom functionality for specific URLs or URL patterns. You can even chain routes together so if multiple routes all match the same URL all the code runs, if that makes sense (eg a logging function that triggers on any request). It does a lot more too I'm sure, that is just the stuff I have used it for.

    2. Re:What Is it? by waTeim · · Score: 1

      Express is a nodejs FRP implementation for attaching functionality to URL endpoints in HTTP servers as first made popular by Ruby's Sinatra and then later adopted by frameworks (e.g Django/Flask for Python) and various others. Loosely, in it (them) a string associated with a URL(s) is attached to a function and a REST verb (GET, POST, etc). Whenever that URL is requested, the function is called; these strings may be regular expressions. Multiple such attachments may be made for the same URL. As such, it is extremely popular and serves as a linchpin to servers implemented with node.

  5. Express isn't all that by Anonymous Coward · · Score: 1

    Let's say you want to route a URL like /about. Express takes that nice static string and turns it into a regular expression. So if you have a few thousand simple URLs, you might expect an O(1) lookup. But Express turns it into an O(N) lookup. And you can never remove a URL because it's been turned into a regular expression in an array somewhere. Netflix learned this the hard way.

    Now, maybe that's find for you. Maybe it's not, but either way you should probably know what your framework is doing. But if you use javascript, you probably don't know what you're doing. But neither did the retards that wrote your framework.

  6. It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 1

    If a name includes "js" at the beginning or the end, you can safely ignore whatever the name is referring to. It's almost always some shitty JavaScript framework or library that hipsters fondle themselves to. Chances are it's just a really awful hack over something they adore that's even worse, like how jQuery provides a shitty-but-not-as-shitty interface to the extraordinarily-shitty browser DOM API.

    1. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 0

      You ignorant twit. There is nothing wrong with Javascript as a language. In fact it has sophisticated features, like first class functions, lambdas and closures, that lesser languages like Java and C++ are only recently acquiring.

      Personally I would not refer to Express as a "framework" it is a pretty thin and un-opinionated helper if you want create a HTTP server with node.js. It's not shitty or an awful hack. It's simple, elegant, efficient, easy to use. It works very well.

      Yes the DOM API is shitty. That is nothing to do with Javascript or this story. Yes jQuery is shitty, who cares I never use it.

    2. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 1

      In fact it has sophisticated features, like first class functions, lambdas and closures, that lesser languages like Java and C++ are only recently acquiring.

      Actually, C++ and Java had that functionality all along.

      A closure is nothing more than a function + state. That's exactly what an object with variables and just one method is! A lambda is just closure without a name, which is what happens when you create an object but don't assign it to a variable in C++ and Java. And objects are first class entities in C++ and Java.

      Of course, C++ and Java give you way more flexibility. You can have multiple methods working on the same state, for instance. You can perform custom actions when the object goes out of scope or is deallocated.

      What C++ and Java have gotten recently is the simplified, dumbed-down, inflexible, syntactic-sugar version of that functionality which they already had.

      You have it backward. JavaScript is only catching up to where Java and C++ were ages ago. JavaScript is finally getting the real OO functionality that allows real first class functions, lambdas and closures to be implemented. All that JavaScript has had up until now is a cheap imitation of the real thing.

    3. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 0

      JavaScript has always had the ability to do "real OO", it just had additional options as well. Nearly all of the "real OO" stuff that JS is getting in ES2016/ES6 is syntactic sugar on top of existing functionality. Sure the language has some rope to hang yourself with, but so do C and C++, most decent developers for those languages have the experience to know how to not tie the rope around their neck and jump off a cliff. You definitely can have multiple "method" working on the same state using closures, and although I can't think of how you'd create destructors, I also can't think of a place that I've needed to use them. You seem very arrogant without knowing what you're really talking about, ignorance is bliss I guess.

    4. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 0

      You can only do real OO with classes. Prototypes do not support real OO. You can fake a shitty subset of real OO using prototypes, which is exactly what a lot of JavaScript programmers have done, but it's still not real OO.

      And it scares the hell out of me that you couldn't think of a situation where destructor or finalizer methods would be useful. Your code must leak resources left and right, without you even realizing it!

    5. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 1

      "Real OO" is just a no true scotsman. Check out https://github.com/stampit-org/stampit for an example of what you can do when you add a little sugar for Prototypes. Also I hate the frameworks that try to do class based OO in JS, they suck and I don't see the point. To be honest, I really hardly ever use inheritance hierarchies in a class based OO language because it really takes away a lot of flexibility, it's typically much easier and ultimately more flexible to compose objects together to get the functionality that I want. When you follow SOLID principals this is the general outcome anyways. Basically what you get from class based languages is a bunch of extra ceremony so you can feel good about how great your understanding of objects is.

      As far as the resource leaks, typically all you need to do is not create circular references to things that you should not and everything gets GCed eventually when it goes out of scope. The only other thing I can think of is remembering to call clearInterval() on any repeating timeouts that you create and you're mostly good to go. Now if you're on the Node side of things, you may need to call close on some of the things you get ahold of, but you really don't need a descructor to do that.

      Go on thinking you're better than everybody because you understand how to do things one way, kudos to you bro.

    6. Re:It doesn't matter. It's JavaScript bullshit. by Anonymous Coward · · Score: 0

      "Real OO" is a no true scotsman, you can do anything of substance that class based OO can do using Prototype based OO. Check out https://github.com/stampit-org/stampit

      I'm aware that resources must be reclaimed, but destructors and finalizers are not the only way to do that, and often in the browser you just have to avoid creating circular references to certain things that would prevent GC from collecting your stuff and you're good to go. Server side JS is a little different, but again, finalizers are not the one and only way to reclaim resources.

  7. What the fuck has happened to our industry?! by Anonymous Coward · · Score: 0

    If I went back to 2000 and asked myself what I thought software development would be like 15 years later, I sure as fuck would not have said it'd be like it is today!

    At that time I never thought we'd see JavaScript taken seriously. I mean, all of us back then knew it was a total joke. But some people didn't realize this, and tried to use it seriously! Now we're stuck dealing with their ignorance and stupidity.

    I also didn't think we'd see what are now called NoSQL databases used all over the goddamn place, especially where they aren't needed. Back in 2000 it was expected that you'd do the sensible thing and use a relational database. And if you didn't know SQL, you'd fucking learn it instead of writing all of your goddamn queries in JavaScript and storing your data in hashtables!

    But I suppose I never expected the Millennial generation to be so ignorant, either. To be fair, it isn't all Millennials. It's just the ones who are hipsters who are a problem. But it doesn't help that most Millennials are hipsters, of course. And it also doesn't help that there are so frigging many of them!

    The faster the Web 2.0 bubble bursts, the better. That should finally put an end to the fucking awful JavaScript and NoSQL bullshit we have to put up with today. Hopefully it finally drives the hipsters out of the industry, too. Then we can get back to writing useful, productive software using sensible technologies, rather than wasting our efforts with the shitty technology that the hipsters love.

    1. Re:What the fuck has happened to our industry?! by Anonymous Coward · · Score: 0

      And we need to do away with all these silly compilers. Machine language. That's the way to go. And forget about all that relational crap. Codasyl is the only real database. And COBOL is the only true means to access it.

      None of that is really important. Computers are just a fad anyway. They'll go away and then we can get on with pencil and paper like God intended.

    2. Re:What the fuck has happened to our industry?! by vilanye · · Score: 1

      NoSQL DB's date back to at least the 1960's.

      It is not a new concept. They are a perfect fit when relational databases are either overkill or don't fit the data and the way it needs to be stored and accessed.

      There is a reason Postgres has NoSQL options.

      You sound like the OO fetishists, usually Java API monkeys, that think that everything is an object, even if you have to contort it into a useless "shape" to get it into an object.

    3. Re: What the fuck has happened to our industry?! by Anonymous Coward · · Score: 0

      You do know that everything in Javascript is an object, right?

    4. Re: What the fuck has happened to our industry?! by Anonymous Coward · · Score: 0

      There is a difference between the OO fetish that Java programmers display and real OO languages like Smalltalk, Ruby and yes, JS.

      "Kingdom of nouns" gives a good example of object fetish, and yes it is mostly Java devs that misuse and misunderstand the original intent of OO, followed by C++ devs..

    5. Re:What the fuck has happened to our industry?! by slashdice · · Score: 1

      Javascript exists so you can punch the monkey. 15 years later, they're still spanking that monkey!

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    6. Re: What the fuck has happened to our industry?! by vilanye · · Score: 1

      You missed my point.

      Relational databases are not the end-all be-all of data storage.

      People that think so are like the OO fetishists, who think up of the most convoluted class hierarchies possible like RDB fetishists try to use the relational hammer to force data that doesn't fit it.

      I have also noticed that many, not all, RDB fetishists confuse relations with associations and think the relational means "how tables 'relate' to each other" but that is a different rant.

      A relational database is a powerful tool when used in the right circumstances, No-SQL databases(key-value, document, graph, etc) are powerful tools when used in the right circumstances. Both are broken tools when used in the wrong circumstances.

      I am not sure why you brought up JS, weird non sequitur. You don't see the misunderstanding and misuse of OO that you see very commonly in Java in Javascript.

  8. Re: Yoyo hipsters use ERLANG man by Billly+Gates · · Score: 1

    Erlang is the new rockstart technology reborn as Outlaw Techno Psychobith node.js and ruby on rails are sooo last decade man.

  9. Wahhh Boohoooo wahhhh :'( by Anonymous Coward · · Score: 1

    Wahhhh this isn't about C, C++ or Perl. IT'S AWFUL I HATE IT. Anything that isn't C, C++ or Perl is a HIPSTER WASTE OF TIME.

    You /. luddites are pathetic.

    1. Re:Wahhh Boohoooo wahhhh :'( by Anonymous Coward · · Score: 0

      No, it's more about throwing out of decades of type theory and compiler research for the sake of rapid development (which is a tiny percentage of costs and time associated with software).

    2. Re:Wahhh Boohoooo wahhhh :'( by Anonymous Coward · · Score: 0

      development (which is a tiny percentage of costs and time associated with software).

      lol wut

    3. Re: Wahhh Boohoooo wahhhh :'( by Anonymous Coward · · Score: 0

      Software has a long tail in terms of maintenance. Once you create it, if you and a community continue using it, you will never be done changing it until the community moves on. The people who are complaining are saying that the people who use Javascript do not know how to use memory efficiently / are wasteful with resources.

  10. Time Travel by Etherwalk · · Score: 1

    If a name includes "js" at the beginning or the end, you can safely ignore whatever the name is referring to...

    I see you are writing from the year 2006! While time travel is ordinarily considered a rather impressive feat which allows for great party tricks, this does not apply to time travel in the forward direction.

    In 2016, Node is an extremely popular command-line (i.e. non-browser) system to run Javascript. Express is the most popular implementation of a simple web browser that is used in node. Both are incredibly popular, are used by many thousands of developers, and are supported by the major cloud providers.

    Some of these developers could not find a pointer if you coated it in magnesium, lit it on fire, and smacked them with it. But node and express still turn out to be pretty good tools for many users.

  11. Best comment I've read of noddy... by paradisaeidae · · Score: 1

    ....Is on slashdot.. http://news.slashdot.org/comme...