Best games 2018, Carlsen come il prezzemolo anche se non usa PYTHON

Sacrifici corretti, sacrifici scorretti, ma una bella partita giocata ha tutta una serie di parametri per essere giudicata avvincente e bella e artisticamente adeguata rispondendo a precisi criteri di armonia e correttezza oppure no? All’ indirizzo http://www.chessgames.com/perl/chesscollection?cid=1025103 abbiamo delle prestazioni da urlo ma sarò tutto vero? Ad esempio in questa prestazione di Shirov limitata solo dal fatto che é stata giocata in simultanea, il bianco pigro e indolente sacrifica un paio di torri d’angolo per concludere velocemente la partita in apertura: http://www.chessgames.com/perl/chessgame?gid=1704700 inoltre sono reperibili molte partite di attacco giocate anche in maniera pulita e cristallina come ad esempio http://www.chessgames.com/perl/chessgame?gid=1485587 ma veniamo al punto, quali sono state le partite finora inizio 2018 che meritano menzione artirtica? Chessgames menziona Carlsen http://www.chessgames.com/perl/chessgame?gid=1908642, Giri http://www.chessgames.com/perl/chessgame?gid=1908518 e Anand il vecchietto decrepito in grande spolvero http://www.chessgames.com/perl/chessgame?gid=1908509 in effetti queste tre partite da sole sono in grado se visionate di produrre un patologico mal di testa della durata di un mese (mentre guardando una sola partita di un certo Planinc, una qualsiasi, il mal di testa durerebbe oltre 12 mesi senza soste). Complicazioni a go go che rispondono anche alla domanda critica: che cosa serve realmente per migliorare negli scacchi e fare il salto di qualità una volta che si sono appresi gli elementi di base per una corretta valutazione posizionale? Analisi, analisi e ancora anlisi. Senza la capacità di calcolare complesse varianti senza perdere aderenza con la realtà difficilmente si andrebbe da qualsiasi parte. E ora passiamo a Karpov, pardon volevamo dire a Pyton anche se tra i due ci sono delle analogie.Linguaggio compilato? Interpretato? Generazione di un bytecode e macchina virtuale? Andiamo con calma ad esempio: https://it.wikipedia.org/wiki/Interprete_(informatica) e proseguiamo con sangue freddo https://it.wikipedia.org/wiki/Linguaggio_compilato. All’ indirizzo https://umbriawayfocus.wordpress.com/2018/02/10/ma-se-io-gioco-il-gambetto-di-re-contro-aronian-posso-fare-patta-la-risposta-e-affermativa-se-usi-python-e-se-ti-chiami-carlsen/ abbiamo iniziato a curiosare su Pyton, a questo punto approfondiamo. Come dice mamma wiki Python è un linguaggio multi-paradigma, che ha tra i principali obiettivi dinamicità, semplicità e flessibilità. Supporta il paradigma object oriented, la programmazione strutturata e molte caratteristiche di programmazione funzionale e riflessione. Le caratteristiche più immediatamente riconoscibili di Python sono le variabili non tipizzate e l’uso dell’indentazione per la definizione delle specifiche. Altre caratteristiche distintive sono l’overloading di operatori e funzioni tramite delegation, la presenza di un ricco assortimento di tipi e funzioni di base e librerie standard, sintassi avanzate quali slicing e list comprehension. Il controllo dei tipi è comunque forte (strong typing) e viene eseguito a runtime (dynamic typing). In altre parole, una variabile è un contenitore al quale viene associata un’etichetta (il nome) che può essere associata a diversi contenitori anche di tipo diverso durante il suo tempo di vita. Usa un garbage collector per la liberazione automatica della memoria. Python ha qualche somiglianza con Perl, ma i suoi progettisti hanno scelto la via di una sintassi più essenziale e uniforme, con l’obiettivo di aumentare la leggibilità del codice. Analogamente a Perl è classificato spesso come linguaggio di scripting, ma pur essendo utile per scrivere script di sistema (in alternativa per esempio a bash), la grande quantità di librerie disponibili e la facilità con le quali il linguaggio permette di scrivere software modulare favoriscono anche lo sviluppo di applicazioni molto complesse. Approndiamo sempre all’ indirizzo: https://it.wikipedia.org/wiki/Python :sebbene Python venga in genere considerato un linguaggio interpretato, in realtà il codice sorgente non viene convertito direttamente in linguaggio macchina. Infatti passa prima da una fase di pre-compilazione in bytecode, che viene quasi sempre riutilizzato dopo la prima esecuzione del programma, evitando così di reinterpretare ogni volta il sorgente e incrementando le prestazioni. Inoltre è possibile distribuire programmi Python direttamente in bytecode, saltando totalmente la fase di interpretazione da parte dell’utilizzatore finale, e ottenendo programmi Python a sorgente chiuso. Come il Lisp e a differenza del Perl, l’interprete Python supporta anche un modo d’uso interattivo attraverso il quale è possibile inserire codice direttamente da un terminale, visualizzando immediatamente il risultato. L’interprete è inoltre contenuto nella libreria standard e come in molti altri linguaggi interpretati è possibile far valutare stringhe arbitrarie nel contesto corrente. È però possibile passare all’interprete anche un contesto completamente diverso, sotto forma di liste che contengono l’elenco dei simboli definiti. Python dispone anche di un framework per lo unit testing che supporta lo sviluppo di test unitari automatici. E le prestazioni? Se paragonato ai linguaggi compilati statically typed, come ad esempio il C, la velocità di esecuzione non è uno dei punti di forza di Python, specie nel calcolo matematico. Esiste un’estensione, Psyco, che è una sorta di compilatore JIT in grado di velocizzare in modo notevole alcuni tipi di codice, specialmente l’implementazione di algoritmi, pur aumentando la memoria utilizzata. Le performance di Python sono allineate o addirittura superiori ad altri linguaggi interpretati, quali PHP e Ruby, e in certe condizioni può rivaleggiare anche con Java. Non va inoltre dimenticato che Python permette di aggirare in modo facile l’ostacolo delle performance pure: è infatti relativamente semplice scrivere un’estensione in C o C++ e poi utilizzarla all’interno di Python, sfruttando così l’elevata velocità di un linguaggio compilato solo nelle parti in cui effettivamente serve e sfruttando invece la potenza e versatilità di Python per tutto il resto del software.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Blog su WordPress.com.

Su ↑

%d blogger hanno fatto clic su Mi Piace per questo: