Re:KindScript – A kinder JavaScript experience
by coltonv on Sunday March 20, 2016 @01:11AM
(#11321908)
Looks like this wasn't ready to be revealed, like someone accidently made the repo public.
The website is currently not public so I'm not going to try anything yet but as a co-foudner at an CS Ed-tech startup I'm going to keep my ears perked. MS has put out some really nice JS products recently.
Re:KindScript – A kinder JavaScript experience
by coltonv on Sunday March 20, 2016 @12:20PM
(#11323461)
i co-founded Mimir (YC S15). We're deploying tools like autograding and plagiarism detection in college classrooms to bring Universities into the 21st century.
Re:KindScript – A kinder JavaScript experience
by SeanDav on Sunday March 20, 2016 @06:55AM
(#11322484)
Rather than simplify Javascript and protect beginners from themselves, why not start with a language that is both powerful and protective and yet easy to learn, like Pascal - learn the basics there in a more structured language?
Lazarus is a free, cross platform IDE for Pascal and an excellent place to start: http://www.lazarus-ide.org/
Re:KindScript – A kinder JavaScript experience
by cwyers on Sunday March 20, 2016 @10:03AM
(#11322930)
There's two things to getting people into programming - giving them tools they can learn with and making them care about it. You do the second by letting them accomplish things they actually want to do. Until you can script webpages or make Minecraft mods in Pascal, it's not very good at the second half of the equation.
Re:KindScript – A kinder JavaScript experience
by acbart on Sunday March 20, 2016 @11:37AM
(#11323306)
Precisely correct! Adding authenticity and relevance to the first major learning experience is crucial for appealing to a wide array of beginners, especially people who don't necessarily see programming as a first-order joy.
Re:KindScript – A kinder JavaScript experience
by pluma on Sunday March 20, 2016 @01:13PM
(#11323681)
Pascal is a complete nightmare to start people off with if they are going to move on to a language like JavaScript, Python, Ruby, C# or Java.
It's superficially similar but it has all kinds of archaic quirks and lacks basic affordances like return values or short-circuiting (i.e. in order to evaluate `a AND b` Pascal evaluates both).
You might as well argue that beginners should start with Assembly. If you want to be unnecessarily cruel at least teach them something useful like C/C++.
Re:KindScript – A kinder JavaScript experience
by Mithaldu on Sunday March 20, 2016 @08:31AM
(#11322674)
On the one hand, it can be a little cruel to lock a kid in with a wolf, even a bound and crippled one. On the other hand, maybe it's actually kind to do so when the world outside is filled with wolves.
Re:KindScript – A kinder JavaScript experience
by Analemma_ on Sunday March 20, 2016 @12:37AM
(#11321824)
It kinda looks like it's being "set up" right now in preparation for a more formal announcement. Maybe we just need to wait? It would be a little weird to make a big announcement right this moment, since it's currently Saturday night in Redmond.
Re:KindScript – A kinder JavaScript experience
by airplane on Sunday March 20, 2016 @03:49AM
(#11322179)
There's a few pictures in the various Github issues, looks like a Scratch like programming environment, unless that was just the developers own software.
Re:KindScript – A kinder JavaScript experience
by amelius on Sunday March 20, 2016 @10:49AM
(#11323119)
I want a Javascript that does this right:
var m = {};
m["__alpha__"] = 10;
m["__bravo__"] = 20;
m["__proto__"] = 30;
for(var k in m) console.log(k);
Result (in current JS):
__alpha__
__bravo__
EDIT: To be clear, I want a Javascript that is consistent. Imho, the fact that __proto__ is a property is a hack. Also, I suspect that a lot of software written in Javascript is susceptible to injection bugs/attacks by using the string "__proto__" as input in various places.
Re:KindScript – A kinder JavaScript experience
by dchest on Sunday March 20, 2016 @12:12PM
(#11323425)
What is wrong with the following function
The implementation is wrong: you're using Object when you want to use Map. Object is not suitable for this, and seems like you know it, and it's in language specs.
Re:KindScript – A kinder JavaScript experience
by amelius on Sunday March 20, 2016 @12:36PM
(#11323529)
Yes, I stated beforehand that the implementation is wrong. My point is that it is not obvious from the implementation (and certainly not for beginners).
Re:KindScript – A kinder JavaScript experience
by joshuacc on Sunday March 20, 2016 @12:11PM
(#11323421)
JavaScript objects aren't associative arrays. They inherit property values from their prototype. Not just __proto__, but hasOwnProperty, etc. If you want to abuse objects in this way, it makes sense that you need a special approach to opt out of inheritance.
The website is currently not public so I'm not going to try anything yet but as a co-foudner at an CS Ed-tech startup I'm going to keep my ears perked. MS has put out some really nice JS products recently.
Note: The https url to kindscript.com is listed on the git repo.
Lazarus is a free, cross platform IDE for Pascal and an excellent place to start: http://www.lazarus-ide.org/
It's superficially similar but it has all kinds of archaic quirks and lacks basic affordances like return values or short-circuiting (i.e. in order to evaluate `a AND b` Pascal evaluates both).
You might as well argue that beginners should start with Assembly. If you want to be unnecessarily cruel at least teach them something useful like C/C++.
Anybody have more luck.
https://scratch.mit.edu/
The implementation is wrong: you're using Object when you want to use Map. Object is not suitable for this, and seems like you know it, and it's in language specs.
Objects can be used as cheap maps but they're more than that. That's why ES2015 brought us Map and Set.
Problem solved.
Why should you need to know that much about the guts of the language just to create an associative array that works properly?
A better approach is to just use Map.
var m = new Map();