Hacker News new | ask | show | jobs
by shirleyquirk 1276 days ago
>needs an offramp

I couldn't agree with you more.

I work with artists who build great teetering cathedrals on top of Arduino(and Processing), and it's really difficult to incrementally move to a more serious solution once things have reached a certain level

Specifically the things it does that bake in bad habits are:

- Encouraging globals

- Everything in one namespace

- Arduino is not C++

- not needing pre-definitions(mostly) and spamming all .pdes into the same file leads to tangled code that's really hard to pull apart into modules, even if it's separated in tabs in the Arduino editor

- delay: not composable!

- for esp specifically: Thinking in terms of a single loop function Vs multiple rtos threads

- the ide is terrible, and encourages a copy-paste workflow because that's how best to work within it

2 comments

Use Platform IO (I use it inside Visual Studio Code). It's C++. You don't have to use globals. .pde is processing, it's not required to use that (I write python scripts that talk over serial instead). ESP32 in Arduino supports multiple threads (cores).
> Arduino is not C++

How so?