View Single Post
Old 28-03-2008, 14:18   #267
DioBrando
Senior Member
 
Iscritto dal: Jan 2003
Città: Milano - Udine
Messaggi: 9418
Quote:
Originariamente inviato da cionci Guarda i messaggi
Ti spiego, questo perché l'unico che posta quando qualcuno chiede "con quale linguaggio posso fare questo" è sempre e solo Cesare e la risposta è sempre e solo Python. Una situazione del genere mi sembra più vicina al tentativo di indottrinamento che al consiglio sulla base delle effettive qualità del linguaggio e le necessità del richiedente. E' per questo che questa volta mi sono permesso non solo di consigliare una strada alternativa, ma anche di giustificarla. Spesso non lo faccio (e lascio che non ci siano contraddittori), ma questa volta mi è sembrato giusto, visto che la situazione lo richiedeva.
Obiettivamente, visti gli scopi di chi ha creato il thread, cioè creare un programma di monitoraggio e rilevamento della caratteristiche hardware, avresti consigliato Python ? Questo un giorno potrebbe avere la necessità di scrivere un driver...e gli si consiglia Python ?
Sinceramente non ho seguito bene tutto il thread quindi non sò quali siano le esigenze dell'autore; in ogni caso sempre se non ho capito male mi pare sia a digiuno quasi totale dell'argomento programmazione quindi sostanzialmente si trattava di consigliare uno strumento affinchè potesse imparare.
In questo contesto immagino entri il consiglio di Cesare, che per altro non è vero che raccomanda sempre e solo Python: se vai a rileggerti gli ultimi thread (anche piuttosto lunghi a dire il vero) che hanno toccato questo argomento, i consigli suoi sono quelli + o - di tutti, ovvero di cominciare con un linguaggio piuttosto didattico che con strumenti di sviluppo adeguati al livello di esperienza e che consentano una curva di apprendimento bilanciata tra il tempo investito ad imparare come funzionano rispetto alla necessità di essere produttivi (Java, C#, Python, Ruby, sempre quelli sono).
Che poi questo debba essere valutato anche in un'ottica di esigenze soggettive sono d'accordo ma fino a un certo punto, perchè alla fine l'obiettivo è quello di imparare a programmare e i primi passi saranno uguali per tutti a prescindere dal futuro lavorativo e la branca di specializzazione scelta.

A me sembra stiate montando un caso per niente, finchè si scherza ok, poi però lo scherzo a un certo punto finisce...
Sulla non sufficiente conoscenza di C# per poter fare un confronto a tutto tondo si è espresso lui stesso più volte e mi sembra si possa dire serenamente che non ci siano problemi se qualcosa sfugga tra gli interlocutori.


Quote:
Originariamente inviato da cionci Guarda i messaggi
Quindi secondo te uno che inizia dovrebbe automaticamente cominciare con Python sempre e comunque ? Secondo me dipende anche dalle motivazioni per cui inizia a programmare.
Di conseguenza io ho consigliato C# per diminuire il suo percorso di apprendimento, visto che un giorno vorrebbe andare a lavorare a basso livello.
Credo che un percorso di apprendimento Python -> C# -> C++ sia ben più lungo di un percorso C# -> C++, nonostante la supposta facilità di apprendimento del Python rispetto al C#, soprattutto considerando la distanza fra questi due linguaggi.
Partendo dal presupposto che imparare a programmare per poter scrivere driver mi sembra fare un percorso un po' troppo vincolante (anche perchè suppongo, presumo che l'autore del thread se mai dovesse diventare un programmatore, se mai dovesse lavorare nel settore, dubito si trovi a scrivere driver per tutta la sua vita e basta...o almeno me lo auguro ), il tuo consiglio è ragionevole ma non dimenticare che Python può essere esteso tramite librerie native C e C++ (quest'ultimo attraverso Boost per esempio).
Il core stesso è stato scritto in C (progetto PyPy a parte).

Quindi se è vero che dal punto di vista sintattico ci siano delle differenze tra Python e i linguaggi C-like, non è vero per quanto riguarda il supporto e gli strumenti messi a disposizione.
E quindi un percorso diverso da quello che hai messo in luce tu non è così assurdo.
Chiaramente per poterlo consigliare e prenderlo in esame bisogna anche averci lavorato, oltre che leggere qualche specifica qui e là...questo sempre nel discorso di cui ti facevo sopra riguardo all'esperienza.
DioBrando è offline   Rispondi citando il messaggio o parte di esso