I used to use the trusty old MPLAB, but today I needed to develop code for the new 16F18323, which is a very nice chip feature-wise, for low cost 8 bit micro. MPLAB does not seem to support it, but MPLAB X does. So I installed MPLAB X - bloatware extraordinaire, almost as bloated as Atmel's Studio 7. I used the MPLAB XC8 compiler and their graphical code wizard addon.
MPLAB XC8 compiler (or the IDE) had this bug with this line in main():
getch(); // No problems compiling
char ch = getch(); // Blows up with a 712 "can't generate code for this expression" error.
Nothing wrong with the function or prototype char getch(void); which was created by the Graphical Code Generator to get a character from a EUSART receive character interrupt.
I wasted at least a couple of hours trying to work out what was wrong. Search the Internet. Nothing particular. Paths maybe? Restarting the program does nothing. I eventually reboot the PC for another reason. Voila! Problem gone. What crap. So what more bugs are there? I feel like swapping to the more expensive pin-compatible 16F1823 just to get the job done under MPLAB 8.
As bloated as Atmel Studio 7 is, it seems pretty robust and has some nice features. I compiled a fairly complicated piece of code for an Atmel ATxmega128A1 and it worked fine. That IDE is bigger than Texas. Why does a C code environment need a Microsoft based spell checker that is built in? In any case, it appears they have done a reasonable job, except for the bloat.
The king of bloatware compilers is Microsoft's Visual Studio Community Edition, installed over old Visual Studio versions. It's a Community Edition alright, a community of bugs you can't kill. What a bloody mess. Uninstall everything. Clean the registry. Different bugs. Lather. Rinse. Repeat. Still dirty. After a day of stuffing around, install on another machine - it works. Maybe Weird Al Yankovic can do a video on Visual Studio I'm Fat Edition.
I think decent companies (that excludes Microsoft for a start) should adopt the paradigm of KISS (Keep It Simple, Stupid). Instead they try to be all things to all people in one bloated package. That is why I liked the old MPLAB. It just bloody worked.
OK, they are "free" except for the time wasted. Should I quit complaining because these IDE's/compilers are free and not properly tested, ie: use at your own peril? Or should we expect more, because we are buying their chips and using the compiler to sell more of their product? Not sure what paradigm to use, but I dislike all the glitz, glamour, adverts, and "Where do you want to go to today" bloatware. I just want a tight, efficient, fast and easy to use, and above all, reliable compiler, using for example Notepad++ and/or Eclipse for the editor. Am I asking too much? Have these companies lost the plot, or am I just getting old and grumpy?