Non conosco studi formali sugli effetti dell'uso del linguaggio di programmazione sulla competenza della lingua madre, ma posso condividere prove aneddotiche e teorie dell'animale domestico.
Prima di tutto, anche parlando più di una lingua naturale ha effetti collaterali interessanti. Se, per esempio, dovessi viaggiare in Francia, parlare solo francese per diversi anni, e tornare negli Stati Uniti, probabilmente mi ritroverò a pensare in francese e a dover correggere occasionalmente il mio inglese. Questo mi è effettivamente successo dopo le vacanze in Quebec.
I linguaggi di programmazione non sono correlati ai linguaggi naturali, poiché sono progettati per eseguire un'attività e / o rappresentare tipi specifici di dati e relazioni tra / operazioni su detti dati. I linguaggi naturali si evolvono in modo organico e si occupano di concetti molto più confusi rispetto ai linguaggi di programmazione, in generale.
Per quanto riguarda la punteggiatura, ci sono stranezze che i programmatori tendono a sviluppare, ad es. mettere la punteggiatura come periodi e virgole al di fuori dei segni di punteggiatura. Perché lo facciamo? Il controllo del flusso (punti, virgole) non deve essere incorporato in una stringa letterale.
Penso che se la programmazione influisce sull'uso del linguaggio naturale, è perché la programmazione cambia il modo in cui si pensa. Tendiamo a voler essere più precisi di quanto le lingue naturali generalmente consentano. Ci sentiamo frustrati dall'ambiguità perché causa avvisi nel compilatore nel nostro cervello .
Non direi che è necessariamente una cosa buona o cattiva; ma c'è una ragione per cui esistono determinati stereotipi sui programmatori, come ad esempio:
- Siamo terribili nello scrivere la documentazione
- Siamo cattivi a comunicare con persone non tecniche
- Tendiamo verso la visione del tunnel e non mi piace il cambio di contesto
Naturalmente, questi sono stereotipi e non verità universali, ma gli stereotipi cominciano da qualche parte. La mia spiegazione per questi si riduce a "non è un bug, è una funzionalità!"
Preso uno alla volta:
- Non scriviamo una buona documentazione perché:
1) ci vuole tempo per scrivere codice,
2) il nostro codice dovrebbe essere 'auto-documentante', e
3) è un lavoro per uno scrittore tecnico, non un programmatore.
- Non comunichiamo bene con persone non tecniche perché siamo bravi in quello che facciamo e quindi non pensiamo più come persone non tecniche.
- Tendiamo verso la visione del tunnel perché le chiusure e lo scope lessicale sono molto buone e il cambio di contesto è costoso.
Quindi, non sono sicuro che sia utile, ma è qualcosa che mi sono considerato in passato. Per quanto riguarda una soluzione al tuo problema? Non tenere il tuo inglese allo stesso livello del tuo codice. Non è che tu possa scrivere test unitari per i tuoi lavori a tempo. Fai del tuo meglio, usa i correttori ortografici e grammaticali, trova un peer da correggere prima di inviarlo e se ti blocchi, c'è sempre link