4 ms·
> These board creators just want to ease the path for most web developers to become hardware developers. It not only opens up a whole new industry to work with,
by weland 13y ago
> These board creators just want to ease the path for most web developers to become hardware developers. It not only opens up a whole new industry to work with, but also it creates a good 'filter' to filter out the bad ones. I will explain.
What exactly happened to the programmers who, upon realizing that they had to use a new technology, learned the new technology instead of feature-creeping something until it gets to their familiar JS boat.
I'm not going to rant that this is never going to fly. Were it based on technical consideration, the current image of Web 2.0 would have sunk like a rock, let alone even try to fly. But this is horribly inefficient and backwards that encouraging seems incredibly detrimental to our field.
Come on, people, it's not that hard. If you want to do embedded development, a reasonable subset of C is all you need to know, and it certainly takes less to learn that it took to learn half a gazillion JS frameworks. Ask your boss to give you a one or two-week leave and give you a break from your 70 hours a week streak, and learn something that's actually new for a change.
- TheZenPsycho 13y agoCome on people, it's not hard- if you want to program computers, reasonably structured assembler is all you need to know, and it certainly takes less to learn than it took to learn half a gazillion C libraries.
- weland 13y agoThat's a carricaturized view of it, from which I gather you haven't done much embedded programming. A subset of the (famously thin) standard library is quite sufficient.
- TheZenPsycho 13y agowell good for you then. I guess you don't need this product and you can move on.
- jdmichal 13y agoOf course it's characterized. That's the whole point of a reductio ad absurdum argument. You're basically making the same argument as the old guy yelling at kids to get off his lawn. Out of curiosity, what do you think about Lego Mindstorms? Especially the later versions which allow a large multitude of programming languages to be used?
- TheZenPsycho 13y agoTo be fair, I think some kind of assembler (such as z80 or 6502) probably would be much easier to learn than any subset of C.
- outside1234 13y agoThis is increasingly a false choice. If you use node.js, you have both JavaScript and native modules. Use JavaScript for the non performance critical parts, use C for the parts that touch the hardware, and leverage the great node ecosystem.
- camus 13y agoi quote "leverage the great node ecosystem" : which is not written with performance on embedded in mind => useless. Embedded dev is all about performances, power consumption ,etc ... it is about focusing on hardware , not about how much libraries you can throw at a problem, since you usually do not throw any,because of limited memory, computation power...
- weland 13y agoLeveraging the great node ecosystem comes at a significant cost in terms of power consumption, complexity of the manufacturing process, board size and of the system itself. Power consumption and, to some extent, board size have been very significant drags for the Internet of Everything. Mindlessly throwing libraries at them just to help people who are too lazy to learn a new programming technology is only adding a drag on it. I certainly don't want to drag this into the mud. It's certainly a good learning platform which can provide exposure to a range of devices for people who would otherwise not even hear about them, or for whom the initial technological barriers would be too high to overcome in a single evening. But this is far, far from adding any kind of value to the struggle towards universal Internet connection.
- bobbydavid 13y agoIf what you say is true, it's a bad sign for the future of hardware. If we fundamentally can't leverage existing libraries, we can't build the standing-on-the-shoulders-of-giants complexity pyramid that allows for such reliable, rapid development in other spaces. It will always remain a niche field.
- weland 13y ago
- NathanKP 13y agoThe key draw of running Node.js code in the embedded environment for me is that it works out of the box with all the web libraries that I'm already familiar with. With Node.js I can easily leverage existing modules to do things like make a device that responds to social media by accessing my Twitter account and when it sees a new tweet mentioning my company make a light flash or something like that. I would hate to try to code such a program in C for connecting to the web. Sure I could definitely do it if I took a couple weeks off, but from what it looks like I'll be able to code that program in under an hour using the Node.js I already know and the libraries that the open source community has already developed. Anyway, that's why I ordered a Tessel and am looking forward to developing with it. If it turns out that I really fall in love with embedded programming then sure I'll bust out the C compiler and learn the low level coding. But in the meantime I welcome the chance to learn about Node.js in a familiar environment where I can get stuff built quickly using a toolset I already know.
- weland 13y ago> I would hate to try to code such a program in C for connecting to the web. Why would you want to connect a wall switch to the web in the first place? The Internet of Things doesn't necessarily have to mean the WWW of things. For instance, you can always expose low-power devices through a low-overhead, low-power & short-range communication protocol to a <that-protocol-enabled> router. It also makes sense to have all of those devices configured from there (indeed, via a web interface exposed on the gateway) rather than having a web server on each of them.
- NathanKP 13y agoFor what it is worth this is one of the upcoming stretch goals: nRF24 – low power wireless communication with mesh capabilities (good for tying lots of Tessels together without WiFi) So one Tessel can be the web server to connect a cluster of Tessels communicating via nRF24 to the web. Or you could use one Tessel as the router to connect a bunch of nRF24 Arduino devices to the web.