PDA

View Full Version : La nostra libreria informatica


The_ouroboros
15-01-2013, 19:11
In questa era di libri digitali, il libro stampato è sempre nostro amico.
Voi che libreria personale avete?
Comincio io:
http://s7.postimage.org/3kggitxjr/P1153005.jpg (http://postimage.org/image/3kggitxjr/)

Questi sono i miei libri "di riferimento" che ho preso nel tempo.
Quelli digitali sono comodi fino ad un certo punto.

A voi la parola.

Hieicker
15-01-2013, 19:47
A dire il vero io ne ho molto pochi, e tutti in giro per la casa :). Se riesco a raggrupparli appena ho un tempo libero faccio volentieri una foto.
Tuttavia anche i libri digitali non mi dispiacciono. Con un bel Kindle la lettura non diventa pesante come su un notebook o qualsiasi dispositivo dotato di schermo lcd :).

pierosa
15-01-2013, 19:51
Basi di dati - Atzeni, Ceri, Paraboschi, Torlone. Ce l'ho :O

Tommo
15-01-2013, 20:16
Io non cen'ho manco uno :D

vendettaaaaa
15-01-2013, 20:42
Belli i topic in cui ci si mette in mostra :D
Anch'io penso che i libri di carta siano molto più comodi, e ieri infatti m'è arrivato l'ultimo che ho ordinato, sul C#. Più tardi faccio anch'io una foto e commento anche i libri che ho letto :cool:

vendettaaaaa
16-01-2013, 11:35
http://img442.imageshack.us/img442/7033/wp20130116002.jpg (http://img560.imageshack.us/img560/7033/wp20130116002.jpg)

Commenti:
- Qt Development. grandissimo sbaglio, per 2 motivi: la documentazione online Qt è fatta meglio; quando lo comprai l'anno scorso era già OUTDATED (non menziona nemmeno il QML...). Ti insegna ad usare i Widget, ma come dicevo è basato su Qt 4, l'anno scorso c'erano già le 4.7 e ora siamo alla 5...devo venderlo prima o poi.
- Programming: Principles and Practice Using C++. SUPERBO. Stroustrup spiega benissimo, è chiarissimo; senza dubbio il migliore dei 4 libri che ho. Pieno zeppo di esempi ed esercizi, spiega la programmazione e il C++ dalle basi. Non di livello avanzato come "The C++ Programming Language" quindi, ma un libro per introdurre alla programmazione in modo molto efficace. Consigliato a tutti i novellini come me :D
- Accelerated C++. Altro OTTIMO libro. Ho cominciato con questo, non con il libro di Stroustrup, e devo dire che anche questi autori sono molto bravi: chiari e concisi, ogni paragrafo spiega bene un concetto, senza perdersi in dissertazioni dispersive. Ben più corto dell'altro libro, perchè manca di tante appendici e spiegazioni approfondite, ma i concetti necessari per cominciare ad un buon livello ci sono tutte. Unica pecca, per me: gli autori portano avanti, dal primo all'ultimo capitol, lo sviluppo di un programma d'esempio che man mano viene arricchito in funzionalità. E' un po' palloso, perchè il programma funziona da "registro di classe" per un professore, e serve a registrare voti degli studenti, calcolando medie eccetera. Poco interessante, sinceramente, ma efficace per l'apprendimento.
- Computing with C# and the .NET Framework: arrivato l'altro ieri, per ora mi sembra ben fatto. Spiegato bene, un po' troppo basilare nei primi capitoli (ma è perchè ormai i concetti base della programmazione li ho assimilati per bene), spero di partire con le cose serie dal Cap.9 in poi :D L'ho preso perchè anch'esso pieno zeppo di esempi ed esercizi, cosa che un po' mi è mancata leggendo un altro libro sul C# (in formato pdf):
- Visual C# 2010 Step By Step (di John Sharp [lol]): è un ottimo libro, l'autore è molto chiaro e spiega bene tutti i concetti che presenta. Strutturato anche molto intelligentemente (1° sezione sulle basi della programmazione; 2° sulle caratteristiche del C#, introduzione agli oggetti; 3° sezione sulle funzionalità avanzate (delegate, eventi, properties, indexers, generics, enumerator); 4° sull'uso di XAML in WPF; 5° per tecniche avanzate in WPF). E' più che altro un reference book però, gli unici esercizi sono dei programmi in WPF già fatti (uno per ogni capitolo) in cui bisogna aggiungere dei pezzi di codice, di modo da mettere in pratica i concetti del capitolo. E' un ottimo libro, però mi servono un po' più di esempi per assimilare meglio concetti nuovi come delegate, eventi. Aggiungere 2 righe di codice non m'è bastato per far mia la nuova (rispetto al C++) sintassi nell'uso di questi costrutti.

Per ora è tutto :D

The_ouroboros
16-01-2013, 14:11
Dimenticavo Basi di dati. Architetture e linee di evoluzione (http://www.amazon.it/gp/product/883866370X/ref=oh_details_o00_s00_i00) in arrivo insieme a SQL in a Nutshell (http://www.bookdepository.co.uk/SQL-Nutshell-Kevin-Kline/9780596518844).

Vincenzo1968
17-01-2013, 11:19
Io ho un fottìo di libri ma non ho la macchina fotografica digitale. Per scrivere i titoli di tutti ci vuole mezza giornata.

Come faccio? :confused:

The_ouroboros
17-01-2013, 11:24
elenchi i più usati?:D

Vincenzo1968
17-01-2013, 12:46
elenchi i più usati?:D

Quelli che ho a portata di mano sulla scrivania? Ci vuole comunque un'oretta abbondante. :(

stohuman
18-01-2013, 04:31
Webcam.

AllerITA
18-01-2013, 06:46
Ecco una piccola parte della mia grossa biblioteca. Quelli che leggo e che
riprendo in mano più volentieri.

http://farm9.staticflickr.com/8331/8391808980_81ae3d5c5f_z.jpg

Per non parlare degli ebook.

Vincenzo1968
18-01-2013, 15:59
Non ho nemmeno la webcam.

Comunque ne cito uno solo: ii Libro dei libri:

http://www.amazon.com/Computer-Programming-Volumes-Boxed-Edition/dp/0201485419

Donald E. Knuth
The Art of Computer Programming

http://www-cs-faculty.stanford.edu/~uno/taocp.html

Tre bei volumoni in un comodissimo cofanetto.

Per chi non mi crede può chiedere. Ad esempio: "leggimi la terza riga della 89^ pagina del terzo volume". E così anche per gli altri libri che posterò.

:D

Vincenzo1968
18-01-2013, 16:17
Lunedi ordino questi:

Linux Kernel Development
http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/dp/0672329468/ref=pd_bxgy_b_img_z

The Linux Programming Interface: A Linux and UNIX System Programming Handbook
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=pd_sim_b_5

Professional Linux Kernel Architecture
http://www.amazon.com/Professional-Linux-Kernel-Architecture-Programmer/dp/0470343435/ref=pd_sim_b_9

Linux System Programming: Talking Directly to the Kernel and C Library
http://www.amazon.com/Linux-System-Programming-Talking-Directly/dp/0596009585/ref=pd_sim_b_10

Beginning Linux Programming
http://www.amazon.com/Beginning-Linux-Programming-Neil-Matthew/dp/0470147628/ref=pd_sim_b_11

Managing Projects with GNU Make
http://www.amazon.com/Managing-Projects-Make-Nutshell-Handbooks/dp/0596006101/ref=pd_sim_b_16

Vincenzo1968
19-01-2013, 14:19
Altri due bei librotti in mio possesso:

http://www.amazon.it/Automi-linguaggi-calcolabilit%C3%A0-John-Hopcroft/dp/8871925521
http://ecx.images-amazon.com/images/I/31n3X2i2GJL._SL500_AA300_.jpg

http://www.amazon.it/Compilatori-Principi-tecniche-strumenti-Brandolese/dp/8871925599
http://ecx.images-amazon.com/images/I/31UvYDadSIL._SL500_AA300_.jpg

Unrealizer
19-01-2013, 16:05
http://www.amazon.it/Compilatori-Principi-tecniche-strumenti-Brandolese/dp/8871925599
http://ecx.images-amazon.com/images/I/31UvYDadSIL._SL500_AA300_.jpg

Questo è quello che chiamano il Dragon Book, vero? proprio qualche giorno fa pensavo di dare un'occhiata al funzionamento di un compilatore, e in rete ho trovato molti riferimenti a questo libro :D

Comunque, non ho molti libri... ho "The C Programming Language" di K&R e "C# 5.0 in a nutshell", e basta :D

Vincenzo1968
19-01-2013, 16:18
Questo è quello che chiamano il Dragon Book, vero? proprio qualche giorno fa pensavo di dare un'occhiata al funzionamento di un compilatore, e in rete ho trovato molti riferimenti a questo libro :D

Comunque, non ho molti libri... ho "The C Programming Language" di K&R e "C# 5.0 in a nutshell", e basta :D

Esatto. Chissà perché lo chiamano così. Forse per l'immagine in copertin? :D

Il Dragon Book non è un libro sui compilatori. È il libro. Se sei seriamente interessato allo studio dei compilatori devi averlo.

;)

Dai un'occhiata anche al contest 17:

http://www.hwupgrade.it/forum/showthread.php?t=2030843

Unrealizer
19-01-2013, 16:25
Esatto. Chissà perché lo chiamano così. Forse per l'immagine in copertin? :D

Il Dragon Book non è un libro sui compilatori. È il libro. Se sei seriamente interessato allo studio dei compilatori devi averlo.

;)

Si, probabilmente è per quella :asd:

Si, avevo intuito che fosse il libro... non so, la cosa mi appassiona, ma non è esattamente una priorità al momento :D

Hieicker
13-02-2013, 10:25
Lunedi ordino questi:

Linux Kernel Development
http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/dp/0672329468/ref=pd_bxgy_b_img_z

The Linux Programming Interface: A Linux and UNIX System Programming Handbook
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=pd_sim_b_5

Professional Linux Kernel Architecture
http://www.amazon.com/Professional-Linux-Kernel-Architecture-Programmer/dp/0470343435/ref=pd_sim_b_9

Linux System Programming: Talking Directly to the Kernel and C Library
http://www.amazon.com/Linux-System-Programming-Talking-Directly/dp/0596009585/ref=pd_sim_b_10

Beginning Linux Programming
http://www.amazon.com/Beginning-Linux-Programming-Neil-Matthew/dp/0470147628/ref=pd_sim_b_11

Managing Projects with GNU Make
http://www.amazon.com/Managing-Projects-Make-Nutshell-Handbooks/dp/0596006101/ref=pd_sim_b_16

Scusa Vincenzo ma dove trovi il tempo di studiarli e fare pratica (se la fai) con tutti :) ?

Vincenzo1968
13-02-2013, 10:34
Scusa Vincenzo ma dove trovi il tempo di studiarli e fare pratica (se la fai) con tutti :) ?

Soffro d'insonnia e quindi la notte passo il tempo a leggere quei libri li. :D

Scherzo. Quando c'è la passione il tempo si trova. La pratica la faccio. In molti contest, tra i quali l'ultimo, il 19, metto in pratica, per esempio, le robe scritte nei testi sugli automi.

;)

Hieicker
13-02-2013, 11:17
Soffro d'insonnia e quindi la notte passo il tempo a leggere quei libri li. :D

Scherzo. Quando c'è la passione il tempo si trova. La pratica la faccio. In molti contest, tra i quali l'ultimo, il 19, metto in pratica, per esempio, le robe scritte nei testi sugli automi.

;)

Sulla passione mi trovo d'accordo. Mi chiedevo quanto possano durarti prima che finisci di studiarli, perchè in fin dei conti non sono pochi :).

Vincenzo1968
13-02-2013, 11:37
Sulla passione mi trovo d'accordo. Mi chiedevo quanto possano durarti prima che finisci di studiarli, perchè in fin dei conti non sono pochi :).

Non è che li compro per leggerli a mo' di romanzo. Quando devo risolvere un problema vado a vedere se c'è l'algoritmo adatto in uno di quei libri.
E comunque, si, nel tempo libero me li leggo anche a mo' di romanzo ;)

Hieicker
13-02-2013, 11:58
Non è che li compro per leggerli a mo' di romanzo. Quando devo risolvere un problema vado a vedere se c'è l'algoritmo adatto in uno di quei libri.
E comunque, si, nel tempo libero me li leggo anche a mo' di romanzo ;)

Ah ok grazie :).

The_ouroboros
13-02-2013, 15:20
prossimo acquisto:

Mastering Regular Expressions (http://www.amazon.it/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=wl_it_dp_o_pdT1_S_nC?ie=UTF8&colid=3VF24TTXY7YQK&coliid=I3QF6HV17C40WQ)

van9
14-02-2013, 11:09
Ah, libri!. Ho aggiustato la libreria un paio di mesi fa, solo di logica e matematica ho contato mi pare un 30 testi e mi è servita una piccola libreria a parte :doh: Peccato non essere a casa mia per fare una foto, qui in Italia dai miei mi è rimasta poca roba e qualche cose che mi sono porto appresso da leggere quando passo. (vedi sotto foto fatta al volo di quello che sto cercando di mettere in ordine - perdonare fretta, fotocamera e la poca luce).

A memoria, ho praticamente tutta la serie International Series in CS di Prentice Hall (Bird, Wadler, Peyton Jones, Dahl, Hoare, Spivey, ...), Appel, Kozen, Lewis e Papadimitriou, Koenig, Harel, Kernighan, Plauger, Harvey, Abelson e Sussman, Bentley, Gries, Bryant, Patterson, Knuth, Sipser, Pierce, Paulson, Cousineau, Liskov e Guttag, Van Loan, Ben-Ari, ..., una vagonata di altri testi Cambridge/MIT/Oxford Press, pubblicazioni e raccolte varie e tanti altri titoli tra i più comuni e posseduti in media (alcuni tra quelli delle vostre foto ad esempio), un pò di O'Reilly e Apress, tantissimo Addison-Wesley tra gli altri.
Ma la cosa peggiore(!) è che ho migliaia di pagine stampate in papers e libri e pubblicazioni mai uscite sul mercato editoriale, o course readers e notes interessanti, versioni pre-print, pdf di libri introvabili e fuori stampa messi online dagli stessi autori, ...
Mai catalogato il tutto perchè mi annoio troppo ma dovrei/mi converrebbe in effetti.

Il poco che posso postare così ora: http://oi48.tinypic.com/3479xeh.jpg
Fadini-Savy e Maiocchi sono roba del '77 e '86 (me li ritrovo per combinazione, non sono per nulla così vecchio!). The Annotated Turing di Petzold è bellissimo, Bacon è poco conosciuto al di fuori del corso di computer science a Cambridge ma è un bel libro. Il Patterson me lo son portato dietro e mi serve per organizzare (insieme con il "fratello maggiore" Computer Architecture, dagli stessi autori) un breve corso sulla programmazione efficiente di basso livello al lavoro, bella trattazione di MIPS tra l'altro...
Oltre i pochi in foto nell'altra mensola ci sono un paio di testi sul C in italiano (che come Russel e Lemmon tradotti, sono rimasti da anni a prendere polvere per far posto agli originali), il Nutshell di Martelli che pensavo di aver perso e invece surprise! eccolo qui!, roba improbabile Sybex che avrò pagato $5 e non so cosa avessi in mente quando la comprai, diverse cose unipi (Vanneschi, Gaiffi, Mancarella, Barbuti, ... tutti ottimi), un paio di Edizioni Jackson (ma esiste ancora?!), ... e ancora diversi altri che non apro da un 10-12 anni buoni.

p.s. il volumetto "Introducing writing" che è finito li in mezzo non centra nulla con la CS perchè è parte di una collana sulla linguistica applicata.

van9
14-02-2013, 11:19
Esatto. Chissà perché lo chiamano così. Forse per l'immagine in copertin? :D

Il Dragon Book non è un libro sui compilatori. È il libro. Se sei seriamente interessato allo studio dei compilatori devi averlo.

;)

Dai un'occhiata anche al contest 17:

http://www.hwupgrade.it/forum/showthread.php?t=2030843

Un altro è Modern Compiler Implementation in ML di Appel (tra i preferiti di chi fa molta static analisys, compilatori certificati et similia per altro).

http://www.cs.princeton.edu/~appel/modern/ml/

van9
14-02-2013, 11:21
Lunedi ordino questi:

The Linux Programming Interface: A Linux and UNIX System Programming Handbook
http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200/ref=pd_sim_b_5



Grande libro, cosa avrei dato per averlo avuto a disposizione un 10 anni fa buoni!

Vincenzo1968
14-02-2013, 11:25
Un altro è Modern Compiler Implementation in ML di Appel (tra i preferiti di chi fa molta static analisys, compilatori certificati et similia per altro).

http://www.cs.princeton.edu/~appel/modern/ml/

Ce l'ho, ma non in ML:

http://www.cs.princeton.edu/~appel/modern/c/

http://www.cs.princeton.edu/~appel/modern/c/cover50.jpg

:D

van9
14-02-2013, 11:28
Non ho nemmeno la webcam.

Comunque ne cito uno solo: ii Libro dei libri:

http://www.amazon.com/Computer-Programming-Volumes-Boxed-Edition/dp/0201485419

http://www-cs-faculty.stanford.edu/~uno/taocp.html

Tre bei volumoni in un comodissimo cofanetto.

Per chi non mi crede può chiedere. Ad esempio: "leggimi la terza riga della 89^ pagina del terzo volume". E così anche per gli altri libri che posterò.

:D

Cosa fondamentale è avere i fascicles di aggiornamento e partire da quelli.

van9
14-02-2013, 11:32
prossimo acquisto:

Mastering Regular Expressions (http://www.amazon.it/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=wl_it_dp_o_pdT1_S_nC?ie=UTF8&colid=3VF24TTXY7YQK&coliid=I3QF6HV17C40WQ)

Segnalazione utili obbligate:
http://swtch.com/~rsc/regexp/
http://www.cs.princeton.edu/courses/archive/spr09/cos333/beautiful.html

van9
14-02-2013, 11:39
Ce l'ho, ma non in ML:

http://www.cs.princeton.edu/~appel/modern/c/

http://www.cs.princeton.edu/~appel/modern/c/cover50.jpg

:D

Peccato, la versione ML è davvero un'altra lettura.

Vincenzo1968
14-02-2013, 12:19
Peccato, la versione ML è davvero un'altra lettura.

Eh ma prima dovrei imparare l'ML. Ma, a parte il codice, contiene capitoli su argomenti non trattati nelle versioni C/Java?

van9
15-02-2013, 18:26
Eh ma prima dovrei imparare l'ML. Ma, a parte il codice, contiene capitoli su argomenti non trattati nelle versioni C/Java?

No il contenuto è lo stesso, ma tutte le idee riguardo operazioni/strutture dati/symbol tables/etc. trattate da Appel in modo funzionale e non-distruttivo si esprimono in modo praticamente nativo, elegante ed efficiente in Standard ML, mentre lo stesso non si può dire per le altre due varianti del libro. Avere a disposizione pattern matching, type inference, datatypes e tutte le features tipiche di un linguaggio come SML quando si lavora su compilatori e/o tools di static analisys fa una differenza enorme in termini di risultato - chiarezza del codice e correttezza su tutto.

Sull'impararlo - un linguaggio come SML o derivati (Caml Light, OCaml, Haskell, ...) fa parte di quel ristretto insieme di linguaggi di programmazione "fondazionali" dalla cui conoscenza proprio non si dovrebbe prescindere. Oltretutto, c'è un certo "revival" in atto proprio in vari ambiti hw/sw che interessano questi linguaggi (concorrenza, verifiche e progettazione hw, manipolazione di ASTs vari e source code in generale, applicazioni scientifiche/numeriche di ogni genere, software che deve essere esente da bugs, software che deve essere formalmente verificato/certificato, etc.) e si sta tornando ad attribuirgli un certo valore dal punto di vista più ingegneristico e pratico, oltre a quello più prettamente scientifico. Io come diversi altri faccio parte di questo trend, essendo un 6 anni buoni che lavoro al 70-80% in determinati ambiti prevalentemente usando quegli strumenti, con estrema soddisfazione personale nel senso più ampio (leggi: non solo professionale/economica ma soprattutto personale). Non posso che consigliare di studiarli approfonditamente, i rewards possono essere tanti e spesso anche piuttosto inaspettati.

The_ouroboros
15-02-2013, 18:38
W il lisp!!

Inviato dal mio LT22i con Tapatalk 2

Vincenzo1968
15-02-2013, 18:56
No il contenuto è lo stesso, ma tutte le idee riguardo operazioni/strutture dati/symbol tables/etc. trattate da Appel in modo funzionale e non-distruttivo si esprimono in modo praticamente nativo, elegante ed efficiente in Standard ML, mentre lo stesso non si può dire per le altre due varianti del libro. Avere a disposizione pattern matching, type inference, datatypes e tutte le features tipiche di un linguaggio come SML quando si lavora su compilatori e/o tools di static analisys fa una differenza enorme in termini di risultato - chiarezza del codice e correttezza su tutto.

Sull'impararlo - un linguaggio come SML o derivati (Caml Light, OCaml, Haskell, ...) fa parte di quel ristretto insieme di linguaggi di programmazione "fondazionali" dalla cui conoscenza proprio non si dovrebbe prescindere. Oltretutto, c'è un certo "revival" in atto proprio in vari ambiti hw/sw che interessano questi linguaggi (concorrenza, verifiche e progettazione hw, manipolazione di ASTs vari e source code in generale, applicazioni scientifiche/numeriche di ogni genere, software che deve essere esente da bugs, software che deve essere formalmente verificato/certificato, etc.) e si sta tornando ad attribuirgli un certo valore dal punto di vista più ingegneristico e pratico, oltre a quello più prettamente scientifico. Io come diversi altri faccio parte di questo trend, essendo un 6 anni buoni che lavoro al 70-80% in determinati ambiti prevalentemente usando quegli strumenti, con estrema soddisfazione personale nel senso più ampio (leggi: non solo professionale/economica ma soprattutto personale). Non posso che consigliare di studiarli approfonditamente, i rewards possono essere tanti e spesso anche piuttosto inaspettati.

M'hai incuriosito. Mi metto a studiare ML.

Libri? Tutorial sul web?

Unrealizer
15-02-2013, 19:09
M'hai incuriosito. Mi metto a studiare ML.

Libri? Tutorial sul web?

Io ho iniziato da poco a imparare F#... è derivato dall'ML e parzialmente compatibile con OCaml :D

The_ouroboros
15-02-2013, 19:10
Io ho iniziato da poco a imparare F#... è derivato dall'ML e parzialmente compatibile con OCaml :D

Linguaggio che mi incuriosisce..

Inviato dal mio LT22i con Tapatalk 2

Vincenzo1968
15-02-2013, 19:14
Io ho iniziato da poco a imparare F#... è derivato dall'ML e parzialmente compatibile con OCaml :D

Interessante ma vorrei imparare ML per leggere il libro di Appel sui compilatori.

OCaml cos'è? Una particolare versione di ML? :confused:

EDIT: ah si, l'aveva specificato van: "un linguaggio come SML o derivati (Caml Light, OCaml, Haskell"

VICIUS
15-02-2013, 19:30
prossimo acquisto:

Mastering Regular Expressions (http://www.amazon.it/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=wl_it_dp_o_pdT1_S_nC?ie=UTF8&colid=3VF24TTXY7YQK&coliid=I3QF6HV17C40WQ)

Eccellente come libro. Il migliore per capire veramente le regexp anche se ultimamente mi sto accorgendo che avrebbe bisogno di un aggiornamento. In sette anni sono cambiate alcune cose in alcuni dei linguaggi che tratta.

Sono curioso. Quanti di voi sottolineano, prendono appunti, scrivono note a margine della pagine e riempiono i libri di post-it e segnalibri? Io purtroppo finisco per rovinarli tutti così. In ufficio ho una copia di building internet firewalls che non si chiude più :asd:

Vincenzo1968
15-02-2013, 19:34
Eccellente come libro. Il migliore per capire veramente le regexp anche se ultimamente mi sto accorgendo che avrebbe bisogno di un aggiornamento. In sette anni sono cambiate alcune cose in alcuni dei linguaggi che tratta.

Sono curioso. Quanti di voi sottolineano, prendono appunti, scrivono note a margine della pagine e riempiono i libri di post-it e segnalibri? Io purtroppo finisco per rovinarli tutti così. In ufficio ho una copia di building internet firewalls che non si chiude più :asd:

Ma come sei allallato? Io i libri li tratti come se fossero la cosa più preziosa al mondo(e per certi versi, per me, lo sono).

Quasi quasi mi dispiace aprirli per leggerli ché si rovinano...

:D

Unrealizer
15-02-2013, 19:47
Ma come sei allallato? Io i libri li tratti come se fossero la cosa più preziosa al mondo(e per certi versi, per me, lo sono).

Quasi quasi mi dispiace aprirli per leggerli ché si rovinano...

:D

All'inizio sono rimasto spiazzato leggendo quella parola, poi ho visto la provenienza :D

Comunque, anche io cerco di tenerli quanto più intonsi possibile :)

The_ouroboros
15-02-2013, 19:50
Comunque, anche io cerco di tenerli quanto più intonsi possibile :)

+1

Vincenzo1968
15-02-2013, 19:56
All'inizio sono rimasto spiazzato leggendo quella parola, poi ho visto la provenienza :D

Comunque, anche io cerco di tenerli quanto più intonsi possibile :)

Non dire a nessuno cosa significa :D

van9
15-02-2013, 20:59
Io ho iniziato da poco a imparare F#... è derivato dall'ML e parzialmente compatibile con OCaml :D

Brevi e velocissime considerazioni:

Il sottoinsieme ML comune ai due si va sempre di più assottigliandosi, qualsiasi applicazione non banale che sfutti le features dei due linguaggi necessita oramai di eventuale vero e proprio porting verso l'altro con annessi costi. E' facile che questi costi siano poi troppo alti nel caso (ho due casi in cui non si è proceduto al porting da OCaml verso F# proprio per questa ragione e conosco altri che hanno avuto la stessa esperienza). Per dare un riferimento temporale, diciamo che fino a due anni fa passare dall'uno all'altro era fattibile, oggi ripeto non è banale ed è meglio fare i conti da subito per non cadere preda di facili entusiasmi "paghi uno e prendi due".

Il compilatore F# ha dei bugs irrisolti piuttosto insidiosi (soprattutto nel gc) ed in generale non è maturo nelle prestazioni come quello OCaml.

In generale, considerati gli ambiti applicativi tipici, la differenza tra la disponibilità di librerie non è poi così a sfavore di OCaml come si potrebbe pensare, anzi.

Se si viene da Standard ML, un vantaggio di F# è quello di mantenere ancora una certa vicinanza con un certo "core" di idee ML originali. OCaml, oltre un certo punto, prende una strada tutta sua (l'object-orientation, ad esempio, è de facto un layer ulteriore sul linguaggio e quando si inizia a farne uso pesante ci si ritrova un pò a fare i conti con un "linguaggio nel linguaggio" stesso). C'è da precisare comunque che quasi nessuno fa pienamente leva su quel lato del linguaggio - come a dire che non ci si rivolge ad esso per finire a scrivere prettamente object-oriented quanto più per sfruttare gli algebraic data types e altre features di sicuro.

Il setup di sviluppo OCaml ideale gira bene o male intorno ad Emacs e per qualcuno (molti?!) questo è un grosso limite/freno.

La comunità OCaml sta attraversando un grande periodo in tutti i sensi:
https://ocaml.janestreet.com/?q=node/109
http://www.cl.cam.ac.uk/projects/ocamllabs/
Onestamente non posso dire lo stesso di quella F#, in cui gli entusiasmi si sono un pò spenti. Il core team di F# è eccezionale, quello che c'è intorno non è (ancora) al livello del corrispettivo dall'altra parte (ma OCaml ha una tradizione lunga dietro).

Se non si conosce già un linguaggio di tipo ML o non si è mai programmato in maniera funzionale (intendendo qui con il supporto di un linguaggio in cui la FP è un modo d'esprimersi "nativo"), tra i due consiglierei OCaml. Di libri su F# ce ne sono di ottimi, ma dall'altro lato c'è questo:
http://www.amazon.com/Functional-Approach-Programming-Guy-Cousineau/dp/0521576814
che è un pò il l'Abelson & Sussman del mondo Caml, gran bel libro. Di più, ci sono molte risorse perfette in termini di materiale da corsi universitari (Cornell, Harvard, ...) e sono tutti corsi tenuti da persone con ampia esperienza tanto accademica quanto nell'industry (non è poi tanto raro sia così nella FP). In definitiva, per OCaml ci sono molte ottime risorse per chi deve anzitutto imparare le basi della programmazione funzionale (sia non avendo mai programmato prima, sia venendo dal lato imperativo); per F#, non ricordo neanche un testo che affronti le basi della FP in modo convincente tanto quanto quelli basati su Caml Light/OCaml/SML/Haskell...

van9
15-02-2013, 21:25
M'hai incuriosito. Mi metto a studiare ML.

Libri? Tutorial sul web?

Mi metti in difficoltà, per SML ci sono tante di quelle risorse di altissima qualità che andrebbero viste tutte per non fare torto a nessuno.
E' meglio se mi indichi che tipo di risorse cerchi (di taglio pratico/più formale/decisamente astratto/etc.) e quanta confidenza hai con la logica formale e il modo di pensare più prettamente "matematico" (laurea in informatica/matematica o comunque le hai studiate/studi per conto tuo, oppure magari vieni dai sistemi software e da Unix, dal C, etc. o un misto tra i due o altro ancora che sia). E soprattutto poi, se hai già esperienza di programmazione funzionale e usando cosa.

The_ouroboros
15-02-2013, 21:35
ex-matematico a rapporto :stordita:

Vincenzo1968
15-02-2013, 22:15
Mi metti in difficoltà, per SML ci sono tante di quelle risorse di altissima qualità che andrebbero viste tutte per non fare torto a nessuno.
E' meglio se mi indichi che tipo di risorse cerchi (di taglio pratico/più formale/decisamente astratto/etc.) e quanta confidenza hai con la logica formale e il modo di pensare più prettamente "matematico" (laurea in informatica/matematica o comunque le hai studiate/studi per conto tuo, oppure magari vieni dai sistemi software e da Unix, dal C, etc. o un misto tra i due o altro ancora che sia). E soprattutto poi, se hai già esperienza di programmazione funzionale e usando cosa.

Confidenza con logica formale e modo di pensare prettamente matematico: nessuna.
Titolo di studio: diploma di ragioniere.
Esperienza di programmazione funzionale: nessuna. Programmo, da sempre, in C.
Nel mondo Unix ci sono entrato da poco(due mesi circa) con Linux-Ubuntu.

Ho studiato, da autodidatta, qualcosina sugli automi a stati finiti nel libro citato qualche post fa, ma ho praticamente saltato la parte teorica.
La parte pratica sono riuscito ad afferrarla tant'è che sono riuscito a implementare il piccolo compilatore-interprete del contest 17.

"E' meglio se mi indichi che tipo di risorse cerchi"

Vorrei imparare il linguaggio ML in modo da essere in grado di capire gli esempi nel libro di Appel che hai citato.

http://img154.imageshack.us/img154/1703/firmaclanubuntuhwupgrade0ot.png

van9
15-02-2013, 23:23
Confidenza con logica formale e modo di pensare prettamente matematico: nessuna.
Titolo di studio: diploma di ragioniere.
Esperienza di programmazione funzionale: nessuna. Programmo, da sempre, in C.
Nel mondo Unix ci sono entrato da poco(due mesi circa) con Linux-Ubuntu.

Ho studiato, da autodidatta, qualcosina sugli automi a stati finiti nel libro citato qualche post fa, ma ho praticamente saltato la parte teorica.
La parte pratica sono riuscito ad afferrarla tant'è che sono riuscito a implementare il piccolo compilatore-interprete del contest 17.

"E' meglio se mi indichi che tipo di risorse cerchi"

Vorrei imparare il linguaggio ML in modo da essere in grado di capire gli esempi nel libro di Appel che hai citato.

http://img154.imageshack.us/img154/1703/firmaclanubuntuhwupgrade0ot.png

* ML for the working programmer di Paulson http://www.amazon.com/dp/052156543X/

* una buona alternativa è l'Hansen http://www.amazon.com/dp/0201398206

Di Paulson ci sono anche le note qui http://www.cl.cam.ac.uk/teaching/1213/FoundsCS/
(in archivio sul lab di Cambridge c'è anche molto altro sulla programmazione funzionale ma saliamo di livello formale).

Fondamentalmente questi due libri non contengono nulla che un motivato autodidatta non possa affrontare da solo. Alla fine del working programmer ci sono un theorem prover (Paulson è uno dei migliori nel campo, puoi saltare questa parte) e un interprete per il lambda-calcolo (che per chi scrive compilatori invece può essere molto interessante). L'Hansen pure è piuttosto pratico, c'erano anche delle note molto buone da qualche parte ma non trovo links al volo (non ho accesso ai bookmarks in cui ho salvato tutto quello che ho usato anche per insegnare questo ed altro e vado a memoria).

Le strutture dati di tipo pure functional, l'approccio non-distruittivo e tutte queste belle cose che fanno tanto bene alla correttezza del software e alla concorrenza in generale, le trovi sull'Okasaki
http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504
ma non è una lettura leggera (in realtà è un eufemismo, sono argomenti che sembrano capire in pochi tanto nella industry quanto nell'accademia in verità).

aggiungo: esiste anche un libro di Ullman (autore a te caro mi pare di capire!) ma lo sconsiglio perchè non fa un uso idiomatico del linguaggio, è piuttosto un libro scolastico con buoni esercizi da quello che ricordo.

van9
15-02-2013, 23:27
ex-matematico a rapporto :stordita:

E poi che è successo? ;) Per chi viene dalla logica/matematica è d'obbligo il Bird & Wadler (che è costoso, si, ma vale molto di più del suo prezzo e usa Haskell).

Unrealizer
16-02-2013, 00:46
Brevi e velocissime considerazioni:

Il sottoinsieme ML comune ai due si va sempre di più assottigliandosi, qualsiasi applicazione non banale che sfutti le features dei due linguaggi necessita oramai di eventuale vero e proprio porting verso l'altro con annessi costi. E' facile che questi costi siano poi troppo alti nel caso (ho due casi in cui non si è proceduto al porting da OCaml verso F# proprio per questa ragione e conosco altri che hanno avuto la stessa esperienza). Per dare un riferimento temporale, diciamo che fino a due anni fa passare dall'uno all'altro era fattibile, oggi ripeto non è banale ed è meglio fare i conti da subito per non cadere preda di facili entusiasmi "paghi uno e prendi due".

Il compilatore F# ha dei bugs irrisolti piuttosto insidiosi (soprattutto nel gc) ed in generale non è maturo nelle prestazioni come quello OCaml.

In generale, considerati gli ambiti applicativi tipici, la differenza tra la disponibilità di librerie non è poi così a sfavore di OCaml come si potrebbe pensare, anzi.

Se si viene da Standard ML, un vantaggio di F# è quello di mantenere ancora una certa vicinanza con un certo "core" di idee ML originali. OCaml, oltre un certo punto, prende una strada tutta sua (l'object-orientation, ad esempio, è de facto un layer ulteriore sul linguaggio e quando si inizia a farne uso pesante ci si ritrova un pò a fare i conti con un "linguaggio nel linguaggio" stesso). C'è da precisare comunque che quasi nessuno fa pienamente leva su quel lato del linguaggio - come a dire che non ci si rivolge ad esso per finire a scrivere prettamente object-oriented quanto più per sfruttare gli algebraic data types e altre features di sicuro.

Il setup di sviluppo OCaml ideale gira bene o male intorno ad Emacs e per qualcuno (molti?!) questo è un grosso limite/freno.

La comunità OCaml sta attraversando un grande periodo in tutti i sensi:
https://ocaml.janestreet.com/?q=node/109
http://www.cl.cam.ac.uk/projects/ocamllabs/
Onestamente non posso dire lo stesso di quella F#, in cui gli entusiasmi si sono un pò spenti. Il core team di F# è eccezionale, quello che c'è intorno non è (ancora) al livello del corrispettivo dall'altra parte (ma OCaml ha una tradizione lunga dietro).

Se non si conosce già un linguaggio di tipo ML o non si è mai programmato in maniera funzionale (intendendo qui con il supporto di un linguaggio in cui la FP è un modo d'esprimersi "nativo"), tra i due consiglierei OCaml. Di libri su F# ce ne sono di ottimi, ma dall'altro lato c'è questo:
http://www.amazon.com/Functional-Approach-Programming-Guy-Cousineau/dp/0521576814
che è un pò il l'Abelson & Sussman del mondo Caml, gran bel libro. Di più, ci sono molte risorse perfette in termini di materiale da corsi universitari (Cornell, Harvard, ...) e sono tutti corsi tenuti da persone con ampia esperienza tanto accademica quanto nell'industry (non è poi tanto raro sia così nella FP). In definitiva, per OCaml ci sono molte ottime risorse per chi deve anzitutto imparare le basi della programmazione funzionale (sia non avendo mai programmato prima, sia venendo dal lato imperativo); per F#, non ricordo neanche un testo che affronti le basi della FP in modo convincente tanto quanto quelli basati su Caml Light/OCaml/SML/Haskell...

Grazie delle informazioni :D

Mi sto avvicinando da poco al mondo della programmazione funzionale e ho scelto F# sia perché sviluppo quotidianamente su .NET, sia perché è stato il primo di cui ho potuto avere una dimostrazione diretta da una persona decisamente esperta in questo settore :D

fa anche parte del team dietro un linguaggio funzionale orientato ai videogiochi, Casanova (http://casanova.codeplex.com/)

The_ouroboros
16-02-2013, 05:52
E poi che è successo? ;) Per chi viene dalla logica/matematica è d'obbligo il Bird & Wadler (che è costoso, si, ma vale molto di più del suo prezzo e usa Haskell).

ho deciso di trovare lavoro dove ho sempre voluto usando le basi che mi sono fatto :D

Vincenzo1968
16-02-2013, 09:00
* ML for the working programmer di Paulson http://www.amazon.com/dp/052156543X/

* una buona alternativa è l'Hansen http://www.amazon.com/dp/0201398206

Di Paulson ci sono anche le note qui http://www.cl.cam.ac.uk/teaching/1213/FoundsCS/
(in archivio sul lab di Cambridge c'è anche molto altro sulla programmazione funzionale ma saliamo di livello formale).

Fondamentalmente questi due libri non contengono nulla che un motivato autodidatta non possa affrontare da solo. Alla fine del working programmer ci sono un theorem prover (Paulson è uno dei migliori nel campo, puoi saltare questa parte) e un interprete per il lambda-calcolo (che per chi scrive compilatori invece può essere molto interessante). L'Hansen pure è piuttosto pratico, c'erano anche delle note molto buone da qualche parte ma non trovo links al volo (non ho accesso ai bookmarks in cui ho salvato tutto quello che ho usato anche per insegnare questo ed altro e vado a memoria).

Le strutture dati di tipo pure functional, l'approccio non-distruittivo e tutte queste belle cose che fanno tanto bene alla correttezza del software e alla concorrenza in generale, le trovi sull'Okasaki
http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504
ma non è una lettura leggera (in realtà è un eufemismo, sono argomenti che sembrano capire in pochi tanto nella industry quanto nell'accademia in verità).

aggiungo: esiste anche un libro di Ullman (autore a te caro mi pare di capire!) ma lo sconsiglio perchè non fa un uso idiomatico del linguaggio, è piuttosto un libro scolastico con buoni esercizi da quello che ricordo.

Ordinati tutt'e tre.

Grazie mille Van.

van9
16-02-2013, 10:12
Ordinati tutt'e tre.

Grazie mille Van.

Pensavo ne discutessi/chiedessi una qualche conferma... Paulson e Hansen sono perfetti e ok, ma non vorrei ci rimanessi male sull'Okasaki. Se sei ancora in tempo ti consiglio di disdirne l'ordine e di rimandarlo a quando avrai acquisito una certa maturità nel campo (errore mio nel menzionarlo così presto, sorry).

The_ouroboros
16-02-2013, 10:19
Pensavo ne discutessi/chiedessi una qualche conferma... Paulson e Hansen sono perfetti e ok, ma non vorrei ci rimanessi male sull'Okasaki. Se sei ancora in tempo ti consiglio di disdirne l'ordine e di rimandarlo a quando avrai acquisito una certa maturità nel campo (errore mio nel menzionarlo così presto, sorry).

meglio un libro in più che uno in meno :D

van9
16-02-2013, 10:26
Grazie delle informazioni :D

Mi sto avvicinando da poco al mondo della programmazione funzionale e ho scelto F# sia perché sviluppo quotidianamente su .NET, sia perché è stato il primo di cui ho potuto avere una dimostrazione diretta da una persona decisamente esperta in questo settore :D

fa anche parte del team dietro un linguaggio funzionale orientato ai videogiochi, Casanova (http://casanova.codeplex.com/)

Ah, Maggiore l'ho conosciuto sicuramente in qualche ICFP tempo fa e mi ricordo del suo impegno per spingere sull'FP nell'università italiana.
Nei Vg ci ho fatto meno di un anno in UK, ma è stato un periodo buio che preferirei dimenticare :).

nico159
16-02-2013, 10:36
La mia è formata da:
Architettura ed organizzazione dei calcolatori
Reti di calcolatori
Il linguaggio C
Imparare Python
Microsoft Visual C# 2010. Passo per passo
Thinking Java
Php e MySQL ( :sofico: )
MySql Tutorial (http://www.ibs.it/code/9788871922225/welling-luke/mysql-tutorial.html)
Guida a UNIX (http://www.deagostinilibri.it/libro/hahn-harley_guida-a-unix.aspx?ean=9788838608728)
Apache 2.0. Guida profesionale
Javascript The Definitive Guide (http://www.amazon.com/JavaScript-Definitive-Guide-Activate-Guides/dp/0596805527)
Learn Your Haskell (liberamente leggibile online) (http://learnyouahaskell.com/)
Real World Haskell (liberamente leggibile online) (http://book.realworldhaskell.org/)
Framework design guidelines (http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321545613)
Concurrent Programming on Windows (http://www.amazon.com/Concurrent-Programming-Windows-Joe-Duffy/dp/032143482X)
Il linguaggio PC Assembly (libro open source) (http://www.phatcode.net/res/226/files/pcasm-book-italian.pdf)
Svariati pdf su algoritmi e strutture dati

Nella mia personale TODO ci sono:
Windows System Programming (http://www.amazon.com/Windows-Programming-Addison-Wesley-Microsoft-Technology/dp/0321657748/ref=sr_1_2?ie=UTF8&qid=1361010007&sr=8-2)
Advanced Windows Debugging (www.amazon.com/Advanced-Windows-Debugging-Mario-Hewardt/dp/0321374460/ref=pd_sim_b_5)
The C++ Programming Language (http://www.amazon.com/dp/0201700735/)
Modern C++ Design: Generic Programming and Design Patterns Applied (http://www.amazon.com/dp/0201704315/)
Large-Scale C++ Software Design (http://www.amazon.com/dp/0201633620)
Purely Functional Data Structures (http://www.amazon.com/Purely-Functional-Structures-Chris-Okasaki/dp/0521663504/)
Haskell The Craft of Functional Programming (http://www.haskellcraft.com/craft3e/Home.html)
Sono in cerca i qualche buon libro riguardante i sistemi distribuiti, ed onestamente non ho la minima idea di quale scegliere :cool:


prossimo acquisto:

Mastering Regular Expressions (http://www.amazon.it/Mastering-Regular-Expressions-Jeffrey-Friedl/dp/0596528124/ref=wl_it_dp_o_pdT1_S_nC?ie=UTF8&colid=3VF24TTXY7YQK&coliid=I3QF6HV17C40WQ)
http://re2.googlecode.com/hg/doc/xkcd.png?r=4816e3cbb232eec1747dceb6c72da4ca8534b14e

van9
16-02-2013, 10:37
meglio un libro in più che uno in meno :D

Dipende. Ci sono persone che, per aver studiato dal libro (per loro) sbagliato nel momento sbagliato (inteso soprattutto termini di propedeuticità), hanno abbandonato (da autodidatti quanto universitari) intere materie se non corsi di studio. Se si è altamente motivati questo non è un problema; ma per esperienza, non è il caso dei più davvero.

The_ouroboros
16-02-2013, 10:40
vero.
A me è capitato di avere libri ma il timeframe era errato.
Ripresi in seguito e tutto ok :D

Vincenzo1968
16-02-2013, 10:53
Pensavo ne discutessi/chiedessi una qualche conferma... Paulson e Hansen sono perfetti e ok, ma non vorrei ci rimanessi male sull'Okasaki. Se sei ancora in tempo ti consiglio di disdirne l'ordine e di rimandarlo a quando avrai acquisito una certa maturità nel campo (errore mio nel menzionarlo così presto, sorry).

Io per una mano me lo prendo. Me lo leggerò più in la, quando avrò acquisito la maturità adatta nel campo.
È una cosa impulsiva-compulsiva che ho per i libri: quando ce n'è uno che suscita la mia curiosità debbo averlo. :D

The_ouroboros
16-02-2013, 10:54
È una cosa impulsiva-compulsiva che ho per i libri: quando ce n'è uno che suscita la mia curiosità debbo averlo. :D

amen fratello

van9
16-02-2013, 12:45
Sono in cerca i qualche buon libro riguardante i sistemi distribuiti, ed onestamente non ho la minima idea di quale scegliere :cool:


Il mio preferito è il Coulouris, ma anche se vai sul van Steen & Tanenbaum non sbagli di sicuro. Io partii dal testo di Jean Bacon, però l'ultima edizione è del 2003 e ora come ora consiglierei il Coulouris (e se capita a tiro un copia usata del Bacon tanto meglio, ma possibilmente non quella con la copertina nera della mia foto in questo thread perchè è l'ed. del '97).
Dopo puoi passare a libri/papers specialistici per approfondire quello che t'interessa.

nota: il mondo dei distributed systems è pieno di accadimenti e aneddoti interessanti da tanti punti di vista, non solo tecnici. Ad es. nel caso dei transactional processing systems (ATM, PINs, etc.) vedi questo recente:
http://www.cl.cam.ac.uk/~rja14/Papers/Barclays/thetimes-aug2011.pdf
http://www.cl.cam.ac.uk/~rja14/Papers/Barclays/

van9
16-02-2013, 13:02
Io per una mano me lo prendo. Me lo leggerò più in la, quando avrò acquisito la maturità adatta nel campo.
È una cosa impulsiva-compulsiva che ho per i libri: quando ce n'è uno che suscita la mia curiosità debbo averlo. :D

Allora metti da subito un appunto per il futuro prossimo quando l'affronterai: in ML userai (nativamente) la "eager evaluation", e Okasaki ti farà costruire (quando necessario per le date strutture) certe features adatte per fare "lazy evaluation". Tra le tante cose aliene che ti mostrerà quel libro, questa è forse quella dagli effetti più notevoli ed evidenti. Per capirne qualcosa prima di affrontarla nel libro, dopo aver studiato e usato praticamente ML puoi guardarti anche solo velocemente Haskell, che è ad oggi il più diffuso linguaggio a fare lazy evaluation di default. Un altro esempio che hai giusto ora sotto mano è quello delle pipes in Unix, dove gli stream di bytes hanno natura "non-strict" di default.
Tutto questo visto così d'insieme e per la prima volta confonde, quindi praticamente fa così: segnati sta cosa, dimenticala, studia e pratica ML e la programmaizone funzionale, usa e divertiti con la shell di Unix. Più avanti, metterai insieme i pezzi del puzzle in automatico (si spera! in molti pare non ci riescano mai, ma è anche vero che in molti non capiscono mai veramente anche i puntatori, la ricorsione, la teoria della computazione, etc.) e tutto ti tornerà.

van9
16-02-2013, 13:04
ho deciso di trovare lavoro dove ho sempre voluto usando le basi che mi sono fatto :D

Bene, spesso queste sono tra le storie che preferisco :)

The_ouroboros
16-02-2013, 13:13
Bene, spesso queste sono tra le storie che preferisco :)

per il momento va bene... al momento lavoro alla IAT di Vodafone Italia e mi sto indirizzando verso la cariera di DBA Oracle :D

nico159
16-02-2013, 13:58
Il mio preferito è il Coulouris, ma anche se vai sul van Steen & Tanenbaum non sbagli di sicuro. Io partii dal testo di Jean Bacon, però l'ultima edizione è del 2003 e ora come ora consiglierei il Coulouris (e se capita a tiro un copia usata del Bacon tanto meglio, ma possibilmente non quella con la copertina nera della mia foto in questo thread perchè è l'ed. del '97).
Dopo puoi passare a libri/papers specialistici per approfondire quello che t'interessa.

nota: il mondo dei distributed systems è pieno di accadimenti e aneddoti interessanti da tanti punti di vista, non solo tecnici. Ad es. nel caso dei transactional processing systems (ATM, PINs, etc.) vedi questo recente:
http://www.cl.cam.ac.uk/~rja14/Papers/Barclays/thetimes-aug2011.pdf
http://www.cl.cam.ac.uk/~rja14/Papers/Barclays/
Grazie per la risposta ;)

van9
16-02-2013, 15:36
Confidenza con logica formale e modo di pensare prettamente matematico: nessuna.
Titolo di studio: diploma di ragioniere.
Esperienza di programmazione funzionale: nessuna. Programmo, da sempre, in C.
Nel mondo Unix ci sono entrato da poco(due mesi circa) con Linux-Ubuntu.

Ho studiato, da autodidatta, qualcosina sugli automi a stati finiti nel libro citato qualche post fa, ma ho praticamente saltato la parte teorica.
La parte pratica sono riuscito ad afferrarla tant'è che sono riuscito a implementare il piccolo compilatore-interprete del contest 17.

"E' meglio se mi indichi che tipo di risorse cerchi"

Vorrei imparare il linguaggio ML in modo da essere in grado di capire gli esempi nel libro di Appel che hai citato.

http://img154.imageshack.us/img154/1703/firmaclanubuntuhwupgrade0ot.png

Hey, rileggendo al volo ho appena messo insieme i pezzi: Unix da due mesi e ti appresti a comprare quell'arsenale di libri lunedì? Sono acquisti causa lavoro o per interesse personale? Perchè se è la seconda, (se non risulto indiscreto) avrei un brevissima (e potenzialmente inutile) analisi da fare.

Ti interessano gli interpreti (intesi nel senso più ampio e formale del termine) e vuoi imparare la programmazione funzionale. Inoltre, programmi da sempre in C che è forse in assoluto quello, tra i linguaggi di uso più comune, in cui avere una visione sempre fresca e puntuale di contratti/invarianti/asserts/testing/pre e post condizioni e quant'altro* legato alla logica può fare la differenza tra avere codice corretto o meno (e sappiamo bene che i bugs in C possono vivere indisturbati per anni, anche decenni** e colpire quando meno te lo aspetti). E questo solo considerando quello di cui abbiamo brevemente parlato nel thread.

Insomma, gli aspetti pratici uniti a quelli più teorici (l'informatica è figlia della logica formale, la logica è una gran bella materia anche studiata a se stante senza applicazioni di sorta e apre tutte le porte verso algoritmi, teoria della computazione e linguaggi formali, etc.) ci dicono che poche volte il tempo e la fatica spesi ad imparare qualcosa ripaga così alla grande come nel caso della logica formale.

Fossi in te mi darei da fare per riempire questo importante vuoto, anche ben prima di affrontare la programmazione funzionale (che ovviamente beneficia dalla logica alla grande) o altre questioni prettamente sistemico-ingegneristiche come Unix/Linux (anche li, tra logica e la matematica delle strutture discrete diviene tutto più facile da analizzare e affrontare - soprattutto riguardo i kernels e le loro strutture dati tipiche, la gestione delle risorse, algoritmi di scheduling etc.).

Se poi "non ci ho preso" nei presupposti e i tuoi piani d'acquisto/studio sono altri, pazienza: è che argomenti come l'applicare la "teoria" per migliorare l'esito pratico e la produzione mi appassionano prima ancora di essere parte del mio lavoro e spesso non resisto :)
(Tra l'altro, stesse considerazioni si applicano alla matematica delle strutture discrete e alla teoria delle probabilità, e in misura diversa e più specialistica a quella del continuo, alla statistica e ad altre parti della matematica stessa - solo che in quel caso gli "effetti benefici" sono spesso già noti mentre si tende erroneamente a glissare completamente sulla logica!)

* si, anche quando non utilizzi esplicitamente questi "meccanismi" nel lavoro quotidiano ma ne fai un uso "sottointeso" (ad es., devi creare un loop e con la pratica inizi a "vedere" le invarianti giuste che ti salveranno subito dai bugs che finiresti per dover inseguire scervellandoti dopo...)

** tra i tanti esempi noti, Programming Pearls di Bentley del 1986: famosa la descrizione di come il 90% tra programmatori Bell Labs e IBM che partecipano a corsi da lui tenuti, falliscano un test che consiste nell'implementare correttamente una procedura di binary search. Altri dettagli interessanti anche qui:
http://googleresearch.blogspot.it/2006/06/extra-extra-read-all-about-it-nearly.html
e su Knuth e altrove.

Vincenzo1968
16-02-2013, 16:25
"Sono acquisti causa lavoro o per interesse personale?"

Interesse personale. Per il resto ho capito solo il 50% di quello che hai scritto. :D

Compilatori e interpreti m'interessano da hobbista. Per lavoro mi occupo, purtroppo, di altre cose.
Per me è stata una gran bella soddisfazione riuscire a implementare il mini compilatore-interprete del contest 17 (http://www.hwupgrade.it/forum/showthread.php?t=2030843). Per me, dico, che sono ragioniere, che non ho le basi matematiche di un laureato in Informatica. Sono riuscito anche a implementare il compilatore per il bytecode Java.

La programmazione funzionale la voglio imparare per leggere il libro di Appel visto che dici che è tutta un'altra cosa rispetto alle versioni C/Java.

Mi piacerebbe tantissimo approfondire gli aspetti teorici ma, come ti dicevo, non ho le basi matematiche. :boh:

http://img154.imageshack.us/img154/1703/firmaclanubuntuhwupgrade0ot.png

VICIUS
16-02-2013, 17:14
Ma come sei allallato? Io i libri li tratti come se fossero la cosa più preziosa al mondo(e per certi versi, per me, lo sono).

Quasi quasi mi dispiace aprirli per leggerli ché si rovinano...

:D
Il mio prossimo acquisto penso che sarà un dizionario Italiano / Siciliano. :D

Vincenzo1968
16-02-2013, 18:12
Il mio prossimo acquisto penso che sarà un dizionario Italiano / Siciliano. :D

:D

Allallato significa birbantello, pazzerello.

http://img154.imageshack.us/img154/1703/firmaclanubuntuhwupgrade0ot.png