661 karma · joined November 14, 2013
Bitcoin has far from "won" in the sense of a currency and if another crypto-currency surpasses it's current popularity the faith in any crypto-currency being stable enough to move trillions of dollars each year is irreparably harmed.
People raising a few thousand dollars here and there in other crypto currencies is fun but it's not only paltry and not generally useful but can easily be attributed to entertainment more than economics. Once the novelty wears off, where will crypto currency stand. That's the most important question we need to ask ourselves. All these alt-coins aren't evidence of a thriving eco-system, they're evidence of the very reason why a cryptography based currency is inherently valueless.
The blockchain cannot last without bitcoin becoming massively more valuable. Many people already see bitcoin as being too valuable and alternatives too easy to create. What needs to be done to scale crypto-currency to the level of an actual currency? Government backing?
Now there's a completely new function syntax that doesn't use parens and has different scope rules
var odds = evens.map(v => v + 1);
Enhanced object literals: // Computed (dynamic) property names
[ 'prop_' + (() => 42)() ]: 42
what?? So it uses parens if there are no params, but not otherwise?Template Strings:
`In JavaScript this is
not legal.`
Seriously another String delimiter? `Hello ${name}, how are you ${time}?`
Why aren't we just using #{} like everyone else? // Construct an HTTP request prefix is used to interpret the replacements and construction
GET`http://foo.org/bar?a=${a}&b=${b}...
What??Destructuring:
var [a, , b] = [1,2,3];
Is that seriously just whitespace and another comma?Splats (spreads?)
f(...[1,2,3]) == 6
... means destructure?This is not readable code:
let fibonacci = {
[Symbol.iterator]() {
let pre = 0, cur = 1;
return {
next() {
[pre, cur] = [cur, pre + cur];
return { done: false, value: cur }
}
}
}
}
for (var n of fibonacci) {
// truncate the sequence at 1000
if (n > 1000)
break;
print(n);
}
Symbols without a literal syntax: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Jesus Christ.Unicode:
"𠮷".length == 2
Awesome, still wrong.Modules are cool. Promises are cool. Tail call optimization is cool.
This is not readable code:
// Proxying a normal object
var target = {};
var handler = {
get: function (receiver, name) {
return `Hello, ${name}!`;
}
};
var p = new Proxy(target, handler);
p.world === 'Hello, world!';
ES6 is a mess. Javascript just got harder.We don't need more poorly done, argumentative, non tech related research on a news site for computer programmers.
Can we please, please stop with the diets that have only been tried on mice and the exercise warnings. None of this in informative or even interesting, it's just trash tabloids masquerading as research that's pertinent to anyone's life.
If you don't have the motivation you'll never be able to do it. If you can't sit in front of a computer for 8 hours a day reading documentation and hunting for syntax errors you're not going to be able to do it. If re-writing algorithms doesn't give you an intrinsic satisfaction, you're not going to be able to do it. No amount of everybody can code tutorials is going to help. They should all be, "how to find the motivation to keep coding" tutorials.
Unrelated, but related to the article, the word sociopath get's misused a lot and this article is no exception. http://www.thefreedictionary.com/sociopath
Classes:
There is no semicolon after the function name
The function keyword is omitted
There are no commas after each definition
Interpolation: `${1 + 1}` <- why not just # like everyone else?
Multi line strings: ` Now we have a 3rd
string delimiter`
Fat arrow: $("button").on("click", () => {
// really? hanging parens? no function keyword?
});
Destructuring: var [first, , last] = [1, 2, 3]
// thats a var to assign vals inside an array
// and just two commas touching to ignore a value
The whole post is about drastic syntax changes. The brackets are optional in coffeescript.Besides coffeescript is just a tool.
You're not mixing them, you're using a javascript engine serverside to pre-run your client side js. There is still code separation and your back end doesn't have to be written in JS to accomplish this.
Separately the notion of "isomorphic javascript" if that's what it's called, is not to "mix" client and server code. It's 2 fold: 1 to take down the boundary between client and server code so that there is much re-use and code can just be "marked" as server or client only. 2) So that you can re-use many of your tools like libraries, testing, and language best practices across your whole project.
Ironically this would be most useful if it clicking on the rating took you to the yelp page so you could see the details, photos, menu, read reviews, and confirm that it is the actual restaurant you're talking about.
Creativity, inspiration and quality of art are not quantifiable. This is pseudo science backed by anecdotal evidence wrapped in an emotional swaddling blanket.
"Scientists, like mothers, have long suspected that midnight snacking is inadvisable."
"began experimenting with the eating patterns of laboratory mice"
"Precisely how a time-based eating pattern staved off weight gain and illness is not fully understood"
"To date, Dr. Panda’s studies have been conducted with only mice"