Re: [Python] Writing Python like it's Rust

2023-05-24 Per discussione Pietro Brunetti
Capisco la situazione, i pro e i contro...

L'unica cosa che suggerirei all'autore dell'articolo e' di usere il
decoratore singledispatch

invece di fare l'odioso `isinstance` quando vuole usare qualcosa di simile
a enum+match di Rust

Il giorno mer 24 mag 2023 alle ore 15:41 Luca Bacchi 
ha scritto:

> Per completezza segnalo un'altra risorsa:
>
> https://www.youtube.com/arjancodes
>
> Credo sia abbastanza conosciuto il suo canale. Ecco, direi che il suo
> stile di codice Python rispecchia l'approccio di cui si sta discutendo in
> questo thread.
>
> In questo [video](https://www.arjancodes.com/mindset/type-hints) descrive
> le differenze fra typing statico/dinamico e tipizzazione forte/debole.
>
> Il giorno mer 24 mag 2023 alle ore 12:36 Jacopo Cascioli <
> jac...@jacopocascioli.com> ha scritto:
>
>> No, se volessi usare la tipizzazione statica...scriverei in Rust.
>>
>> Python è diventato uno dei linguaggi più usati perchè ha proposto un modo
>> di sviluppare diverso, innovativo ed efficace.
>>
>> Io mi trovo ad usare Python sempre di meno, proprio perchè queste
>> funzionalità le posso trovare implementate meglio in altri linguaggi.
>>
>> --- Original Message ---
>> On Wednesday, May 24th, 2023 at 10:25 AM, Luca Bacchi 
>> wrote:
>>
>> Sono incappato in questo articolo:
>>
>>
>> https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
>>
>> e devo riconoscere che descrive un generale approccio allo sviluppo in
>> Python in cui mi sono molto riconosciuto.
>>
>> Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho
>> cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare
>> in Python ne ha risentito.
>>
>> In pratica la tendenza è quella ad usare il più possibile tutti quegli
>> strumenti e quei costrutti che le ultime versioni di Python forniscono per,
>> passatemi il termine, rendere Python più nella direzione dei linguaggi
>> staticamente tipati. È una frase probabilmente molto inesatta ma spero di
>> aver colto nel segno.
>> Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.
>>
>> Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore
>> allora perché non usare Java al posto di Python?
>> A parte che dopo JavaScript, Python è il linguaggio con cui sono più a
>> mio agio, in realtà penso che la strategia di "sviluppare per iterazioni"
>> in cui prima sviluppo e testo se le mie idee sono corrette e funzionano; e
>> poi aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle
>> dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho
>> fatto, non sua una stratagia che mi dispiace.
>>
>> Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche
>> voi che lo sviluppo in Python moderno non possa effettivamente fare a meno
>> di questi strumenti?
>>
>> Ciao a tutti
>>
>>
>> ___
>> Python mailing list
>> Python@lists.python.it
>> https://lists.python.it/mailman/listinfo/python
>>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>


-- 
There is a crack, a crack in everything. That’s how the light gets in
L. Cohen
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Writing Python like it's Rust

2023-05-24 Per discussione Luca Bacchi
Per completezza segnalo un'altra risorsa:

https://www.youtube.com/arjancodes

Credo sia abbastanza conosciuto il suo canale. Ecco, direi che il suo stile
di codice Python rispecchia l'approccio di cui si sta discutendo in questo
thread.

In questo [video](https://www.arjancodes.com/mindset/type-hints) descrive
le differenze fra typing statico/dinamico e tipizzazione forte/debole.

Il giorno mer 24 mag 2023 alle ore 12:36 Jacopo Cascioli <
jac...@jacopocascioli.com> ha scritto:

> No, se volessi usare la tipizzazione statica...scriverei in Rust.
>
> Python è diventato uno dei linguaggi più usati perchè ha proposto un modo
> di sviluppare diverso, innovativo ed efficace.
>
> Io mi trovo ad usare Python sempre di meno, proprio perchè queste
> funzionalità le posso trovare implementate meglio in altri linguaggi.
>
> --- Original Message ---
> On Wednesday, May 24th, 2023 at 10:25 AM, Luca Bacchi 
> wrote:
>
> Sono incappato in questo articolo:
>
>
> https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
>
> e devo riconoscere che descrive un generale approccio allo sviluppo in
> Python in cui mi sono molto riconosciuto.
>
> Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho
> cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare
> in Python ne ha risentito.
>
> In pratica la tendenza è quella ad usare il più possibile tutti quegli
> strumenti e quei costrutti che le ultime versioni di Python forniscono per,
> passatemi il termine, rendere Python più nella direzione dei linguaggi
> staticamente tipati. È una frase probabilmente molto inesatta ma spero di
> aver colto nel segno.
> Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.
>
> Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore allora
> perché non usare Java al posto di Python?
> A parte che dopo JavaScript, Python è il linguaggio con cui sono più a mio
> agio, in realtà penso che la strategia di "sviluppare per iterazioni" in
> cui prima sviluppo e testo se le mie idee sono corrette e funzionano; e poi
> aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle
> dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho
> fatto, non sua una stratagia che mi dispiace.
>
> Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche
> voi che lo sviluppo in Python moderno non possa effettivamente fare a meno
> di questi strumenti?
>
> Ciao a tutti
>
>
> ___
> Python mailing list
> Python@lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Writing Python like it's Rust

2023-05-24 Per discussione Jacopo Cascioli
No, se volessi usare la tipizzazione statica...scriverei in Rust.

Python è diventato uno dei linguaggi più usati perchè ha proposto un modo di 
sviluppare diverso, innovativo ed efficace.

Io mi trovo ad usare Python sempre di meno, proprio perchè queste funzionalità 
le posso trovare implementate meglio in altri linguaggi.

--- Original Message ---
On Wednesday, May 24th, 2023 at 10:25 AM, Luca Bacchi  
wrote:

> Sono incappato in questo articolo:
>
> https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
>
> e devo riconoscere che descrive un generale approccio allo sviluppo in Python 
> in cui mi sono molto riconosciuto.
>
> Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho 
> cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare in 
> Python ne ha risentito.
>
> In pratica la tendenza è quella ad usare il più possibile tutti quegli 
> strumenti e quei costrutti che le ultime versioni di Python forniscono per, 
> passatemi il termine, rendere Python più nella direzione dei linguaggi 
> staticamente tipati. È una frase probabilmente molto inesatta ma spero di 
> aver colto nel segno.
> Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.
>
> Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore allora 
> perché non usare Java al posto di Python?
> A parte che dopo JavaScript, Python è il linguaggio con cui sono più a mio 
> agio, in realtà penso che la strategia di "sviluppare per iterazioni" in cui 
> prima sviluppo e testo se le mie idee sono corrette e funzionano; e poi 
> aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle 
> dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho 
> fatto, non sua una stratagia che mi dispiace.
>
> Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche voi 
> che lo sviluppo in Python moderno non possa effettivamente fare a meno di 
> questi strumenti?
>
> Ciao a tutti___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Writing Python like it's Rust

2023-05-24 Per discussione Davide Muzzarelli

On 24/05/23 10:25, Luca Bacchi wrote:

Sono incappato in questo articolo:
[...]
e devo riconoscere che descrive un generale approccio allo sviluppo in 
Python in cui mi sono molto riconosciuto.


Idem!

In pratica la tendenza è quella ad usare il più possibile tutti quegli 
strumenti e quei costrutti che le ultime versioni di Python forniscono 
per, passatemi il termine, rendere Python più nella direzione dei 
linguaggi staticamente tipati. [...]

Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.


Anche io uso entrambi, è più facile notare errori prima ancora di 
lanciare i test e l'autocompletamento funziona meglio.


Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore 
allora perché non usare Java al posto di Python?


Le differenze tra Java e Python sono ben altre ;)

A parte che dopo JavaScript, Python è il linguaggio con cui sono più a 
mio agio, in realtà penso che la strategia di "sviluppare per 
iterazioni" in cui prima sviluppo e testo se le mie idee sono corrette e 
funzionano; e poi aggiungo i Type Hint e definisco meglio i tipi con 
delle classi o delle dataclasses... In sostanza faccio refactoring e 
irrobustisco ciò che ho fatto, non sua una stratagia che mi dispiace.


Personalmente ragiono top down e scrivo funzioni brevi.

Sviluppo creando rapidamente funzioni e metodi vuoti usando i type 
hints. Mi aiuta a pensare e a intuire il funzionamento più velocemente.


Infine riempio funzioni e metodi, naturalmente implementando i test. Per 
evitare errori commento o salto le chiamate alle parti ancora vuote o 
uso dei mock temporanei.


Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche 
voi che lo sviluppo in Python moderno non possa effettivamente fare a 
meno di questi strumenti?


A me sono utili. A volte prevengono certi tipi di errore ma soprattutto 
mi aiutano a velocizzare e semplificano il processo mentale.


Buona giornata Luca! :)

Davide Muzzarelli
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


Re: [Python] Writing Python like it's Rust

2023-05-24 Per discussione Carlos Catucci
On Wed, 24 May 2023 at 10:26, Luca Bacchi  wrote:
>
> Sono incappato in questo articolo:
>
> 
> https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html
>
> e devo riconoscere che descrive un generale approccio allo sviluppo in Python 
> in cui mi sono molto riconosciuto.
>
> Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho 
> cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare in 
> Python ne ha risentito.
...
> Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche voi 
> che lo sviluppo in Python moderno non possa effettivamente fare a meno di 
> questi strumenti?

Ti diro' che non se ne possa fare a meno no ma di certo aiutano anche
a mantenere il codice (sopratutto se di altri). Il tuo approccio mi
pare corretto, perche' perdere tempo PRIMA a tipizzare, (e a compilare
nel caso di Java) quando stai elaborando il flusso? Farlo a codice
pronto rende piu' fruibile per eventuali debugging/manutenzioni
evolutive

Carlos
-- 
EZLN ... Para Todos Todo ... Nada para nosotros
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python


[Python] Writing Python like it's Rust

2023-05-24 Per discussione Luca Bacchi
Sono incappato in questo articolo:


https://kobzol.github.io/rust/python/2023/05/20/writing-python-like-its-rust.html

e devo riconoscere che descrive un generale approccio allo sviluppo in
Python in cui mi sono molto riconosciuto.

Nel mio caso però dovete sostituire Rust con TypeScript: da quando ho
cominciato a migrare da JavaScript a TypeScript il mio modo di sviluppare
in Python ne ha risentito.

In pratica la tendenza è quella ad usare il più possibile tutti quegli
strumenti e quei costrutti che le ultime versioni di Python forniscono per,
passatemi il termine, rendere Python più nella direzione dei linguaggi
staticamente tipati. È una frase probabilmente molto inesatta ma spero di
aver colto nel segno.
Nel mio caso mi riferisco soprattutto ai Type Hints e alle dataclasses.

Qualcuno direbbe: se pensi che la tipizzazione statica sia migliore allora
perché non usare Java al posto di Python?
A parte che dopo JavaScript, Python è il linguaggio con cui sono più a mio
agio, in realtà penso che la strategia di "sviluppare per iterazioni" in
cui prima sviluppo e testo se le mie idee sono corrette e funzionano; e poi
aggiungo i Type Hint e definisco meglio i tipi con delle classi o delle
dataclasses... In sostanza faccio refactoring e irrobustisco ciò che ho
fatto, non sua una stratagia che mi dispiace.

Qualcuno nella lista si trova nella mia stessa situazione? Pensate anche
voi che lo sviluppo in Python moderno non possa effettivamente fare a meno
di questi strumenti?

Ciao a tutti
___
Python mailing list
Python@lists.python.it
https://lists.python.it/mailman/listinfo/python