I keep finding references(a few new ones today alone), about not using String class because of a bug, if I understand correctly the problem was with memory allocation, am I correct in thinking this has been addressed in 1.0.4 release or is this something different?
ARDUINO 1.0.4 - 2013.03.11
[core]
Fixed malloc bug (Paul Stoffregen)
I downloaded and ran Nick Gammon's test code and it seemed to run ok on 1.0.4
The other issue people seem to have with String class, is that it is wasteful and better achieved with cstrings, that I am off to do some research on, seems it should be well covered the amount of times it comes up without me wasting everyone's time and asking again.
That's it's biggest problem. Combined with the fact that String doesn't really offer any benefits over strings.
Sure it offers benefits over strings. Strings are simple and easily understood by new coders compared to the more complex string operations. Somewhat like the old windows providing an easy to use shell for DOS. Plus Strings provides a broom stick that is often fun to twist.
If you read serial characters and add each to a String as it comes in, the String copies itself with the new character added and erases it's old self leaving a hole that the next copy won't fit in but the 3rd will before the cycle begins again as the next character is added, etc.
If your program defined a String before other well-behaved variables then the hole left when it copies bigger may never get used.
When I have time-intensive code that is also logging reports, do I need Strings soaking cycles and heap to jump through convenience hoops so I can be ignorant of my hardware and how my code does or does not fit? No. I want my code to be tight and fast, not dimwitted.
The thing about to String or not to String is practice and familiarity. It is usually better to stick with one way and know it well than be so-so at both, but if you've got it in you to be good at both then shine on, you diamond!
But most of us choose at least on one environment or other just one way and when it comes to being able to give or get much help, see who responds when you call for it and what they can do.