L'apprendimento di un linguaggio naturale in particolare favorirebbe la tua carriera di programmatore? [chiuso]


52

Sembra evidente che l'inglese sia la lingua internazionale dominante per la programmazione basata su precedenti domande di P.SE (anche se un commento altamente votato sottolinea correttamente che porre una domanda del genere su un sito prevalentemente inglese distorcerà i risultati).

Tuttavia, ci sono vantaggi 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 altre lingue non latine? 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?


2
+1. Bella domanda Sarei interessato a conoscermi.
Neil,

2
Le lingue meno comuni spesso hanno libri / tutorial scritti nella lingua madre del loro autore. Ad esempio, per molto tempo la maggior parte delle cose di Ruby era giapponese prima che diventasse popolare.
jozefg,

6
Anticamente, era utile conoscere il giapponese se eri uno sviluppatore di videogiochi per console.
David Sergey,

2
Pagina interessante relativa a questo su Wikipedia sui linguaggi di programmazione non inglese .
Alexander,

1
Ho lavorato con sviluppatori cinesi e russi e hanno lavorato in inglese, quindi direi che mentre è sempre utile aumentare le tue abilità, lo sforzo di imparare una lingua difficile (con cui intendo dire che non usa l'alfabeto occidentale) è probabilmente trascurabile.
Heatwave,

Risposte:


44

Risponderò 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 motivi simili, ti consiglio di imparare almeno un linguaggio di sintassi non basato su c se ne hai iniziato uno.


17
+1 Conoscere più lingue umane può aiutare con il pensiero astratto, e questo è spesso applicabile nello sviluppo di software.
Allan,

4
+1 (più se potessi) Ho visto troppe persone creare problemi per se stesse perché non potevano capire la differenza tra un concetto e le parole usate per descriverlo.
Anton,

3
Trovo che conoscere una lingua firmata, come ASL, ti dia una prospettiva diversa sulle lingue in generale
TruthOf42

1
@ TruthOf42 almeno non troverai il codice commentato in ASL.
nalply,

1
@EricDong non lo so. Ho imparato il norvegese quando avevo 7-8 anni. Ho avuto l'impressione dall'interazione con le persone nel corso degli anni che molte persone non si sorprendono a pensare in modo non verbale. Penso che conoscere più di una lingua parlata sarebbe di grande aiuto. Conoscere ASL probabilmente aiuterebbe ancora di più. E ovviamente l'apprendimento di più linguaggi di programmazione da scuole di design molto diverse aiuta molto. Sono un poeta schifoso ma sospetto che sia molto simile. Più vedi dietro la cortina di parole, più efficiente ottieni nell'esprimere qualsiasi idea.
Erik Reppen,

13

No. Non ti stai perdendo 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 programmi scritti in una lingua diversa, ma posso assicurarti che non c'è magia in nessuno di essi.

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


5
Questo ovviamente dipenderà anche dal campo scelto - per i giochi, immagino che il giapponese possa essere abbastanza utile ....
Clockwork-Muse

Ho lavorato sul codice commentato in tre lingue diverse: francese, inglese e tedesco.
nalply,

12

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

SAP, ad esempio, è una società tedesca. SAP ERP, il colosso di un software solitamente chiamato "SAP", ha la maggior parte dei suoi moduli software utente scritti nel proprio linguaggio di programmazione ABAP di SAP. Come sviluppatore puoi (e spesso devi) guardare il codice ABAP.

Un decennio fa la maggior parte dello sviluppo ABAP è avvenuta in Germania e non esisteva la politica secondo cui commenti e identificatori debbano 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 passare continuamente da tedesco a inglese, ma ho davvero pietà di tutti coloro che non parlano tedesco e si trovano improvvisamente nel codice sorgente commentato in tedesco.

Puoi trovare anche un po 'di tedesco nelle API meno recenti. Ad esempio, l'ora corrente si trova nella variabile globale SY-UZEIT. "Uzeit" è l'abbreviazione di "Uhrzeit", che in tedesco significa "L'ora del giorno". Un KUNNRID cliente è un ("Kundennummer"), una somma di denaro nella valuta della casa è un BETRH("Betrag - Hauswährung") ecc.

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


Ho avuto un'esperienza simile lavorando con TYPO3.
liori,

9

A meno che non pianifichi la tua carriera 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 in inglese c'era la lingua obbligatoria. Anche per ragioni pratiche.

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 "abilità" preziosa. Quindi, se hai affinità per questo, vai avanti e impara.


1
IMO è generalmente un errore assumere un traduttore che non è stato educato a parlare la lingua di destinazione. Molti americani potrebbero essere abbastanza competenti per tradurre una lingua straniera in inglese, ma pochissimi saranno competenti a tradurre l'inglese in un'altra lingua.
Kevin Cline il

2
certo, e un programmatore sarebbe anche uno spreco come traduttore - ma è positivo se riesce a individuare i problemi relativi a l10n
Balog Pal

8

Sì, l'apprendimento di un'altra lingua favorirà la tua carriera di programmatore. Questo perché, secondo me, l'apprendimento di un'altra lingua favorirà qualsiasi carriera.

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

  • Imparare un'altra lingua allargherà 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, ciò ha parallelismi con la programmazione, ma è anche un'abilità generalmente utile per la comunicazione interpersonale.
  • 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 associa alla grammatica della tua lingua, piuttosto che accettarla ciecamente " Ecco com'è". Anche se usi solo la tua lingua madre nella tua carriera, una migliore comprensione ti aiuterà a comunicare in modo più efficace.
  • Avere anche un po 'di conoscenza di un'altra lingua può farti apparire davvero bene. Tutte le società, tranne le più piccole, dovranno avere a che fare con fornitori o clienti stranieri. Anche se entrambi conducete la vostra attività in inglese, essere in grado di scambiare piccoli convenevoli (saluti, ad esempio) con persone nella loro lingua madre crea una buona impressione. Essere disponibili per creare quella buona impressione aumenterà la tua posizione con la tua azienda.
  • Conoscere un'altra lingua ti aiuterà a comunicare in modo più efficace con madrelingua di quella lingua, anche se stai usando la tua lingua madre. Questo perché puoi individuare i tentativi di usare costrutti che sono comuni nella lingua straniera e ottenerne il significato, anche se non sono così chiari nel tuo. Allo stesso modo, ti aiuterà a individuare e comprendere eventuali falsi amici che potrebbero sorgere.
  • Conoscere bene una lingua apre la possibilità di lavorare in paesi in cui tale lingua è parlata. Questo amplia il pool di potenziali posti di lavoro a tua disposizione, il che a sua volta significa che avrai più opportunità per promuovere la tua carriera.

Quindi, per rispondere direttamente alle tue domande: l'apprendimento di una lingua straniera aprirà una nuova straordinaria gamma di linguaggi di programmazione e risorse di apprendimento? No. Ti renderà un ingegnere del software migliore? Probabilmente non direttamente. Ma ti aiuterà a renderti una persona migliore, più arrotondata, più occupabile e ad avanzare nella tua carriera? Assolutamente.


2
+1! Per dirlo più in generale: questo perché imparare qualcosa (per la maggior parte dei valori di qualsiasi) favorirà qualsiasi carriera. Ma non solo quello. Un essere umano più istruito ha semplicemente una vita migliore.
Ingo,

Le persone non inglesi vedono la debolezza dell'inglese quando le API non sono focalizzate sulla matematica tecnica o sul business. Pensare in una lingua e tradurla in un'altra (con regole, sintassi, grammatica diverse) ha bisogno di creatività, immaginazione e umorismo.
cl-r,

7

Se l'inglese è la tua lingua madre, l'apprendimento di una lingua straniera probabilmente non aiuterà molto direttamente la tua carriera di programmatore. 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 l'autorealizzazione, ecco alcune situazioni in cui penso che potresti trarre beneficio dal conoscere una lingua straniera per motivi puramente pragmatici:

  • Collaborazione con partner o clienti dall'estero. Anche se non conosci abbastanza bene la lingua per comunicare, conoscere alcune nozioni di base può renderti consapevole dei problemi che possono 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 una lingua straniera, potresti rimanere a chiederti a cosa servono tutte le complesse librerie i18n (ad esempio perché il messaggio "% d nuovi messaggi" potrebbe richiedere diverse traduzioni 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 vantaggi non valgono lo sforzo se si considerano solo i guadagni immediati.


6

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

Come madrelingua cinese, conosco persone che usano lo stesso set 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 cinese" che hanno parole chiave cinesi, non sono ampiamente utilizzati o addirittura considerati cose serie.

Attualmente vivo in Giappone e vedo cose simili qui. Quindi almeno non penso che conoscere il cinese o il giapponese o un altro misterioso linguaggio naturale possa consentire l'accesso a risorse insostituibili.

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


5

L'unico vantaggio diretto nell'apprendimento di una lingua diversa è quello di darti 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 possa essere fatta semplicemente aggiungendo segnaposto per le stringhe.

Se vuoi solo migliorare la tua carriera di programmazione, ci sono usi molto più efficaci del tuo tempo, come ripulire le tue abilità esistenti o imparare un linguaggio di programmazione diverso , preferibilmente da un paradigma diverso .

Detto questo, ci sono molti effetti diretti e collaterali benefici nell'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, per esempio ho notato che molte persone monolingue non sembrano rendersi conto che gli scherzi dipendenti dalla lingua (come come giochi di parole) non funziona affatto quando tradotto. Questo può aiutarti a impedirti di fare errori insensibili, di cui il mio esempio preferito è la storia apocrifa della pubblicità "Pepsi" di Pepsi tradotta in cinese come "riportare in vita i tuoi antenati morti" . Avere questa sensibilità extra è utile in qualsiasi carriera.

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


Immagino che l'inglese sia il tono di tua madre.
Tulains Córdova,

@ user61852 Non ho idea di come lo otterresti, ma ti sbagli.
congusbongus,

3

L'inglese è la lingua della risoluzione dei problemi.

Guarda questo breve video.

"La tua lingua madre è la tua vita, ma con l'inglese diventi parte di una conversazione più ampia, una conversazione globale sui problemi globali, come i cambiamenti climatici o la povertà ... la matematica è la lingua della scienza, la musica è la lingua delle emozioni e ora l'inglese sta diventando il linguaggio del problem solving ".

-- Jay Walker, american inventor and entrepreneur

Immagino che se l'Impero romano non fosse crollato, scriveremmo in latino proprio ora.

Sicuramente l'inglese è la lingua da seguire. La mia lingua madre è lo spagnolo e sebbene lo spagnolo sia una delle lingue più parlate, la quantità di materiale tecnico, documentazione, tutorial, blog, siti di domande e risposte, 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.


1
"L'inglese è la lingua della risoluzione dei problemi." Cosa significa?
ypercubeᵀᴹ


2

Sono fluente in cinese e, a volte, ho fatto capolino nel mondo dei programmatori cinesi. La maggior parte del loro materiale di apprendimento è materiale inglese tradotto, quindi non ti manca nulla su quel 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 verificare eseguendo una ricerca nelle tendenze di Google per "golang": http://www.google.com/trends/explore?q=golang#q=golang&cmpt=q


2

Mentre l'inglese è di fatto la lingua degli sviluppatori di software, alcune volte sono stato in grado di trovare suggerimenti e soluzioni sui siti della community in altre lingue. La traduzione automatica fa uscire da tali pagine, quindi è bello poterlo leggere così com'è.

Ovviamente, se lavori con persone più competenti in 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, può essere più facile imparare un paio di parole tecniche nella loro lingua e farle esprimere nel modo più comodo che confondere la loro comprensione in una lingua in cui è più probabile che commettano errori semantici.


I traduttori automatici traducono "tabella" in "mesa" in spagnolo, il che significa che i mobili su cui viene servito il cibo, indipendentemente dal contesto delle tabelle del database.
Tulains Córdova,

2

Dipende che cosa si capisce come carriera .

Se hai lavoro come dipendente nel tuo paese e vuoi che rimanga tale, di solito non è necessario che tu conosca alcuna lingua tranne il tuo nativo e l'inglese. Un'eccezione può essere quando il cliente principale della tua azienda è una società straniera e dovresti conoscere la lingua di quella 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 junior non hanno contatti con i clienti, 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 paesi di lingua inglese, ma conoscere 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. Nei piccoli paesi (in Europa) ci sono molte squadre di lingua inglese, quindi come appaltatore straniero, puoi sperare in molti lavori di lingua inglese, ad esempio in Danimarca o nei Paesi Bassi.

Ma in grandi paesi come la Germania, i lavori di lingua inglese sono un'eccezione e senza conoscere bene il tedesco hai poche possibilità di trovare qualcosa. Per ottenere i migliori contratti pagati, è necessario parlare correntemente il tedesco, ma è quindi possibile ottenere lavori ben retribuiti .


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 e nel male, l'inglese è la lingua universale dei programmatori. Quindi non ti perderai molto a causa del solo parlare inglese.


1

Sembra che tutte le persone qui sembrano concordare sul fatto che non vi è alcun vantaggio immediato nell'apprendere direttamente un'altra lingua per la programmazione (i linguaggi di programmazione si basano principalmente sull'inglese, è la lingua dei libri di testo e delle riviste di informatica, ecc.).

Tuttavia, conoscere una lingua straniera è utile in molti modi. Questo è quanto mi dice la mia esperienza nell'apprendimento di diverse lingue straniere. Imparerai diversi modi di esprimere le cose in altre lingue e ti apriranno nuovi modi di guardare le cose.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.