Since hearing about it we have a port of a large project in progress and whilst the typing is nice, the improvement in build time alone looks like making it a worthwhile exercise.
Big things to come I suspect, particularly with it feeling like such a natural progression of so much of FB's recent JS work.
It was a long while ago now, if you had learnt anything before you got there it was pretty much guaranteed that you'd seen either BASIC or C. :)
The internet wasn't what it is now either so most people who had done some coding before were indeed lacking in understanding of the fundamental principles of what they were doing – I know I certainly was. There may have been outliers yet beyond the "I've been playing with code" crew but I didn't meet any.
I'm not at all suggesting it would be good reasoning today, but I think it helps to show that the underlying idea that FP is a good way to introduce people to code whilst ensuring they develop a strong theoretical understanding was true then and should still be today.
When I went to university for CS, Haskell was used in the introductory programming courses and this was one of the main reasons we were told about.
Another goal was to take the people who had been learning to code in their spare time and put them on more even footing with those who were totally new, force them to think about things from first principles rather than lean on acquired habits, etc.
I had already been coding for a long time by that point but it was the first time I saw a functional language and I think it addressed both goals very well.
Learning new things is great but don't be afraid to reach for familiar tools.
Using one or two new things on a project rather than 10 you'll be both more likely to get somewhere, and more likely to pick up the newer elements well.
Just in case the OP reads this and is interested, this exaggerates somewhat for Melbourne. Particularly if you're a kid coming over on a working holiday, which actually sounded like a really good suggestion for the situation.
Yes you'd be looking to pay that for a nice, new or renovated single bed apartment in the middle of the city or an expensive area. As hinted at though, as someone with $5-10k in the bank coming here to be a barista there's no way you'd be able to get a lease for one of them anyway.
Head even a 20 minute tram ride out from the city, however, and suddenly you can pay AU$1,400/mth for a 1 or 2 bedroom place in an older building. (Though you may struggle to get a lease anyway...)
If you were on a working holiday you would likely be better off finding a shared place with some like-minded souls, and end up somewhere around $1,000 for rent + all your bills and such to live somewhere pretty nice.
We use them at my day job, their support can be a bit clunky in terms of turnaround times once you've escalated something tricky but they're generally quite helpful and certainly legit - we have a mix of EV and regular with I think 1 wildcard and have never had any particularly serious issues other than slow EV paperwork.
I've always found it helpful to explain a pointer as exactly that - a pointer, ie. a person standing there pointing at something.
If you need to keep track of something and know that no matter where you put him he's always going to be pointing at the same thing, sometimes it's going to be easier to move him around than, say, the 72-story building he's pointing at.
If you need to explain it more technically then the simple truth of them tracking the memory address of something has always seemed the best approach - then start learning what that actually means if need be. Anyone hoping to end up using C for much and not be shooting yourself in the foot constantly should be learning at least the basics of such things anyway.
Since hearing about it we have a port of a large project in progress and whilst the typing is nice, the improvement in build time alone looks like making it a worthwhile exercise.
Big things to come I suspect, particularly with it feeling like such a natural progression of so much of FB's recent JS work.