UFFICIALE [Tutti i linguaggi] Raccolta di materiale di studio, manuali, tutorial, risorse

Tom's Hardware

Bot Ufficiale
390
252
Questo thread è una raccolta di materiale di studio, manuali, tutorial.
Vige una sola regola: non si posta materiale reperito illegalmente, solo manuali free o comunque liberamente scaricabili.

Link ai download agli Editor più noti​

Eclipse
Compatibile con moltissimi linguaggi (Java, C, C++, python... fare riferimento al sito ufficiale per una lista completa dei linguaggi supportati) ma spesso i compilatori sono da installare separatamente, a mano o tramite plug in. Multipiattaforma, esiste in versione Windows, Mac Os, Linux (per tutte e 3 a 32 o 64bit) e Mobile.
Eclipse Downloads

Code::Blocks
Uno degli editor più famosi per il C ed il C++, compatibile con Linux, Mac OS, Windows.
Downloads

Notepad++
Famosissimo editor per windows, basato sulle win32.
Notepad++ Home

Sublime Text
Ottimo editor cross-platform gratis con moltissime caratteristiche avanzate
Sublime Text - Download

Gedit
Editor testuale di GNOME, offre tramite plug in tutte le funzionalità possibili ed immaginabili. Multipiattaforma, consigliato solo ad utenti esperti. Di base offre solo il riconoscimento della sintassi.
Apps/Gedit - GNOME Wiki!

Visual Studio Community
Un IDE gratuito, con funzionalità complete ed estendibile per la creazione di applicazioni moderne per Windows, Android e iOS,
nonché di applicazioni Web e servizi cloud

https://www.visualstudio.com/it-it/products/visual-studio-community-vs.aspx

Visual Studio Code
Modifica del codice ridefinita e ottimizzata per lo sviluppo e il debug di applicazioni cloud e Web moderne.
Visual Studio Code è disponibile gratis sulla tua piattaforma preferita: Linux, Mac OS X e Windows

https://www.visualstudio.com/it-it/products/code-vs.aspx

Materiale di studio​

Guida programmazione di base

Dal Problema all’Algoritmo
Dall’Algoritmo al Programma

free-programming-books
Progetto su Github che raccoglie risorse per la programmazione e non

Architettura Computer, Reti e Sistemi Operativi​


Refactoring e codice pulito​

Libri da leggere assolutamente quando si vuole intraprendere la carreira da sviluppatore software: aiutano a dare nomi sensati a funzioni, variabili, fare refactoring e scrivere codice manutenibile.

Database​


Linguaggi di Programmazione​

Manuali vari in Italiano reperibili in rete....
http://www.demonello.it/ebooks/[eBook_ita]_Manuale_Ita_Pratico_Di_Java.pdf

...da Wikibook...
http://it.wikibooks.org/wiki/Java

Ottimo manuale per la versione 5 di Claudio De Sio Cesari: oltre 700 pagine di linguaggio e teoria OOP.
http://www.claudiodesio.com/download/oo_&&_java_5.zip

Introduction to Programming Using Java
Ottimo testo in inglese per imparare il Java
http://math.hws.edu/javanotes/

Sviluppo di Interfacce Grafiche in Java. Concetti di Base ed Esempi.
Dispensa didattica
http://pages.di.unipi.it/milazzo/teaching/AA1516-ProgJava/extra/DispensaSwing.pdf
Manuali in Italiano:
Il linguaggio C - Guida pratica alla programmazione

Guida C di wikibook (ottima e completissima):
https://it.wikibooks.org/wiki/C

Si consiglia inoltre la bibbia del C che é scritta veramente molto bene: "il linguaggio C, fondamenti e tecniche di programmazione" di Paul e Harvey Deitel.

Chapter 4. Pointers and Arrays

Bellissimo articolo su puntatori ed array, lettura consigliata.
Guida: dal C al C++ by wikibook (ottima per chi deve affrontare il passaggio verso un linguaggio ad oggetti)
https://it.wikibooks.org/wiki/Dal_C_al_C++

Corso completo:
http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/01Indice.html

cplusplus.com
Sito di informazioni, articoli e tutorials
http://www.cplusplus.com/

Scripting​

Command line (in inglese)

Sviluppo Web​


Sicurezza e Pentesting​

Progetto su Github che raccoglie e-books (in inglese)

Reverse Engineering e Malware Analysis​


Discussioni interessanti​

Emulare GameBoy Advance di Marcus Aseth
Generazione labirinti di Giacomo Furlan
Sto cercando di implementare un widget in Python/tkinter di clessidra
CodeGolf: emulare parzialmente la vecchia CPU 8086 di DispatchCode
 
Ultima modifica da un moderatore:

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Interessante.:ok:
Io consiglierei anche qualcosa riguardante la teoria, ciclo di vita del software, teoria dei dati ecc, un minimo di sistemi operativi/kernel. C e C++ vanno separati.
Per Java, c'è l'ottimo manuale per la versione 5 di Claudio De Sio Cesari: oltre 700 pagine di linguaggio e teoria OOP. Scaricabile gratuitamente qui: http://www.claudiodesio.com/download/oo_&&_java_5.zip
Prima era un libro, adesso l'autore ha reso libero il titolo, essendo arrivato alla versione 7.
Per python c'è anche: Una panoramica sulla documentazione | Linguaggio di programmazione Python
 
Ultima modifica:
L

lock3r

Ospite
Interessante.:ok:
Io consiglierei (da studente) anche qualcosa riguardante la teoria, ciclo di vita del software, teoria dei dati ecc, un minimo di sistemi operativi/kernel.

Provvedo!!


C e C++ vanno separati.

Anche no! :P C++ è, come dice il nome, un superset di istruzioni C, quindi tecnicamente metterli insieme dovrebbe andar bene. Comunque separarli non costa niente!

Per Java, c'è l'ottimo manuale per la versione 5 di Claudio De Sio Cesari: oltre 700 pagine di linguaggio e teoria OOP. Scaricabile gratuitamente qui: http://www.claudiodesio.com/download/oo_&&_java_5.zip
Prima era un libro, adesso l'autore ha reso libero il titolo, essendo arrivato alla versione 7.
Per python c'è anche: Una panoramica sulla documentazione | Linguaggio di programmazione Python


Aggiungo subito! :)

- - - Updated - - -
@signore del tempo

Mhm il problema dei manuali sui cicli di vita etc è che normalmente sono argomenti affrontati dai manuali. Ci rifletto un po'. Se vuoi posta qualcosa che aggiorno il primo post!! :)
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Anche no! :P C++ è, come dice il nome, un superset di istruzioni C, quindi tecnicamente metterli insieme dovrebbe andar bene. Comunque separarli non costa niente!
Meglio separarli. Parliamo a novellini. Già quando vedo "programmatori" che scrivono in C++ ma non usano OOP sbrocco, meglio eliminare il problema alla radice.

- - - Updated - - -

Per il C++ consiglio: http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/01Indice.html , corso molto completo. @wine
 

wine

Bannato a Vita
2,024
719
CPU
AMD Phenom II X4 955 C2 @3.6 GHz + TRUE 12 BE (push pull config)
Scheda Madre
Sabertooth 990FX
HDD
Samsung 840 128 + Maxtor 500
RAM
4 GB Crucial Ballistix Elite
GPU
AMD Radeon 5450
Audio
Integrata
Monitor
Samsung P24FHD
PSU
Thermaltake Toughpower XT 775W modulare
Case
Cooler master CM 690 II
OS
ArchLinux GNOME - Winf8
Ottima idea @lock3r.

Penso che magari andrebbe bene anche aggiungere in futuro linguaggi di scripting (come Lua) e linguaggi di markup.

Aggiungo un testo sul tanto amato/odiato C#:

http://www.programmersheaven.com/ebooks/csharp_ebook.pdf

È un testo in inglese, purtroppo si ferma a C#2 e si basa tantissimo sull'implementazione .NET anzichè sullo standard. Dovrebbe comunque andare bene per coloro che vogliono iniziare a conoscere le peculiarità del linguaggio.

Liberamente ridistribuibile ma NON modificabile.

- - - Updated - - -


Dai, così ridiamo con i 5 filosofi.:asd:

- - - Updated - - -

Mi piacerebbe anche riuscire a trovare qualcosa relativo a Vala, il linguaggio di programmazione con sintassi presa da C# (tanto) e Java (molto meno) ma che NON necessita di Virtual Machine.

Purtroppo non si trova nulla.
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
@wine @signore del tempo
Stavo pensando anche di postare un po' di classi già fatte che ho, tipo una test and set già fatta, un package fatto da me che aggiunge funzionalità a JFrame, il package con i design patterns già fatti pronti all'uso etc.
Che ne pensate?
No.
Se io insegnassi programmazione, probabilmente non permetterei di utilizzare codice scritto da altri per semplificarti il lavoro, neanche funzioni tipo pow() ecc.
Una volta che capisci il loro funzionamento, provi a farle tu stesso e fungono, il discorso cambia.
 
L

lock3r

Ospite
No.
Se io insegnassi programmazione, probabilmente non permetterei di utilizzare codice scritto da altri per semplificarti il lavoro, neanche funzioni tipo pow() ecc.
Una volta che capisci il loro funzionamento, provi a farle tu stesso e fungono, il discorso cambia.

Sisi certo, però non è che offro funzioni di base già fatte tipo pow(). Ad esempio la classe ProTabbedPane serve per espandere le funzionalità di JTabbedPane, aggiungendo la possibilità di inserire testo verticale, sfumature, la possibilità di prendere le schede e modificarne l'ordine e così via a runtime etc etc. I design patterns sono solo già fatti nel senso di struttura della classe, ma ovviamente per usarli devi implementarli tu. Mi sembrava una buona idea perché ad esempio dopo che hai capito il funzionamento di un oggetto condiviso asincrono te ne freghi di scriverlo te (anche se l'esempio è un po' infelice visto che sono 4 righe di codice) ma ne cerchi uno già fatto, stessa cosa per le varie test and set e semafori, tanto quanto per le funzionalità avanzate di JFrame che sono da implementare. Boh, vediamo che ne pensa @wine!
 

wine

Bannato a Vita
2,024
719
CPU
AMD Phenom II X4 955 C2 @3.6 GHz + TRUE 12 BE (push pull config)
Scheda Madre
Sabertooth 990FX
HDD
Samsung 840 128 + Maxtor 500
RAM
4 GB Crucial Ballistix Elite
GPU
AMD Radeon 5450
Audio
Integrata
Monitor
Samsung P24FHD
PSU
Thermaltake Toughpower XT 775W modulare
Case
Cooler master CM 690 II
OS
ArchLinux GNOME - Winf8
Boh, vediamo che ne pensa @wine!

Se son cose semplici e non troppo complesse direi di si.

Magari per ogni linguaggio si potrebbe anche mettere un semplice esempio di main. :look:
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Come editor aggiungerei tutta la gamma Visual Studio (v. Basic, v. C#, v. C++ ecc). Inoltre specificherei i linguaggi supportati dagli IDE.
Ancora meglio specificherei su quali OS gira; una guida di base a gcc/g++/gdb non sarebbe una cattiva idea.
 
L

lock3r

Ospite
Come editor aggiungerei tutta la gamma Visual Studio (v. Basic, v. C#, v. C++ ecc). Inoltre specificherei i linguaggi supportati dagli IDE.
Ancora meglio specificherei su quali OS gira; una guida di base a gcc/g++/gdb non sarebbe una cattiva idea.

Allora, riguardo VB e VB.net io non ne so veramente niente, nel senso che mi rifiuto di usare una piattaforma come .net e il VB non mi ha mai attirato. La faresti tu una raccolta per il VB ed affini, magari mi raccogli anche qualche tutorial perché io non avendolo mai usato non sono in grado di capire se è una buona guida oppure no. Grazie amico :)

Per le guide su gcc ed affini quoto, ora cerco in rete qualcosina, non ho voglia di scrivere visto e considerato che ce ne sono centinaia. Per gli IDE mi metto subito al lavoro. :sisi:

- - - Updated - - -
@signore del tempo

ho aggiornato la lista degli editor, se hai altri consigli ben vengano!!!! :D
 
  • Mi piace
Reazioni: wine

wine

Bannato a Vita
2,024
719
CPU
AMD Phenom II X4 955 C2 @3.6 GHz + TRUE 12 BE (push pull config)
Scheda Madre
Sabertooth 990FX
HDD
Samsung 840 128 + Maxtor 500
RAM
4 GB Crucial Ballistix Elite
GPU
AMD Radeon 5450
Audio
Integrata
Monitor
Samsung P24FHD
PSU
Thermaltake Toughpower XT 775W modulare
Case
Cooler master CM 690 II
OS
ArchLinux GNOME - Winf8
Come editor aggiungerei tutta la gamma Visual Studio (v. Basic, v. C#, v. C++ ecc). Inoltre specificherei i linguaggi supportati dagli IDE.
Ancora meglio specificherei su quali OS gira; una guida di base a gcc/g++/gdb non sarebbe una cattiva idea.

Vedo che siete in tanti a usare ancora gcc come acronimo di GNU C Compiler. :hihi:
 

wine

Bannato a Vita
2,024
719
CPU
AMD Phenom II X4 955 C2 @3.6 GHz + TRUE 12 BE (push pull config)
Scheda Madre
Sabertooth 990FX
HDD
Samsung 840 128 + Maxtor 500
RAM
4 GB Crucial Ballistix Elite
GPU
AMD Radeon 5450
Audio
Integrata
Monitor
Samsung P24FHD
PSU
Thermaltake Toughpower XT 775W modulare
Case
Cooler master CM 690 II
OS
ArchLinux GNOME - Winf8
Allora, riguardo VB e VB.net io non ne so veramente niente, nel senso che mi rifiuto di usare una piattaforma come .net e il VB non mi ha mai attirato. La faresti tu una raccolta per il VB ed affini, magari mi raccogli anche qualche tutorial perché io non avendolo mai usato non sono in grado di capire se è una buona guida oppure no. Grazie amico :)

Anche tu seguace di "open your source, open your mind"? :asd:

Faccio bene a seguire questa guida secondo voi?Per chi è pratico pensa che sia una buona guida?Non preocupatevi se è lento a caricare il PDF, dopotutto sono più di 1000 pagine :asd:
@signore del tempo potrebbe esserti d'aiuto. A me Visual Basic non è mai interessato. Forse lui lo conosce. :sisi:
 
L

lock3r

Ospite
Anche tu seguace di "open your source, open your mind"? :asd:

Nì. Non è solo quello. La filosofia Open Source mi piace moltissimo, trovo giusto che chi compra un SW abbia accesso completo al suddetto, potendolo modificare etc, ma soprattutto non sopporto le piattaforme chiuse e proprietarie, non sopporto le limitazioni assurde imposte da queste piattaforme e non sopporto che il mio lavoro non sia riusabile. E poi gli editor grafici ti castrano la mente e uccidono la tua fantasia, imho. :)
 

signore del tempo

Utente Èlite
3,228
491
CPU
Intel Core i5 4670K
Scheda Madre
Asus Z87-Plus
HDD
WD Caviar Green 500GB
RAM
G.Skill Ares 2x4GB 1600MHz
GPU
Sapphire 7850 1GB @ 1050MHz
Audio
Integrata
Monitor
Acer V193w
PSU
XFX ProSeries 550W Core Edition
Case
CM HAF 912 plus
OS
ArchLinux + KDE - Windows 10
Vedo che siete in tanti a usare ancora gcc come acronimo di GNU C Compiler. :hihi:
?

Non conosco .NET. Come libro acquistabile c'è qualcosa di asp.italia, mi sembra.
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!