I haven't tried Mongo.db, but Node.js takes up a lot of resources in a browser, Node.js apps feels a bit like the widest book strategy in the bookstore, you have to shove other stuff out of your browser, in order to use stuff that uses Node.js, and I feel that as a rather arrogant approach to deliver software, especially, when the functionality of Node.js apps doesn't really dictate the necessity. AS for Javscript, t…
> but Node.js takes up a lot of resources in a browser You must be confused. Node.js is used to run JavaScript on the server, not in a browser (the client).
Shipping Culture Is Hurting Us
71–80 of 169 posts
Re: Shipping Culture Is Hurting Us
#72Earlier quoted context omitted.
IEEE division by zero gives positive (or negative) infinity (with the sign determined by the sign of the zero). NaN crops up with e.g. sqrt(-1) and infinity - infinity for which there is no way to define a sane answer.
Determining positive or negative infinity from the "sign of the zero" is not sane to begin with. Zero has no sign in mathematics. It's just a representational accident in floating-point: there is a one bit wide field for sign, and for the sake of uniformity, representations of zero have that field too. Treating these as different is dumb; they are just different spellings of the same number in a bitwise notation. To…
Not wrong, but zero having a sign is useful for several complex plane algorithms--it's not just an accident.
As a general rule, anything that is in IEEE 754 (or 854) has a damn good reason for being there, and you had best take some time to understand it or risk looking stupid. A lot of hardware people screamed about a lot of the obnoxious software crap in IEEE 754, so, if something survived and made it into the standard, it had an initial reason for being there even if that reason has gone away with time/the advance of knowledge/Moore's Law.
The original designer's commentary about it is: William Kahan, "Branch Cuts for Complex Elementary Functions, or Much Ado About Nothing's Sign Bit", in The State of the Art in Numerical Analysis (eds. Iserles and Powell), Clarendon Press, Oxford, 1987.
Re: Shipping Culture Is Hurting Us
#73Earlier quoted context omitted.
Javascript has become the defacto browser programming language, even though it's objectively awful for complex software. The only reason it's achieved it's high status is because browser developers refused to cooperate and develop something better. Microsoft and Apple view software lockin as a competitive advantage and have actively undermined technologies they thought were threatening(java and flash amongst others).…
> The explosion of Html5 and javascript was more of a 'nature will find a way' type development and can almost entirely be credited to Google and various web companies pushing it and making it better. You say this with a pejorative tone, but the fact is I've yet to see a human-designed system that is as elegant or as robust as the systems evolved by nature. Sure for relatively simple problems in isolation we can desi…
I don't know, I remember when Flash was viewed the same way, ran everywhere and nothing would unseat it. Although I am not a huge Apple fan, I think Job's started the snowball which unseated Flash's dominance. So maybe someone or some organisation could unseat what we see as unseatable.
Re: Shipping Culture Is Hurting Us
#74Earlier quoted context omitted.
> but Node.js takes up a lot of resources in a browser You must be confused. Node.js is used to run JavaScript on the server, not in a browser (the client).
That may be so, but when I run something with Node.js in my browser, then I may have to close other things. So, wherever it runs, it really uses too much resources, and therefore I find it as a bad idea from the consumer perspective. It shouldn't be so, that somebody else, should dictate the content of your browser.
Re: Shipping Culture Is Hurting Us
#75Earlier quoted context omitted.
Also in logic. Not something is never equal to not the same thing. A bird is not a rock. A computer is also not a rock. Clearly not equal to each other.
I think people confuse the nature of NaN with the result of isNaN() a lot, this being the source of this confusion.
Re: Shipping Culture Is Hurting Us
#76Every time I see someone quote that JavaScript was designed in ten days I cringe. JavaScript was designed in 1995. It was standardized as ECMAScript in 1997. Ever since then, it's been under active development by a thriving community of engineers pushing for better standards. It's been a bit longer than ten days.
I cringe because it's not true; even the original Javascript wasn't really designed in ten days.
If you look at the history, Eich was playing around with designing a language for months before the order to shove Javascript into Netscape Navigator. Netscape had large software libraries for dealing with virtual machine-type problems for dealing with Java, and Eich was quite familiar with them by the time Javascript was "designed".
Re: Shipping Culture Is Hurting Us
#77> Instead we get some bizarro-world where where the type of NaN (“Not a Number”) is number, where NaN !== NaN*, and a chart like this exists for something as simple as comparing two values. That's the definition of NaN in virtually any programming language with floating point numbers. And the comparison table makes sense with the rule "when types are incompatible, both are casted to strings". Just use === instead of…
Yes. The research culture that produced Haskell, for example, is far from the "shipping culture" that produced JavaScript 1.0, and yet: > let x = 0/0 > x NaN > x == x False > :type x x :: Double (and yes, Double is an instance of the Num type class) The author programs in C++ and D. I wonder if he knows the value of (NaN == NaN) in those languages?
Re: Shipping Culture Is Hurting Us
#78I don't think it's fair to attribute the issues he brings up to "shipping culture". Rather, the causes are two-fold:
1) Lack of appreciation for history, being doomed to repeat it, all that
2) Making anything above the level of 'just not-terrible enough' without a benevolent dictator is hard.
Re: Shipping Culture Is Hurting Us
#79So he does not like Javascript and Nosql. Is it hard to find a JavaEE job? I think not.
Re: Shipping Culture Is Hurting Us
#80Earlier quoted context omitted.
Don't quote me on this, but I recall the rational for NaN is because NaN is typically the result of a division by 0. Divisions by 0 can be thought of as infinity (for the sake of this explanation, but mathematicians will cringe), but it is not any particular infinity. In the sense that x / 0 does not necessarily have to equal y / 0. For that definition, the result of a division by 0, NaN, must not equal itself. You c…
I understand the point perfectly. However, if I have a NaN which is captured in a lexical variable (perhaps the result of a division by zero, as you note) then in fact I do have a particular infinity: whatever object is inside that darned variable! If I do another division by zero, then sure, hit me with a different NaN which doesn't compare equal to the first one I got. But don't make my variable not equal to itself…