Libri da scaricare: Comprendere Git concettualmente

Comprendere Git concettualmente

E’ da tanto tempo che non segnalavo più libri da scaricare: non riesco più a dedicare molto tempo alla ricerca, lettura e recensione di testi in italiano.

Ero indeciso se segnalare questo testo come libro da scaricare o come guida; alla fine ho rotto gli indugi,  ho creato la miniatura della copertina ed ho steso questa recensione.

Se state cercando di imparare ad usare Git questo libro è un passaggio obbligato. Fino a poco tempo fa stavo tenendo d’occhio le traduzioni di Pro Git e Git Book che sono, in pratica, la documentazione ufficiale di questo sistema per il controllo delle revisioni.

Comprendere Git concettualmente non aspira ad essere un manuale, anche se è sufficiente per cominciare ad utilizzare Git con profitto. Non è neanche una guida, visto che ventisei pagine scritte fitte sono un po troppo per un tutorial, a mio parere. Forse potremmo definirlo un Bignami.

Lo scopo di questo testo è analizzare i principi di funzionamento di Git con esempi che illustrino chiaramente cosa succede ad un repository quando viene invocato un particolare comando. Esempi a cui si aggiungono consigli su quando utilizzare un comando per ottenere un particolare scopo.

I comandi illustrati sono pochi e le loro potenzialità non sono molto approfondite ma questo si rivela un pregio piuttosto che un difetto. Si resta concentrati sullo scopo che è capire come funziona questo DCVS.

Non aspettatevi fronzoli o i soliti confronti con sistemi di controllo revisione centralizzati, lo scopo è capire Git, non cosa lo differenzi dalle altre soluzioni disponibili.

Non aspettatevi, inoltre, di potervi limitare a leggere questo testo per padroneggiare Git in tutti i suoi aspetti, d’altro canto potrete affrontare i testi citati prima ed il manuale online molto più facilmente dopo aver studiato questo testo.

La traduzione è buona, la lettura è scorrevole a scapito della fedelta della traduzione che non è letterale. Poco male, io apprezzo più la scorrevolezza, ferma restando la necessità di aderire al testo originale il più possibile, alla ossessione della traduzione pedissequa. L’unico appunto che mi sento di portare riguarda la scelta di tradurre  tag con intestazione; io avrei scelto un termine diverso, magari etichetta.

Aggiornamento: Scrivo per confessare che la castroneria è mia che devo aver fatto confusione tra diversi testi visto che in questo non si fa riferimento alle label ma alle intestazioni, come correttamente tradotto.

Ho scelto di lasciare i link alla pagina che ospita la traduzione piuttosto che al file in pdf perché, benché la versione pdf sia la prima che ho letto, e la prima ad essere riportata da google se si cerca il titolo del libro, la pagina su linuxtrent riporta solamente la versione odt.

3 pensieri riguardo “Libri da scaricare: Comprendere Git concettualmente

  1. Salve,
    ho provato a utilizzare RSS per seguire i toui post, ma mi esce pagina con tutto il codice…vabbo’ comunque ho risolto iscrivendomi alle newsletter.

    Vorrei chiederti un consiglio. Mi sono sempre avvicinato al mondo della programmazione (ai tempi con db3, 4, clipper un po di c(ma davvero poco) ecc. Mai portato in porto nulla (a parte con clipper 2 programmi per negozi di abbigliamento) Oggi, mi piacerebbe riprovare ad imparare qualche linguaggio… ma quale…mi chiederai “ma per fare cosa?”. Non lo so, forse scrivere qualche programma per telefonini, utilizzarlo nella realizzazione di siti web….non saprei. Ma comunque, il fatto è che sarei indirizzato su java ma come il c trovo la sintassi del linguaggio pesante! Ho studiato un po di python e devo dire che secondo mè è uno dei più semplici. Comunque, volendo ricominciare da capo, qual’è il linguaggio che mi consiglieresti ?

    Ciao e grazie in anticipo…anche se non troverai il tempo per rispondermi.

  2. Ci ho messo un po’ a risponderti e me ne scuso, principalmente perché forse non otterrai la risposta che ti aspetti.

    Secondo me il linguaggio da usare non è indicativo, almeno non quanto l’ambito in cui ti troverai a condurre i tuoi esperimenti. Il mondo della programmaziopne, per fortuna, è molto cambiato dai tempi del clipper, del gwbasic e del turboc.

    I paradigmi di programmazione sono cambiati parecchio, conoscere un linguaggio sarà solo il primo passo di un lungo (e divertente) periodo di studio in cui approdondire la conoscenza delle librerie e dei framework che permettono di portare a termine il proprio lavoro.

    Le variabili tra cui districarsi sono parecchie. La scelta è paradossalmente più semplice per la programmazione web (permettimi di chiamarla così) : Java, Php, Python, Ruby lato server (se vuoi divertirti un po’ con paradigmi di programmazione insoliti per la tua formazione attuale Erlang, Javascript e Racket);
    lato client la scelta obbligata è javascript (potrai sbizzarrirti con i framework ma il linguaggio è obbligato).

    La programmazione tradizionale, invece, dovrà fare i conti con i diversi sistemi operativi, desktop environment, e librerie dedicate. In questo caso la scelta sarà dettata dal grado di integrazione/portabilità che vorrai dare ai tuoi programmi.

    Un ultimo appunto sulla pesantezza dei linguaggi. Più un linguaggio è pesante, immagino tu intenda che sia fortemente tipizzato, meno spazio ti lascia per fare errori concettuali. Detto questo è anche vero che combattere tutto il tempo con un linguaggio perché non lo si comprende appieno, o perché non si adatta al nostro modo di programmare, non permette di fare un buon lavoro.

    In poche parole, scegli l’ambito di intervento, cerca di trovare il linguaggio a te congeniale, il set di librerie adatte al problema che vuoi risolvere e comincia a scrivere codice. Non aver paura di buttare tutto alle ortiche e ricominciare da capo quando ti accorgerai di aver imparato qualcosa che ti farà cambiare il tuo punto di vista sul linguaggio. Che sia python, che sia ruby, che sia java, che sia c++, l’importante è che tu abbia una valida documentazione e qualcuno a cui chiedere quando ti troverai nei guai (e succederà prima di quanto immagini per cose più semplici di quanto speri).

    Se mastichi l’inglese, mi sento, dopo questo sproloquio di lasciarti con un libro che considero una lettura obbligata per ogni programmatore che si rispetti. Il linguaggio che viene usato al suo interno è scheme/racket ma i concetti illustrati, ed il taglio dato loro dagli autori, sono a dir poco illuminanti.

    http://mitpress.mit.edu/sicp/full-text/book/book.html

    Giacomo

    P.S.
    Gli RSS funzionano perfettamente a quanto mi risulta, ho provato ad usare alcuni rss reader diversi da quello che uso di solito e nessuno si è lamentato del formato del feed. Tu cosa usi?

Lascia un commento