After reading these posts I looked at the Arduino IDE briefly (never done that before) and it looks kind of cute to me. It does create a layer of hardware abstraction. It is really easy to start blinking LEDs or outputting "Hello World" on LCDs (don't have Arduino to actualy try, but easy to do the software). However, when you're programming multitasking controller it may not be the best thing.
It reminds me of Visual Basic, which lets you create some simple programs really quick, but won't let you do anything complex. But hey, people wrote commercial programs on VB.
I would agree that software development for MCUs will undergo certain Arduinization in the near future and we may even see "managed" solutions alike C#. As it will allow hundreds of people to start doing MCUs, the needs of sparse programmers doing it the "old" way will get depressed. To cover all the inefficiencies, the more and more complex and powerful MCUs will be developed and become standard. Software will get buggier and buggier. At the end, MCUs will get extinct because new devices will be capable of running Linux, which will be a real break-through on the programming simplification route.
The "advanced instructions" in PICs don't add much and don't really improve anything (I may be sllightly wrong here, I judge by PIC24E comapred yo PIC24F). I think it's more of a marketing stuff - new PICs designed for C - why would anyone buy other processors which are not designed for C?
Taken from the datasheet
Extended Instruction Set:
The PIC18F2682/
2685/4682/4685 family introduces an optional
extension to the PIC18 instruction set, which adds
8 new instructions and an Indexed Addressing
mode. This extension, enabled as a device con-
figuration option, has been specifically designed
to optimize re-entrant application code originally
developed in high-level languages, such as C.
Does it only seem nuts to me, that you then bring out a new compiler and IDE that cant use, these extra instructions which were designed to be used with there C compiler!!! The worse bit is, you have to disable the extended instruction set in the config settings or your code dosnt compile correctly, also on the forum there is talk about the usb stack, that has to be altered because it used some of the extra instructions, and now it cant.
I would like to use pics again, but for now anything new I wont to do will be 8051 or ARM, I find ARM far easier to get to grips with.