[Python] It's 1999 all over again

enrico franchi enrico.franchi a gmail.com
Gio 13 Feb 2014 15:35:39 CET


2014-02-13 13:01 GMT+00:00 Carlos Catucci <carlos.catucci a gmail.com>:

>
> 2014-02-13 12:20 GMT+01:00 Manlio Perillo <manlio.perillo a gmail.com>:
>
> Che è più efficiente di Python, restando però molto usabile (non a livello
>> di Python, ma nemmeno a basso livello come C).
>>
>> Con Python se vuoi ottimizzare puoi solo farlo riscrivendo alcune
>> funzioni in C, guidato da un profiler.
>> Per programmi più complessi, Go si posiziona bene come linguaggio "unico"
>> (intendendo che puoi scrivere tutto in un solo linguaggio con un buon
>> bilanciamento di prestazioni e facilità di scrittura/manutenzione codice).
>>
>> La concorrenza direi che è la classica ciliegina sulla torta (a
>> differenza, ad esempio, di Erlang, dove la concorrenza è forse l'*unica*
>> ragione per sceglierlo).
>>
>> Tutto questo ad intuito, non avendo mai usato sul serio Go (non mi
>> piacciono alcune decisioni prese a livello di design).
>>
>
> Io non lo conosco e sto approcciandomi ora a studiacchiarlo.
>  Non mi fa impazzire, non ha la pulizia stilistica del Python ne
> l'immediatezza del C.
>

Frase ad effetto, ma non vuole dire moltissimo... Come immediatezza io lo
trovo piuttosto buono.
Se vuoi ha meno cose "sorprendenti" rispetto al C. Parliamo di un
linguaggio che ti accetta 5[p], voglio dire... non e' tutto rose e fiori.



>  Pero' il mio e' un parere per avere letto una introduzione qui
>
>
> http://okpanico.wordpress.com/2011/03/13/go-specifiche-del-linguaggio-prima-parte/
>

Ora io l'articolo non lo ho letto, ma magari prima di formarti un parere
leggi le introduzioni "top ranked"... no?



>
>
> 1. Il tipo *string* si comporta come un *array di byte*, una volta
> settati sono immutabili. Cioè è illegale assegnare un valore a *&s[i]*.
>
> A me sembra una cosa complicata, in C posso cambiare un carattere di un
> array di caratteri (una stringa in pratica), e qui mi sembra sia vietato.
>
>
Le stringhe immutabili sono una gran cosa, davvero. Se vuoi un array
mutabile fai un array di bytes.


> 2. Come nel C gli indici sono compresi in [0 .. len(a)-1]. I tipi sono
> sempre monodimensionali ma possono essere composti per creare tipi
> multidimensionali.
>

Si, non e' molto chiaro. Credo che voglia dire che in Go, come in C, una
matrice fatta alla naive (per dire) non e' una cosa a se stante, ma e'
realmente un array di array.


> 3. Come per gli array le slice sono sempre monodimensionali ma possono
> essere composte per creare oggetti di più dimensioni. Per gli array di
> array gli array costituenti sono sempre della stessa lunghezza per
> costruzione; diversamente per le slice di slice (o array di slice) le
> lunghezza possono cambiare dinamicamente. Inoltre le slice costituenti
> devono essere allocate individualmente, con *make()*.
>
> Per finire di far fondere il mio cervello che col giu' dalle orecchie (per
> questo devo sbrigrami a concludere questo post)
>
> So come funzionano le slice, e non capisco cosa vuole dire. ;)



-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20140213/8b24cc3b/attachment-0001.html>


Maggiori informazioni sulla lista Python