Una documentazione ben scritta è una ragione sufficiente per imparare un linguaggio di programmazione? [chiuso]


14

Attualmente sto imparando Python che non faceva parte del mio curriculum universitario. In un'intervista mi è stato chiesto perché ho scelto Python e ho risposto che è facile da imparare e che la documentazione è scritta molto bene. L'intervistatore non ha risposto se fosse una buona ragione. Sembrava convinto ma non posso esserne sicuro.

Una documentazione ben scritta insieme alla facilità di apprendimento è una ragione sufficiente per scegliere un linguaggio di scripting? O avrei dovuto approfondire la disponibilità delle librerie Python e della base utenti più ampia di Python?

Solo una nota. Python non era richiesto per il lavoro. La società ha lavorato su Ruby-on-rails. Python era nel mio curriculum e penso che l'intervistatore volesse solo sapere quali considerazioni ho preso come più fresco quando ho scelto un linguaggio di programmazione.


12
forse non in un'intervista, ma mi chiedo se hai bisogno di un motivo per imparare qualcosa di diverso da quello che vuoi.
jk.

2
@jk So solo C finora. Non sono un grande esperto ma conosco la sintassi, posso implementare strutture di dati e simili. Avevo bisogno di un linguaggio in cui poter implementare le idee più velocemente. Questo è stato il motivo per cui ho scelto un linguaggio di scripting. La documentazione, la facilità d'uso e la base di utenti sono stati i principali vantaggi rispetto al confronto con Perl e Tcl. Non tutti e tre si sono applicati ad entrambe le lingue, ma per quanto ho potuto trovare usando Google Python è stato meglio di questi in una di queste. Quindi ho scelto Python. Imparare perché voglio è una ragione abbastanza buona, ma non era Python che mi interessava. Le idee erano la cosa principale.
Aseem Bansal,

1
[Fare qualcosa perché è facile] non è così impressionante come [fare qualcosa perché è difficile]. A meno che in realtà non sia difficile e ti stai solo mettendo in mostra. ;)
TimG

5
Dato che sei nuovo in Python, ti suggerirei di considerare di smettere di riferirti ad esso e pensarlo come "un linguaggio di scripting". È una lingua . Le persone scrivono siti web, app desktop, piccoli script, enormi librerie, controller integrati, ecc. Con esso. Definirlo "un linguaggio di scripting" mi sembra inappropriato.
Chelonian,

@Celonian Point ha notato. Grazie per la segnalazione.
Aseem Bansal,

Risposte:


20

No, la documentazione ben scritta non è una ragione sufficiente per imparare una lingua.

La documentazione scritta male è una buona ragione per non impararne una.


Esistono quattro motivi per imparare una lingua:

  1. Perché potrebbe essere uno strumento utile nella tua carriera

    La lingua è uno strumento. Uno usa una lingua piuttosto che un'altra a causa dei suoi benefici in un determinato contesto. Il fatto che una lingua abbia una documentazione di alta qualità non la rende uno strumento migliore, o solo marginalmente¹.

    La scelta della lingua dovrebbe piuttosto basarsi sull'esperienza precedente, i paradigmi (esempio: programmazione funzionale per Haskell), gli approcci (esempio: modalità completamente asincrona per JavaScript come linguaggio di programmazione lato server con Node.js), l'interoperabilità ( esempio: compatibilità con quasi tutti i sistemi operativi per Java), ecc.

    Essere in grado di utilizzare uno strumento nella vita quotidiana è uno dei motivi per imparare una lingua.

  2. Perché amplia la tua cultura e conoscenza

    Un altro motivo per imparare una lingua è imparare nuovi concetti, paradigmi e modi di scrivere codice elegante (esempio: Haskell). Anche in questo caso, la documentazione aiuta, ma non è l'unica ragione per imparare una lingua.

  3. Perché richiede il minimo sforzo per impararlo

    Un altro motivo per imparare una lingua è perché è semplice da imparare (esempio: PHP). Ancora una volta, la documentazione contribuisce molto, ma la lingua stessa è ancora più importante. Inoltre, durante un'intervista eviterei di dire che ho imparato una lingua semplicemente perché è facile da imparare.

  4. Perche è divertente.

    L'ultimo motivo per imparare una lingua è perché è semplicemente eccitante imparare una lingua ben progettata (esempi: Haskell, Ruby) o una lingua per geek (esempio: Brainfuck).

In un caso di Python, quello a cui puoi rispondere è che:

  1. È un linguaggio dinamico. I linguaggi dinamici semplificano la creazione di prototipi e lo sviluppo più rapido quando le circostanze rendono i tipi forti non importanti.

  2. È elegante. Forse non è così elegante come, diciamo, Haskell, ma è ancora facile fare un confronto con i principali linguaggi orientati al web come PHP.

  3. L'uso di rientri significativi è interessante, dato che molte lingue tradizionali rendono il rientro solo un onere che avrebbe dovuto essere gestito dall'IDE in primo luogo. A proposito, anche il compilatore e l'interprete di Haskell fanno affidamento sul rientro.

  4. Python ha un modo elegante di lavorare con le liste. La comprensione dell'elenco e le espressioni del generatore sono concetti interessanti per qualcuno che non ha mai usato la programmazione funzionale prima.

  5. Django semplifica la creazione rapida di applicazioni Web mantenendo il codice piuttosto pulito. Questo è un enorme vantaggio rispetto a molti altri linguaggi di programmazione.

  6. È abbastanza veloce e abbastanza potente per applicazioni Web su larga scala. Ad esempio, Dropbox è scritto in Python. YouTube si affida fortemente a Python. Reddit, se ricordo bene, si affida anche a Python.


¹ Una documentazione ben scritta aiuta ancora a fare le cose nel modo giusto e veloce.


Conosco semplicemente C. Ho imparato Python perché volevo implementare le idee più velocemente. Questo esclude il primo punto. Ho imparato a conoscere il paradigma funzionale solo tramite Python, quindi anche il 2 ° punto è uscito. Quindi in questa situazione mi rimane solo il 3 ° punto. Quale avrebbe dovuto essere l'enfasi della mia risposta? Maggiori informazioni in questo commento alla domanda
Aseem Bansal

@AseemBansal: ho modificato la mia domanda per mostrare a cosa avresti potuto rispondere. Inoltre, il fatto che tu "abbia conosciuto il paradigma funzionale solo attraverso Python" è esattamente ciò di cui sto parlando: hai imparato Python e ti ha aiutato a scoprire FP, che è esattamente lo scopo dell'apprendimento di una lingua.
Arseni Mourzenko,

1
Puoi usare Dropbox come esempio invece di YouTube e Reddit. È completamente realizzato in Python. Se ricordo bene, Guido ha aiutato Dropbox a costruire il loro prodotto e recentemente si è unito di nuovo a loro.
Aseem Bansal,

C'è una quarta ragione per cui penso che tu abbia saltato: perché la lingua sembra divertente!
martiert,

Un po 'in linea con Martiert, ma per quanto riguarda il divertimento? Se vuoi imparare una lingua specifica, è più che una buona ragione. Tutto non deve essere motivato dall'avanzamento della carriera e dalle strategie per massimizzare le tue abilità.
Gilles,

7

Se sei come me, non usi un martello semplicemente perché ha una comoda impugnatura. Si utilizza un martello perché è necessario per ottenere qualcosa fatto martellato.

Quindi no, sebbene una buona documentazione sia sicuramente utile, non è una ragione in sé per imparare un linguaggio di programmazione.


1
Ho aggiunto cose che volevo fare e stavo facendo usando Python, ma credo che avrei dovuto porre più enfasi sul fare le cose che sulla documentazione.
Aseem Bansal,

3
usi un martello perché devi far martellare qualcosa ... troppe persone usano i martelli quando un cacciavite sarebbe più adatto.
gbjbaanb,

@gbjbaanb: esattamente! Grazie per essere ancora più preciso.
stakx,

1

Ecco i miei principali motivi per imparare una nuova lingua:

  1. il resto della squadra con cui stai lavorando lo usa e tu sei il nuovo ragazzo che diventerà parte della squadra.

  2. si desidera risolvere un problema e la lingua X o librerie / framework per la lingua X sembrano fornire il miglior supporto disponibile per tale attività

  3. Lo fai solo per scopi educativi.

Spesso per la situazione 2 esiste più di una lingua o un framework adatto a risolvere il problema. Quindi una documentazione ben scritta può essere uno dei fattori da prendere in considerazione (ma anche altri fattori). Per il punto 3, una buona documentazione può essere più importante, ma onestamente, se vuoi imparare una nuova lingua solo per motivi di apprendimento, prima trova un problema che vuoi risolvere, altrimenti perderai presto la tua motivazione, bene- documentazione scritta disponibile o no.


1

Si perché no? Più lingue impari, più è facile imparare la lingua successiva. Molti concetti di programmazione possono essere appresi in una varietà di lingue. Quindi potresti anche iniziare con quello che ha i migliori materiali disponibili per l'apprendimento.

Inoltre, la maggior parte delle attività può essere eseguita in diverse lingue. Di solito, dopo un po ', imparerai i concetti e gli strumenti del linguaggio di base, ma imparerai la maggior parte delle librerie secondo necessità. È un argomento a favore di una lingua se le librerie sono ben documentate in modo da poter essere rapidamente aggiornati su un determinato dominio dell'applicazione.


0
  • No, la documentazione ben scritta non è una ragione sufficiente per imparare una lingua.

  • L'intervistatore ha posto questa domanda per dirgli un po 'di bontà di pitone. Dovresti confrontare pitone e rubino.

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.