6 ms·
>The Portenta H7 is capable of running Arduino code, Python and JavaScript, making it accessible to an even broader audience of developers. "Here, now you can
by mdszy 7y ago
>The Portenta H7 is capable of running Arduino code, Python and JavaScript, making it accessible to an even broader audience of developers.
"Here, now you can buy hardware that enables you to hire bootcamp-level devs to do your professional industrial work. That way you can pay non-professional wages for professional-level work!"
Stop normalizing putting bloated, heavy languages on embedded platforms.
- jdietrich 7y agoYour phrasing is snarky, but you make a reasonable point. Arduino performance is already atrocious with C and it's only going to get worse with a higher-level language.
- mbanzi 7y agoatrocious ??, maybe on an 8 bit 8mhz device you can go faster if you write optimised assembly code but this is a 240Mhz+480Mhz device it's a different world....
- mdszy 7y agoUsing more powerful hardware as an excuse to make shitty software is incredibly flawed.
- liamdiprose 7y agoSome friends of mine are entry-level developers that work alone on an Arduino/C++ codebase. Baremetal development and C++'s bad library support encourages them to write huge amounts of their own, very bad, code. They've taken a year to write the functional equivalent of a few hundred lines of Python and some packages. Their codebase would improve immensely if they used a more powerful chip to run Linux and Python instead.
- spookthesunset 7y agoWhat a bunch of gatekeeping fuddy-duddy nonsense. Give me a break... If newer hardware makes it cheaper and easier to make cool shit while maintaining the price point and power budgets of previous generations, who gives a shit? This new stuff makes tinkering with hardware way more accessible than before and that is a good thing for everybody.
- jdietrich 7y agoWe have every right to gatekeep when Arduino are targeting industrial IoT developers. I don't want "tinkerers" designing products that could control industrial equipment or have access to sensitive user data. Arduino is excellent for what it was originally designed for - an easy, accessible platform for artists and non-engineers to experiment and prototype. Arduino are now reaching well beyond that market and targeting more serious applications, so we are entirely right to question whether a) Arduino's design trade-offs are acceptable in mass-market products and b) whether we really want to lower barriers to entry in this area. Personally, I think the answers are a) no and b) absolutely not. If you need the hand-holding that Arduino offers, you have absolutely no right to ask a user to plug your widget into their network. Engineers are in a position of trust and we have a moral obligation to treat that position with absolute seriousness.
- jdietrich 7y agoThe entire point of using bare-metal MCUs is to achieve efficient, deterministic performance with tight control over timing. All that goes out of the window if you're using a software stack that uses 30 instructions to toggle a digital output pin. If you're going to use something that's basically a late-90s desktop and develop on the basis that you can afford to burn cycles, you might as well use a proper RTOS and enjoy all the affordances that come with it.
- dragontamer 7y ago> Stop normalizing putting bloated, heavy languages on embedded platforms. Last time I checked, PICBasic was a thing, and spawned a generation of programmers. Comodore 64 Basic, and TI-83 Basic were also simplified programming environments. (TI-83 implemented jumps as a O(n) lookup throughout your code... jumping to later functions was more costly than jumping to earlier functions...). Its the simple programming environments that spawn new generations of programmers. Today, "Basic" is no longer the starting point, today's beginner programmers use Javascript or Python. But there always were "beginner" languages, no matter how slow computers were in the past.
- mdszy 7y agoIf the choice of language is because it's beginner-friendly, and the use-case is industrial hardware, then the choice is only being made so the company doesn't have to pay professional-level salaries.
- dragontamer 7y agoCan the same hardware not be used for both industrial, and beginner-friendly settings? Some of the biggest successes are because beginner-friendly kits were delivered to universities. Linux and Unix are a great example of this: students taught in Linux / Unix environments (even using "toy" languages like Python) end up growing into professionals who... still use Linux. One of the most important business moves for a "platform" is to figure out how to get beginner-level students comfortable with your platform. Linux somewhat did this accidentally, but today we need to purposefully create that environment. -------- Besides, even on the same project... not everyone needs to be an expert embedded engineer. By allowing Javascript onto the platform, you can hire a Web GUI-developer who probably knows a lot more about UI-design than you. The Web GUI master can work their Javascript into your application, and run code side-by-side with your tightly optimized C code. No, it won't be efficient. But that's what a 480MHz processor is for, to help you run less efficient code at speeds that are acceptable. This isn't even hypothetical: with WiFi 802.11 n support, this Arduino could very well be running Web-applications served from some centralized location (distributed wirelessly over standard LAMP / HTTP stacks). It will be up to the C System programmers to ensure that a locked-up GUI thread won't wreak the system (or break realtime promises)... but there would be major benefits to distributing applications over standard internet mechanisms.
- arsome 7y agoArudino isn't great as a platform for industrial work anyways - most industrial applications will spin their own boards or run higher end PLCs that have more rugged designs and protections built in for industrial environments. Arudino however is great as an experimentation platform, where having access to things like a Python or JS REPL can make experimentation a pleasure, being able to rapidly update and prototype is much easier when you don't have to reflash and reboot every time. I recently bought a door access control pad, plugged it into an ESP32 and messed with it using MicroPython to better understand how it'd produce outputs. The datasheet it came with was lacking to say the least, but this was a big savior.
- mbanzi 7y agoRespectfully what you say it's not entirely true. this product family is the response to the emergence of a lot of industrial automation projects that are built on Arduino hardware. Not everyone is building a nuclear plant or an artificial lung but there are plenty of SME companies solving problems with Arduino