Come scegliere una lingua, tenendo conto della comunità che include? [chiuso]

5

Stavo leggendo il seguente articolo: Great Hackers

La seguente parte ha attirato la mia attenzione:

"When you choose a language, you're also choosing a community. The programmers you'll be able to hire to work on a Java project won't be as smart as the ones you could get to work on a project written in Python. And the quality of your hackers probably matters more than the language you choose. Though, frankly, the fact that good hackers prefer Python to Java should tell you something about the relative merits of those languages."

Vorrei applicare i suoi consigli su un'applicazione web commerciale che sto costruendo (sono un strong sostenitore della cultura e della comunità), tuttavia questo articolo è stato scritto nel 2004 e il pitone è cresciuto in popolarità negli ultimi anni.

Come posso decidere una lingua prendendo in considerazione la sua comunità, piuttosto che la popolarità? Qualche raccomandazione?

C'è qualche comunità linguistica che mostra dedizione e passione per lo sviluppo, piuttosto che imparare una lingua per ottenere un lavoro e uno stipendio?

    
posta Rick Rhodes 06.12.2011 - 02:44
fonte

7 risposte

6

Paul Graham di solito dice cose piuttosto penetranti, ma il consiglio specifico in questa citazione riguardo la qualità dei programmatori che assumi è spazzatura - di solito puoi trovare grandi programmatori in una comunità sufficientemente grande. Ricorda, se stai assumendo in modo intelligente assumerai tra la migliore non la media dal tuo gruppo target, quindi il livello di abilità media è irrilevante.

Anche se ci sono molti programmatori Java scadenti, dubito che troverai qualche differenza tra i migliori programmatori Java oi migliori programmatori Python. In effetti, ho il sospetto che troverai più veramente grandi programmatori nella comunità Java proprio a causa delle dimensioni della community. Ad esempio, le statistiche di Google Code Jam mostrano i migliori finalisti che scelgono C ++ e Java come i due più lingue comuni negli ultimi anni.

Ad ogni modo, se cerchi una lingua con una grande community ti consiglio di dare un'occhiata a Clojure.

  • È un Lisp. I Lisps sono un buon posto per i grandi hacker (sono d'accordo con Paul Graham su questo!)

  • La mentalità è "pragmatica" e "fai le cose" - non vedrai atteggiamenti NIH, la tendenza è quella di adottare approcci diversi.

  • La community è in costante innovazione - sembra essere una nuova biblioteca o annuncio di strumenti ogni due giorni. Quasi tutto questo è open source su GitHub.

  • È pronto per la produzione - poiché si tratta di un linguaggio JVM, la piattaforma sottostante è estremamente robusta e tutte le librerie e gli strumenti Java di qualità di produzione sono gratuiti. Questa è una vittoria enorme su altre lingue che non hanno accesso a questo tipo di ecosistema, e come risultato ci sono un sacco di startup che scelgono Clojure .

  • Canale IRC molto attivo, Google Gruppi, sito di sviluppo ecc.

  • Forse la cosa più importante è che le persone nella comunità sono appassionato di ciò che fanno e sempre pronto ad aiutare i nuovi arrivati - la storia collegata è un esempio commovente.

risposta data 06.12.2011 - 05:11
fonte
13

Assumi il miglior programmatore che riesci a trovare e dopo aver compreso cosa deve fare la tua applicazione web, lascia che scelgano la lingua. Se hai bisogno di trovare più programmatori che capiscono la lingua di scelta, questa persona dovrebbe essere in grado di trovarli.

    
risposta data 06.12.2011 - 02:55
fonte
3

Mentre c'è verità in ciò che ha detto Paul Graham. Tuttavia, è più importante rendersi conto che gli hacker non sono ciò che vuoi sempre!

Prima di vedere la gente infastidire questa affermazione, lascia che ti dica quale sia la mia interpretazione della parola. Per un semplice esempio puoi vedere Concorso Internazionale del codice C occultato . Vedrai un gran numero di persone che hanno grande talento per risolvere i puzzle seri. Tuttavia, ci sono momenti in cui si scrive la brevità del software non è sempre la prima cosa che stai cercando.

Lo stesso è vero se trovi molti programmatori C di qualità da sistemi embedded; tuttavia, quando li metti su applicazioni aziendali su più larga scala, inizierai le molte abitudini che li aiutano ad essere snelli su quelle piattaforme, inizia a ferire progetti di diverso tipo.

Non sto facendo alcun giudizio sugli individui, è vero che la qualità delle persone conta molto; tuttavia, quando si sceglie la lingua o la piattaforma è una decisione aziendale più ampia e molti altri fattori contano.

    
risposta data 06.12.2011 - 06:50
fonte
2

Questa è una pagina web che riprende abbastanza bene quello che stai cercando (presenta solo una classificazione senza alcun backup spiegato, ma penso che sia ancora una buona risorsa) ... cerca solo la domanda che contiene la parola " comunità "in là link

    
risposta data 06.12.2011 - 05:43
fonte
2

Scegli una lingua progettata per risolvere il problema che hai. Quindi assumere persone che conoscono quella lingua e come risolvere quel tipo di problema. allora avrai le persone giuste che fanno il lavoro giusto con gli strumenti giusti.

    
risposta data 06.12.2011 - 11:31
fonte
0

Mentre la "community" è importante, penso che dovresti considerare la lingua utilizzata nel tuo "dominio" di problema. Utilities bill usando COBOL, i geologi analizzano i risultati sismici usando fortran, Quants gioca sul mercato usando C ++, i banchieri si attengono ai tuoi soldi usando una combinazione di COBOL e Java ecc. Ecc.

Per le applicazioni Web è php o Java in modo schiacciante. Una piccola (ma crescente) percentuale di applicazioni web usa Python; maps.yahoo.com è il poster, ma ci sono pochissimi esempi di siti di top ranking / famosi sviluppati completamente in Python!

Quindi questa è una decisione difficile. Recentemente ho fatto il grande passo e ho deciso che userò "web2py" per qualsiasi sviluppo (supponendo di avere una scelta!). Questo dopo diversi anni di lavoro serio in J2EE e attività minori in PHP. Semplicemente odio l'overkill insito in tutte le API Java insieme alla pura noia della codifica coinvolta, mi piace davvero lo sviluppo in "php" ma c'è sempre un "pantaloni a zampa d'elefante e camicie hawaiane" a riguardo - è veloce, funziona ma non è elegante.

Con Python una delle difficoltà è scegliere il tuo framework Zope, cherrypy, tralicci ecc. Tutti hanno filosofie progettuali molto diverse e un hacker Zope non può aiutarti con i tuoi problemi con i piloni. Quindi scegli il framework adatto e troverai una piccola comunità di hacker eccellenti che ti aiuteranno, che è probabilmente meglio di un Superbowl pieno di programmatori php amatoriali.

    
risposta data 06.12.2011 - 03:56
fonte
0

Se stai assumendo localmente, vai a gruppi di meetup per sviluppatori di software specializzati nelle lingue da te scelte. Il modo migliore per verificare la "comunità" è fare ricerche sul campo.

    
risposta data 15.02.2012 - 07:59
fonte

Leggi altre domande sui tag