I don't think its an issue of "first" language, so much as what you are used to programming in. When you spend a lot of time with a language, its tools, failings, and idioms tend to shape how you think about programming problems. If that isn't the language you are actually using, and that language's toolset doesn't quite map, the results can be rather awkward. This is why it has been said that an experienced Fortran programmer can write Fortran in any language. Dijkstra said something similar but a bit more blunt:
It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.
(full disclosure: My first language was BASIC. Dijkstra nonwithstanding, I think I managed to regenerate nicely.)
One example I used to see a lot was string manipulation in Ada, which gives C coders fits. The idiom in C always was to declare a big honking array holding all the characters you could ever possibly need to put in your string (you hope). Manipulating it after that is fairly easy, if rather unsafe and slow, as everything in C understands that a string is terminated with a NUL character.
In Ada strings are not NUL terminated. They end where their storage ends. Unlike C, it is fast and easy to figure this size out whenever you need to. There are some tricks you can use to defer declaraions, but it is not all that easy to dynamicly build these perfectly sized strings. So the idiom in Ada is to try to work with constant strings which you declare up front (avoiding dynamic building). It works great, but gives C coders fits because they have real trouble thinking about strings that way.