Impareresti qualsiasi linguaggio naturale in particolare per la tua carriera di programmatore? [chiuso]

52

Sembra evidente che l'inglese è la lingua internazionale dominante per la programmazione basata su precedenti domande su P.SE (anche se un commento molto pubblicizzato indica correttamente che porre una domanda del genere su un sito prevalentemente inglese distorce i risultati).

Tuttavia, c'è beneficio nell'apprendimento di una lingua straniera per lo sviluppo del software? Ad esempio, i cinesi hanno strumenti software, lingue, tecnologie, ecc. Completamente diversi? Che ne dici di giapponese, russo e altri linguaggi non latini? Esiste un intero mondo di linguaggi di sviluppo software, strumenti e così via che esistono solo in queste altre lingue?

O le persone che conoscono queste lingue usano gli strumenti e le lingue che conosciamo e amiamo?

    
posta Anonymous 26.06.2013 - 12:16
fonte

14 risposte

44

Ho intenzione di rispondere alla tua domanda sul titolo. La risposta è sì, ma non per i motivi che stai cercando. Essere multilingue nelle lingue parlate, IMO, può aiutarti a separare le idee dalle cose usate per esprimerle. Per ragioni simili, consiglio di apprendere almeno un linguaggio di sintassi non basato su c se ne hai avviato uno.

    
risposta data 26.06.2013 - 18:18
fonte
13

No. Non ti stai perdendo nessun materiale di studio.
Come madrelingua olandese, posso prometterti che il mio ambiente di sviluppo + la maggior parte del mio materiale di riferimento è scritto in inglese. Ci sono alcuni sillabi scritti in una lingua diversa, ma posso assicurarti che non c'è alcuna magia in nessuno di essi.

Tuttavia, posso immaginare che la documentazione su API / webservices / progetti o commenti nel codice sorgente possa essere in una lingua diversa dall'inglese. Per questo ti suggerisco di coprire alcune delle lingue più parlate: spagnolo, arabo e cinese

    
risposta data 26.06.2013 - 12:48
fonte
12

Potrebbe avere senso quando vuoi specializzarti in una tecnologia specifica sviluppata in un paese non inglese.

SAP, ad esempio, è un'azienda tedesca. SAP ERP, il colosso di un software di solito denominato "SAP", ha la maggior parte dei suoi moduli software utente scritti in ABAP proprio linguaggio di programmazione di SAP. Come sviluppatore puoi (e spesso devi) guardare il codice ABAP.

Una decina di anni fa la maggior parte dello sviluppo ABAP si è verificato in Germania e non c'era alcuna politica che i commenti e gli identificatori dovessero essere in inglese, quindi si trova molto tedesco nel codice ABAP legacy.

Come sviluppatore ABAP ho spesso bisogno di eseguire il debug del codice legacy scritto da SAP. Sono un madrelingua tedesco quindi è solo un lieve fastidio per me cambiare mentalmente tedesco e inglese, ma ho davvero pietà di tutti quelli che non parlano tedesco e si trova improvvisamente in codice sorgente in tedesco.

Troverai anche qualche tedesco nelle API precedenti. Ad esempio, l'ora corrente si trova nella variabile globale SY-UZEIT . "Uzeit" è l'abbreviazione di "Uhrzeit", che è il tedesco di "Time of the day". Un customerID è un KUNNR ("Kundennummer"), una quantità di denaro nella valuta della casa è un BETRH ("Betrag - Hauswährung") ecc.

Ho ascoltato aneddoti di poveri programmatori ABAP non tedeschi che hanno un dizionario tedesco proprio accanto al loro libro di consultazione ABAP.

    
risposta data 26.06.2013 - 16:45
fonte
9

Se non pianifichi la tua carriera sul posto come la Cina con un mercato autosufficiente, scommetterei che l'inglese è più che sufficiente. L'hobbista può usare altre lingue, ma in tutte le opere a pagamento che ho visto ovunque l'inglese era la lingua obbligata. Anche per motivi pratici.

D'altra parte conoscere più lingue può aiutare la tua carriera nelle attività satellitari. Molti programmi sono localizzati e sia la traduzione che i test richiedono che le persone conoscano la lingua di destinazione. È una preziosa "abilità". Quindi se hai affinità per questo, vai avanti e apprendi.

    
risposta data 26.06.2013 - 13:02
fonte
8

Sì, l'apprendimento di un'altra lingua favorirà la tua carriera di programmatore. Questo perché, a mio parere, l'apprendimento di un'altra lingua promuoverà qualsiasi carriera.

Questo è per diversi motivi, alcuni dei quali sono già stati trattati sopra:

  • Imparare un'altra lingua espanderà i tuoi orizzonti; ti esporrà necessariamente ad aspetti di un'altra cultura e modo di pensare e ti darà esperienza nel mappare questo ai tuoi pensieri. Ovviamente, questo ha paralleli con la programmazione, ma è anche un'abilità generalmente utile per la comunicazione tra le persone.
  • Imparare un'altra lingua (specialmente la tua seconda) ti aiuterà a capire come funziona la tua lingua, perché sei costretto ad analizzare come funziona la grammatica della nuova lingua e come si mappa alla grammatica della tua lingua, piuttosto che alla cieca accettando che "è così com'è". Anche se nella tua carriera usi solo la tua lingua madre, una migliore comprensione ti aiuterà a comunicare in modo più efficace.
  • Avere anche una piccola conoscenza di un'altra lingua può farti sembrare davvero buono. Tutti, tranne le aziende più piccole, dovranno confrontarsi con fornitori o clienti stranieri. Anche se entrambi gestite la vostra attività in inglese, la possibilità di scambiare piccoli convenevoli (ad esempio saluti) con persone nella loro lingua nativa crea una buona impressione. Essere disponibile a creare questa buona impressione aumenterà la tua posizione con la tua azienda.
  • Conoscere un'altra lingua ti aiuterà a comunicare in modo più efficace con i madrelingua di quella lingua, anche se stai usando la tua lingua madre. Questo perché è possibile individuare i tentativi di utilizzare costrutti che sono comuni nella lingua straniera e ottenere il significato da essi, anche se non sono così chiari nel proprio. Allo stesso modo, ti aiuterà a individuare e capire eventuali falsi amici che potrebbero apparire.
  • Conoscere bene una lingua apre la possibilità di lavorare in paesi in cui si parla quella lingua. Questo amplia il bacino di potenziali lavori a tua disposizione, il che a sua volta significa che avrai più opportunità per promuovere la tua carriera.

Quindi, per rispondere alle tue domande direttamente: l'apprendimento di una lingua straniera aprirà una sorprendente nuova gamma di linguaggi di programmazione e risorse di apprendimento? No. Ti renderà un ingegnere del software migliore? Probabilmente non direttamente. Ma ti aiuterà a diventare una persona migliore, più completa, più occupabile e far progredire la tua carriera? Assolutamente.

    
risposta data 26.06.2013 - 21:15
fonte
7

Se l'inglese è la tua lingua madre, l'apprendimento di una lingua straniera probabilmente non aiuterà molto la tua carriera di programmazione. Personalmente, penso che conoscere le lingue straniere sia un ottimo esercizio generale che espande i tuoi orizzonti ("Wie viele Sprachen du Sprichst, sooftmal bist du Mensch"), ma se stai cercando solo guadagni immediati, probabilmente non ne vale la pena.

A parte la realizzazione del Sé, ecco alcune situazioni in cui penso che potresti trarre beneficio dalla conoscenza di una lingua straniera per ragioni puramente pragmatiche:

  • Cooperazione con partner o clienti dall'estero. Anche se non conosci abbastanza bene la lingua per comunicare, conoscere alcuni concetti di base può farti prendere coscienza dei problemi che potrebbero sorgere nella comunicazione o dei problemi che gli utenti di lingue straniere potrebbero avere con il tuo prodotto.
  • Lavorare su qualsiasi prodotto che deve essere internazionalizzato bene. Senza conoscere le basi di alcune lingue straniere, potresti rimanere a chiedermi a cosa servono tutte le librerie i18n complesse (ad esempio perché il messaggio "% d nuovi messaggi" potrebbe richiedere diverse traduzioni diverse nella stessa lingua a seconda del valore di% d) .
  • Aiuta a comprendere le complessità della corretta gestione Unicode.

Tuttavia, come accennato in precedenza, in molte situazioni i benefici non varrà la pena se si guardano solo i guadagni immediati.

    
risposta data 26.06.2013 - 20:42
fonte
6

L'inglese è la lingua dominante nel campo, non solo in UE / USA.

In quanto madrelingua cinese, conosco persone che utilizzano lo stesso insieme di sistemi operativi, linguaggi di programmazione e strumenti. Alcuni di loro sono tradotti in cinese, il resto non è così difficile come i romanzi inglesi. Ci sono alcuni "linguaggi di programmazione cinesi" che hanno parole chiave cinesi, non sono ampiamente usati o addirittura considerati roba seria.

Attualmente vivo in Giappone e vedo cose simili qui. Quindi almeno non credo che conoscere il cinese o il giapponese o altre misteriose lingue naturali possa garantire l'accesso a risorse insostituibili.

D'altra parte, ho beneficiato della teoria della semantica (non specificata dalla lingua). Sia in linguaggio naturale che in linguaggio di programmazione, mi ha aiutato a distinguere e perfezionare le espressioni in modo simile alla revisione del codice.

    
risposta data 26.06.2013 - 17:09
fonte
5

L'unico vantaggio diretto dell'apprendimento di una lingua diversa è un migliore apprezzamento dei problemi relativi a i18n . Cioè, proprio come i formati di data, ci sono diverse regole per la grammatica, in modo tale che la localizzazione non può essere eseguita semplicemente aggiungendo segnaposto per le stringhe.

Se vuoi solo migliorare la tua carriera di programmazione, ci sono molti più usi del tuo tempo, come ad esempio spazzolare le tue abilità esistenti o apprendimento di un diverso linguaggio di programmazione , preferibilmente da un diverso paradigma .

Detto questo, ci sono molti benefici diretti ed effetti collaterali per l'apprendimento di una lingua diversa, specialmente se sei monolingue. Molte cose che sembrano ovvie alle persone multilingue in realtà non sono così ovvie se non sei stato esposto a lingue diverse, ad esempio ho notato che molte persone monolingue non sembrano rendersi conto che le barzellette dipendenti dalla lingua come giochi di parole) non funzionano affatto quando tradotti. Questo può aiutarti a impedirti di fare errori insensibili, tra cui il mio esempio preferito è la storia apocrifa dell'annuncio "diventa vivo" di Pepsi essere tradotto male in cinese come "portare in vita i tuoi antenati morti" . Avere questa sensibilità in più è utile in ogni carriera.

In conclusione, penso che l'apprendimento di una nuova lingua offra grandi benefici; Mi chiedo solo se è un uso efficiente del tuo tempo.

    
risposta data 27.06.2013 - 03:10
fonte
3

L'inglese è la lingua per la risoluzione dei problemi.

Guarda questo breve video.

"Your native language is your life, but with english you become part of a wider conversation, a global conversation about global problems, like climate change or poverty... mathematics is the language of science, music is the language of emotions and now english is becoming the language of problem solving."

-- Jay Walker, american inventor and entrepreneur

Suppongo che se l'Impero Romano non fosse collassato, in questo momento scriveremmo in latino.

Definitivamente l'inglese è la lingua da seguire. La mia lingua madre è lo spagnolo e anche se lo spagnolo è una delle lingue più parlate, la quantità di materiale tecnico, documentazione, tutorial, blog, Q & siti ecc. In spagnolo non si avvicina nemmeno alla vasta quantità di risorse in inglese.

Anche l'inglese ha una qualità concisa che lo rende inequivocabile in molti contesti.

Altro motivo: iTunes U.

    
risposta data 26.06.2013 - 15:04
fonte
2

Sono fluente in cinese e occasionalmente ho sbirciato nel mondo dei programmatori cinesi. La maggior parte del materiale didattico è tradotto in inglese, quindi non ti manca nulla su questo fronte. Tuttavia, è interessante vedere differenze culturali nelle scelte tecnologiche di programmazione. Ad esempio, Go sembra essere più popolare in Cina che in qualsiasi altro paese. Puoi controllare la ricerca di tendenze google per "golang": link

    
risposta data 26.06.2013 - 16:32
fonte
2

Mentre l'inglese è di fatto la lingua degli sviluppatori di software, un paio di volte sono stato in grado di trovare suggerimenti & soluzioni su siti di comunità in altre lingue. La traduzione automatica fa impazzire queste pagine, quindi è bello poterla leggere così com'è.

Naturalmente, se stai lavorando con persone che hanno una conoscenza più approfondita di un'altra lingua, può essere molto utile, sia in senso professionale che personale, essere in grado di comunicare nella loro lingua madre. A seconda del loro livello e del tuo, potrebbe essere più facile imparare un paio di parole tecniche nella loro lingua e far sì che si esprimano nel modo più comodo rispetto a quello di cinguettare la loro comprensione in un linguaggio in cui è più probabile che commettano errori semantici.

    
risposta data 26.06.2013 - 17:34
fonte
2

Dipende da ciò che intendi come carriera .

Se hai un lavoro come dipendente nel tuo paese e vuoi che rimanga tale, di solito non è necessario conoscere alcuna lingua tranne il tuo nativo e l'inglese. Un'eccezione potrebbe essere, quando il principale cliente della vostra azienda è una società straniera, e dovreste conoscere la lingua di tale società. Ad esempio, molte aziende della Polonia occidentale collaborano principalmente con aziende tedesche, e conoscere il tedesco è un grande vantaggio, o addirittura un requisito, per lavorare come sviluppatori senior (mentre i ragazzi non hanno contatti con il cliente, non sono tenuti a parlare tedesco ).

Tuttavia, se vuoi essere un libero professionista , devi essere fluente nella lingua del tuo cliente. Ovviamente puoi scegliere come target solo i paesi di lingua inglese, ma sapere ad esempio il tedesco o la Francia ti offre maggiori opportunità e potenziali contratti meglio pagati.

Se vuoi lavorare all'estero , dipende. Naturalmente, andando negli Stati Uniti o nel Regno Unito, l'inglese è la scelta giusta. In piccoli paesi (in Europa) ci sono molte squadre di lingua inglese, così come un appaltatore straniero, puoi sperare in molti lavori di lingua inglese, ad esempio in Danimarca o nei Paesi Bassi.

Ma in paesi grandi come la Germania, i lavori di lingua inglese sono una eccezione , e senza conoscere bene il tedesco hai poche possibilità di trovare qualcosa. Per ottenere i migliori contratti a pagamento, devi parlare fluentemente tedesco, ma puoi ottenere veramente buoni lavori pagati .

    
risposta data 26.06.2013 - 19:21
fonte
2

Questa è una buona domanda. Direi che è utile imparare un'altra lingua parlata per lo stesso motivo per cui è utile imparare un altro linguaggio di programmazione: ti permette di pensare alle cose in modi nuovi.

Nel bene o nel male, l'inglese è il linguaggio universale dei programmatori. Quindi non è probabile che ti perdi molto a causa del solo parlare inglese.

    
risposta data 26.06.2013 - 21:04
fonte
1

Sembra che tutte le persone qui sembrano concordare sul fatto che non vi è alcun beneficio immediato nell'apprendimento diretto di un'altra lingua per la programmazione (i linguaggi di programmazione sono per lo più basati sull'inglese, è la lingua dei libri di informatica e riviste, ecc.).

Tuttavia conoscere una lingua straniera è vantaggioso in molti modi. Questo è quanto mi dice la mia esperienza di apprendimento di diverse lingue straniere. Imparerai diversi modi di esprimere le cose in altre lingue e aprirai nuovi modi di guardare le cose.

    
risposta data 26.06.2013 - 21:24
fonte

Leggi altre domande sui tag