I was having a conversation with a CS teacher in a nearby district, one who has more years teaching CS than I, and someone I respect greatly. We were discussing the pros and cons of starting with block based programming, in this case, App Inventor in particular.
He mentioned how he at first was kind of dismissive of block based programming, because he didn't view it as "real" if you were having to tangle with the syntax and all the other hurdles of a text based language. But as he has actually used a block based platform for the first time this fall he said he was having some interesting thoughts, ones that will take a few years to find out the results, he said.
What he mentioned was he noticed that because his students WEREN'T getting mired in syntax, they were focusing on the structure of concepts themselves, such as how a conditional or loop is built. He also said that he always thinks of any new language in reference to the first one he learned, in his case C++ I believe.
Anyways, they were interesting thoughts that got me thinking too! I know the main purpose of the block based languages is to make a "lower floor" for entry, but this is a cognitive/pedagogical notion. I will be curious to see what he and I think in a few years!