ESP_Sprite wrote: ↑Tue May 28, 2024 2:58 am
You are absolutely right. The other side of the coin is that you cannot please everyone: some people want a Python-less environment, some people will want to be able to run ESP-IDF on a RiscV SOC or their FreeBSD-based PowerPC workstation; some people will want to use Visual Studio, some people want command-line integration. Some people want to integrate the ESP-IDF utilities in their automation workflow as well, and they'll have a hard time if we don't write those utilities in whatever language they use for their automation, whatever language we pick.
So ideally, we'll make the greatest common denominator of people happy with the least amount of effort on our side (so we can spend more effort on making our chips and software better in other ways). Using Python is one of those ways: it's perfectly adequate for the large majority of people, and it makes our lives easier so we can spend time on other things. Again, there's no way to make 100% of the people happy without an infinite amount of money and developer time: for instance, if we were to make a Python-less SDK, we'd need to take people away from other projects to develop that, meaning bugs won't be fixed and no advances would be made there. That would make others unhappy, meaning we still can't get to that 100%. So in conclusion: we need to strive to get most people (but not all!) happy for the least amount of work, and in this particular case, bits of the SDK being in Python helps us with that.
To put it very directly: you as a person do not fall in the 'most people' segment here. I'm gonna be very blunt: you're the very first person with such an amount of hate for Python I've ever encountered in the half a decade or so we've been integrating Python into our SDK. Even if you are the most vocal 1% of a group that thinks like you but stays silent, that is only a hundred people. As an indication: the ESP-IDF SDK has around 12K stars, so even compared
to the amount of devs starring the esp-idf repo, you're only representing around 0.08%, and I think those calculations are very generous. On the other hand, it's not like you're asking for anything trivial: nothing less than the entire rewrite of the SDK and tools into anything that is not Python will do.
Again, I'm gonna be very blunt: with the incentives you put on the table (which at its worst seems to be 'I won't use my ESP32 unless you get rid of Python'), that is not gonna happen. If you feel like you can't use the ESP32 for that reason, then I will respect that and I'll honestly hope you'll have better luck with the SDKs our competitors provide.
dear friend,
you caught the thing: i'm one who "with such an amount of hate for python" didn't just say once "f@ck-it", but despite the "hatred for python" gives a chance to the platform.
well... disassembling some fridge thermostat i see PIC in it. in universal battery charger "imax b6" - AVR or even MCS51. in some powerful UPS - PIC again. in receipt printer with fiscal device - NEC850 + AVR. in cash register - STM32. in laser printer - NXP LPC. in intercom and access control system - PICs and AVRs. in electric scooter - STM8 and STM32. in power meter - PIC. in JTAG adapter - STM32 or LPC...
you know where i saw ESP32? inside a "smart-ass" electrical outlet - with only feature: enable/disable remotely! no timer, no power measurements, no overload protection - nothing, just on and off from android app.
is ESP32 hardware too frail for e.g. power meter, intercom, UPS, battery charger or cash register? with all it's UARTs, ADC/DAC, PWM, SPI/I2C/..., on-board RAM volume, running frequency - well, 5-volt-tolerant 20-mA+ capable GPIOs would be really nice here, but it's not a blocker - more than good enough. definitely.
but we don't see it all there. why?
you've probably noticed: while CPU power and storage capabilities grow over time, software quality slowly and inevitably decreases. i had chances to see with own eyes how crappy software was pouring good and even outstanding hardware down the drain. no, i am not saying "you're doomed", especially when almost everyone does that way... you only missing the opportunity to offer something outstanding, nothing more.
so, using poothons(eager C/C++ indexing, implicit headers, "waterfall" online installation, ...) is perfectly adequate for the large majority of people...
... of people, developing "smart-ass" "on/off-remotely" electrical outlets.
and the other segments in which, due to the economic situation now, ESP32 *could replace* current platforms, we simply won't consider.