[Python] Python vs Java

Marco Ippolito ippolito.marco a gmail.com
Lun 29 Dic 2014 21:54:28 CET


Ciao Enrico
per i punti 2b e 6 hai qualche materiale da suggerirmi x approfondire le
best practices in python?
Marco
Il giorno 29/dic/2014 21:40, "enrico franchi" <enrico.franchi a gmail.com> ha
scritto:

>
>
> 2014-12-29 19:00 GMT+00:00 Carlos Catucci <carlos.catucci a gmail.com>:
>>
>>
>> 2014-12-29 19:45 GMT+01:00 enrico franchi <enrico.franchi a gmail.com>:
>>
>>> Mi sembra sia uno use case un po' diverso dal "principiante totale che
>>> non sa programmare" di cui si parlava.
>>> Penso si possa dare per assodato che Davide conoscesse sia la
>>> programmazione in generale che, probabilmente, almeno un po' di OOP (se non
>>> di piu'). Mi aspetto che fosse gia' familiare anche con questioni di
>>> eccezioni e gestione dell'errore, e di design di API. Probabilmente aveva
>>> anche esperienza con un framework web, certamente con i database. Senza
>>> dubbio con vari elementi della programmazione web (http che fa, come si
>>> usano gli status di ritorno...). Sperabilmente anche TDD o per lo meno come
>>> si scrivono i test dovevano essere assodati. Mi sembra insomma che sia
>>> difficilmente comparabile.
>>>
>>
>> Io intendevo dire che una persona skillata con Python in pochissimo tempo
>> e' autonoma, lo stesso non si puo' dire di Java (e di altri linguaggi)
>>
>
> Scusa non capisco... eravamo partiti dal principiante assoluto che non sa
> programmare che in 10 giorni metteva in produzione un sito, di questo
> stiamo parlando. O no?
>
>
>>
>>
>>> Mi piacerebbe davvero vederlo. Ma vorrei anche vedere il codice. Perche'
>>> il fatto che si tiri su un orrore immantenibile in 10 giorni, a me sembra
>>> relativamente poco interessante.
>>>
>>
>> No codice mantenibile. Io sono fanatico su questa cosa. Se il codice non
>> e' chiaro e mantenibile per me non e' codice.
>>
>
> Visto quello che escludi piu' sotto dalla definizione di codice
> mantenibile, credo che abbiamo definizioni diverse di mantenibile. Per
> esempio, per me, codice mantenibile senza test e' un ossimoro. Tanto per
> dirne una.
>
>
>> Solo a spiegare come funziona il web ci va parecchio tempo. Non parliamo
>>> poi di questioni sulla gestione dell'errore, programmazione ad oggetti e
>>> gestione dell'errore.
>>>
>>
>> Io ho detto che faccio programmare una persona che non conosce il
>> linguaggio ed il frameqwork, con un monitoraggio. Poi ovvio che se trovo
>> quello negato non ho chance. Ma una persona di medie capacita' puo'
>> imparare a scrivere codice. Ovviamente non sto parlando di riscrivere
>> facebook, ma un sito decente, ad esempio per gestire un magazzino, con
>> sottoscorta e quant'altro, si.
>>
>
> E io su questo sono completamente in disaccordo.
>
>
>>
>>
>>> Secondo me  quello che intendi con "formato" o "in grado" e' un po'
>>> diverso da quello che intendo io.
>>>
>>
>> Forse tu intendi uno sviluppatore esperto. L'esperienza non la si
>> trasmette per endovena, per cui prima che possa essere autonomo del tutto
>> servono tempi piu' lunghi, ma io parlo delal capacita' di scrivere codice
>> mantenibile e funzionante.
>> Deploy, testing avanzato, e tutto il resto non rientrano in questo.
>> Quello che voglio dire e' che in Python posso far programmare decentemente
>> una persona in pochi giorni, con altri linguaggi mi serve minimo un mese
>> per avere risultati simili.
>>
>
> Ecco... nel 2014 fatico a considerare codice senza test come "mantenibile"
> o come "decente". Ma poi voglio dire, in 10 giorni gli spieghi:
>
> 1. python di base (funzioni, cicli, if, compagnia)
> 2. oggetti e programmazione ad oggetti (sembra difficile ragionare con
> Django senza ragionare con gli oggetti)
> 2b. come organizzare le dipendenze in modo sensato, moduli e oggetti,
> interfacce fra gli stessi (non in senso Java, in senso di come si parlano)
> 3. Django
> 4. HTTP (voglio dire, dovra' ben sapere quando una chiamata ti torna un
> 200, un 404, un 401, un 403, gli altri 4xx e i 3xx)
> 5. HTML/Templating, verosimilmente con CSS e quel minimo di Javascript che
> tende a saltare fuori ovunque
> 5b. Forms e compagnia
> 6. Come si gestiscono e come non si gestiscono gli errori, quando usare
> None, quando tirare un'eccezione, quando fare altro. Come gestire le
> eccezioni, quando rilanciarle, quando gestirle, quando fare cosa
> 7. Testing (che non vorremo mica sviluppare senza test, spero)
> 8. Grosso modo come funziona uno stack web
> 9. Quel poco di SQL (o meglio, di db relazionali) che ti serve per capire
> come accidenti Django salva e legge dati, fra le altre varie cose per non
> inchiodare tutto appena la gente comincia ad usare il servizio
> 10. Quel poco di dbms che ti serve
> 11. Come funzionano le fixtures e come si scrivono i test che
> interagiscono con il db
> 12. cosa loggare e cosa non loggare, quando, come leggere e capire un log
>
>
>
>
>
> --
> .
> ..: -enrico-
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20141229/34814f32/attachment-0001.html>


Maggiori informazioni sulla lista Python