I have experience teaching kids Lua, and with the right metaphors and a little bit of backtracking and foundation-building, even complicated ideas like emulating classes and single inheritance can be understood and even implemented by young students.
If I taught them lua reserved keywords, and a couple little math tricks here and there, they usually would all bunch up everything into a couple huge functions, and their game would (sort-of) work but be impossible to reason about, and very painful to extend.
Introducing objects as a way to represent things that they want the game to do (draw things, shoot things, eat things, etc), it becomes clear to them that there is merit in structuring programs with objects beyond "shrugger says to do it like this!"
OOP on its own doesn't make much sense. You can't teach someone to drive stick shift if they don't know what a car is. Maybe you could, but that's probably even worse.
I wasn't. India is country of more than a billion low-income people and a poor education system. It's not their fault that they aren't great communicators.
You misunderstand how capitalism works. If you don't want these companies to succeed, don't give them money and don't give them data they can make money from.
I don't use Facebook products because I don't want to give Zuckerberg my money. I don't use Apple because I don't want to give money to a company whose original figurehead thought that wearing Mom-jeans to press conferences was in any way professional.
The point is that these companies, however monopolistic they might seem to you (and me), are driving innovation several orders of magnitude faster and more efficiently than organizations like Mozilla or GNU. A company exists to make money. That's an ethos that I personally find more consistent and more comfortable to think about than "we should make software that EVERYONE can use" and it's a safer bet as well, since these companies will go out of business if they don't make money whereas GNU/Mozilla/et al will vomit out software that sorta works for a million years.
Also, machine learning is not about predicting the future anyways, it's almost exactly the opposite. Understanding what people have done is much more actionable than trying to figure out what people are GOING to do, because we are very fickle, complex, imaginative creatures. Could you have predicted that I'd write this comment? No. Could a program that has read every previous comment that I've ever made predict this comment? No. Could it predict that I might write a comment of a similar nature? Sure. If we were playing poker and I thought that you were going to fold, that's much different from some algorithm that was CERTAIN you were going to fold.
I understand, but your opinion doesn't change the facts. Scala.js is more than mature, with some huge projects already built in it. I'd not heard of erlangonxen, but it would take a lot of convincing to re-write something in Erlang to begin with, when I could write it quicker in Scala, and run on 2, eventually 3 different platforms.
Scala Native is not very far along compared to Scala.js, but it is actively being improved, and is considered an official extension. Additionally, Dotty will bring huge improvements for JVM scala.
I am not super happy with JVM most days, but I'd far and away prefer to be chained to JVM than BEAM. I mean, it's not even a question at this point, considering the billions of dollars spent developing JVM and the work of the brightest minds of several generations. Joe is a cool guy and all, but Erlang is objectively a niche platform compared to JVM.
You've repeatedly censored dozens of people and fostered an unwelcome space for people who are smarter than you and people with different opinions than yours. Please stop doing that.
Yep, every fucking thread there's some "Oh wow, people have opinions that are different from mine" comment, and then a bunch of pseudo-meta discussion that just clogs up the site. HN is the worst possible implementation of HN.
I switched from Ruby to Scala, and I have had an absolute blast. Elixir is sort of chained to BEAM, which doesn't appear to have as bright a future as the JVM or LLVM does, so Scala seemed like a safer bet.
Reading about Elixir is cool sometimes, but then I look at Dotty, and I feel confident that I made the correct choice.
I've also been keeping an eye on Crystal (statically typed Ruby-esque language, LLVM), but they aren't making great PLT choices so far. Maybe they'll get it together later. Scala-Native will blow it out of the water most likely anyways.
Sort of the opposite of losing statically typed programming, but I've really enjoyed the journey and it's improved my work a lot more than I thought it would. I know Ruby pretty well and I used to feel really dumb all the time when things would break, and it took some time for me to realize that it was a language problem. Looking back and reading some of the Ruby that I ported, it was impossible to reason about, and very difficult to make guarantees for. Nothing was solid at all, and runtime errors could hypotehtically stop the show at any time. With Scala there's a much sharper baseline of what will definitely work or not work.
Types make a LOT of things so much easier, in exchange for making a few things SLIGHTLY more tedious. After doing it, I'd make that trade ten more times if I had to.
missed a couple Govt classes? The existence of central banks are opposed by people who want to restrict third-party control of their money, not let any loser who walks by have a say (like DAO)
Ethereum is a bad idea and people are too embarrassed to admit it. I get it. However, turning around and shoehorning that sentiment into "They don't understand central banking" is just foolish and highlights the sort of headstrong obliviousness that has essentially springboarded DAO into the spotlight to begin with.
Smart contracts aren't good for stupid users. Someone outsmarted a big group, now they're having a fit because all of their money is going to leave, and rather than walk away from the poker table with their head hung low, they've decided to just rob the dealer and try for heisting the vault while they're at it.
And then they have the gall to say "Oh, you just dont understand the purpose of central banking" as they oppose a system that they put in place to benefit themselves, by themselves.
And you say you don't like Ayn Rand! Terse is just another word for unimaginative, when it comes to prose.
I think you might be blurring the lines between writing something in a socratic dialogue versus writing technical documentation. Dijkstra, obviously often is writing in the former style and so there's plenty of room for his personality in the text and it doesn't take away from the overall quality and cohesiveness of the text.
Reasonability. In an age where billion dollar companies are gutted by 16yo hackers on a monthly basis, it's worth the effort to build strong, secure systems that can be formally reasoned about.
I am so freaking excited about Scala Native. I haven't been so genuinely excited and enthusiastic about something for such a long time, but Scala Native is so awesome.
I feel like turning Scala into a cross-platform language is the best idea possible. I'd love to see Scala someday be able to just dump out WebAssembly, or JVM bytecode, or LLVM IR, or whatever the next "hip" format is, while keeping the language the same.
I also find it shocking how hard people are pushing Typescript when Scala.js exists. Why would you ever subject yourself to TS?!?!
Or how about that time Eich donated thousands of dollars to try and prevent homosexual marriages?
Rust might be memory-safe, but it's culture-toxic.