Hacker News new | ask | show | jobs
by pekk 4647 days ago
If you want to do new things, why not learn appropriate ways of doing those things? Is it really so hard to use more than one language when that makes technical sense?
4 comments

As a member of a small startup (4 person technical team, all of us holding down day-jobs as well), the _prime_ decision trigger for technology is "what 'way of doing things' is the person allocated to a particular task going to be most productive in right now?". That's driven us in some directions that're non-obvious to outsiders - our stack is basically ARCH Linux, CherryPi, Python, Arduino, HTML5/JS - I can easily see people thinking "WTF? Why?", but there's some very good reasons behind those decisions - reasons which have probably allowed us to get to market 6 months earlier than if we'd chosen the stack based purely on technical merits rather than considering the skills and competencies of the existing team.

If we'd had corporate funding behind us, it'd almost certainly be different. But as a small startup, I'm 100% sure our slightly odd choices are the right ones for us. (And I could easily see why a different startup might decide node.js/javascript on the hardware was the correct choice for _their_ technical/development team)

This is perfect logic for a small startup, it is less so for a hardware team that is going to be pay dearly for changing decisions they make today (moreso than a software team). Hitting a big ecosystem is definitely a viable reason to do something when targeting developers, but what about the longer term costs associated with it? Their goal is to be the bridge that lets web devs start bringing hardware online. I think it's fair to say that other less painful languages with large developer bases were available, and some have the holy trinity of sucking less, being able to run faster, and having a sufficiently large ecosystem around them.
FWIW, we are a "hardware team" as well as a software team - and we're fully aware of how much some of our decisions might cost us down the track if we don't get things right enough" today… (details masquerading as shameless self-promotion http://holiday.moorescloud.com and http://dev.moorescloud.com ))
Admittedly my comment (as most comments on the internet) was a bit of armchair generalship. I honestly wish you guys the best because it's a cool concept. Would you guys consider building something for programming in Lua directly as an alternative to the JS to Lua bytecode conversion?

I just wish it hadn't been in JS, partially for the selfish reason that JS inexplicably makes me un-focus in a way that no other language can (it might be the formatting? honestly don't know why).

So I (and "we" in my posts upstream) are not the original posts JS hardware team.

(FWIW, on _our_ hardware, flipping the "dev mode" switch to "on", ssh-ing into your xmas tree lights, uncommenting the ARCH/ARM repos in mirrorlist, and running "pacman -S lua" should just work. The API for our compositor (which abstracts the fine timing details of controlling the WS2812 LEDs) is available and documented both on our dev site and on github (or if it's not today, it is scheduled to be up there by next week I think).

For some people it may be easy. For others they may have awesome ideas but decide not to execute on those ideas because learning Arduino C++ or figuring out how to install Node on a RaspberryPi seems like a large barrier to entry for them. Maybe some of those people are those that make those awesome websites, and maybe with an embedded controller that feels more like the environment they're used to, they're more likely to bring their awesome ideas to fruition.

Disclaimer: I went to school with the Tessel folks.

Why is Javascript inappropriate in this case? It might not be the first choice for embedded systems, but what makes it inappropriate?
yeah we should just develop everything in assembly