[Python] Python vs Java

enrico franchi enrico.franchi a gmail.com
Lun 29 Dic 2014 21:39:50 CET


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-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20141229/0784ecc8/attachment.html>


Maggiori informazioni sulla lista Python