The Arduino IDE offers two environments for coding the Raspberry Pico, one based on open source Mbed the other on earlephihower which is derived from the official RP2040 C / C++ SDK.
I would like to know the pro's and cons's between using either of these implementations
Am trying both and often there is confusion re pin numbering / compatibility when trying to understand why example code is not working as documented.
earlephilhower's implementation is geared infinitely more for multicore applications, RTOS, advanced sdk commands, state machine controls etc.
Mbed is easy to use and familiar for arduino users, it boasts the general single core everything is safe for begginers methodology of arduino code, sacrificing the heaps of performance for ease of use.
If you are a beginner to coding in general use Mbed hence you won't be familiar with multicore aspects, like semaphores atomic executions, race conditions etc.
But if you know a fair bit of programming and want to improve on and use what
industry needs, I deffinitely reccomend arduino-pico from earlephilhower, and even bare pico-sdk but arduino-pico should be a nice starting point with good documentation and ability to use partial arduino libraries commands, whilst not sacrificing the use of commands from pico-sdk.
..."if you are a beginner to coding in general use Mbed"... My introduction to programming was in the 1970's using assembler (Intel 4004 and 8008 processors) and throughout my working life I have had exposure to progressively 'higher' languages (Cobol, Fortran,...) and some proprietary code used in early computer assisted bio-medical research equipment (74 series logic based) but never have I been employed as a 'programmer'.
Have 'experimented' (played) with Arduino boards for a few years but recently was asked if I could develop an application to run on a micro controller (Raspberry Pi Pico). I confirmed 'proof of concept' using a Raspberry Pi SBC running Linux but developing application to run on the Pico is a new learning curve.
Considered MicroPython (seemingly MUCH friendlier) but performance and overhead when compared to C/C++ was a deciding factor.
Tried several other IDE approaches but the Arduino IDE seems to hurt my brain less...
Your question does not indicate a problem with the IDE 2.x (or 1.x for that matter) but has more generic nature. Hence I've moved your topic to a more suitable location on the forum.
I find the overhead and performance loss introduced by MBED to be excessive and depressing.
Micros() on a 120Mhz cpu should not take 4us to retrieve the value of a hw counter, for example.