Non importa a quale linguaggio facciano riferimento, se siano relative a librerie aperte o sotto copyright, l'importante è che siano gratuite e fruibili liberamente. Vanno anche bene risorse di matematica!
Architetture hardware
- Assembly GPU
- AMD Open GPU Documentation http://developer.amd.com/documentation/ ... x#open_gpu
- Intel Graphics Developer's Guides http://software.intel.com/en-us/article ... rs-guides/
- NVIDIA GPU Programming Guide http://developer.nvidia.com/nvidia-gpu- ... ming-guide
- AMD64 Architecture Programmer's Manual I manuali ufficiali di AMD per la programmazione in assembly su CPU X86-64 di AMD (AMD64) http://developer.amd.com/documentation/ ... px#manuals
- Intel 64 and IA-32 Architectures Software Developer's Manuals Guide e manuali di riferimento ufficiali per l'assembly su architettura IA-32 e X86-64 di Intel (Intel 64 / EMT64). http://www.intel.com/products/processor/manuals/
- Microsoft Macro Assembler Reference MASM è l'assember sviluppato da Microsoft per architetture X86. Attualmente viene distribuito tramite Visual Studio. http://msdn.microsoft.com/en-us/library/afzk3475.aspx
Compilatori
- Clang è un compilatore front-end per C, C++, Objective-C e Objective-C++. Utilizzando LLVM come back-end, CLang è diventata la prima vera alternativa a GCC e la sua comunità è in costante crescita. Nonostante sia pensato sistemi operativi UNIX, è possibile compilaro tramite Microsoft Visual Studio per utilizzarlo su Windows. http://clang.llvm.org/
- Cygwin è una versione di GCC per Windows. A differenza di MinGW questo ambiente di sviluppo predilige la compatibilità per il porting da sistemi POSIX su Windows, adatto quindi se si cerca la interpolabilità di software trai vari sistemi e ambienti operativi. http://www.cygwin.com/
- GNU Compiler Collection (GCC): è il compilatore per eccellenza nel mondo unix. Nato come compilatore per il C, ne è stata estesa la compatibilità al C++, e sono disponibili front-ends che estendono la compatibilità a linguaggi quali Fortran, Pascal, Objective-C, Java, Ada e altri ancora. Supporta inoltre un numero cospicuo di architetture, tra cui IA-32, X86-64, ARM, MIPS, SPARC ed SPU. Esistono poi dei porting per Windows (Cygwin e MinGW), mentre per quanto riguarda Linux, è consigliabile usare la versione inclusa o scaricabile della propria distribuzione. http://gcc.gnu.org/
- MinGW è un vero e proprio porting di GCC per Windows sotto archtiettura IA-32. Il compilatore si appoggia direttamente alle API Win32, rendendo un eventuale lavoro di porting da mondo unix a Windows più laborioso. http://mingw.org
- MinGW-w64 è una versione di MinGW sviluppata per ambienti a 64-bit sotto X86-64, e compatibile anche architettura a 32-bit IA-32. http://mingw-w64.sourceforge.net/
- Open64 è un compilatore ideato ed ottimizzato per gli ambienti a 64-bit quali X86-64 e IA-64. Ne esistono diverse versioni derivate, la più nota quella di AMD (x86 Open64 Compiler Suite). http://www.open64.net/
- x86 Open64 Compiler Suite: è la versione di AMD ottimizzata per ambiente X86-64 e compatibile anche con IA-32. Viene distribuita come estensione a GCC (linguaggi C, C++ e Fortran) ed in futuro non è escluso un porting anche per Windows. http://developer.amd.com/cpu/open64/pages/default.aspx
Ambienti di sviluppo
- Eclipse: è un IDE open source multipiattaforma e multi-linguaggio. È sviluppato da un consorzio di diverse aziende tra cui HP, IBM e Intel. Vanta una vasta comunità, un spiccata espandibilità grazie ad un vasto repertorio di plugin ed è uno degli IDE più diffusi tra gli sviluppatori Java e C++. È scritto interamente in Java ed utilizza le librerie grafiche SWT per compensare il livello prestazionale. Disponibile sia per sistemi UNIX che Windows. http://www.eclipse.org/
- MySQL Workbenc: è un ambiente grafico volto al design, lo sviluppo e l'amministrazione dei databse MySQL. Sviluppato da Oracle, è disponibile in versione gratuita sotto licenza GNU, con tanto di supporto a plug-in esterni e di terzi. L'unica differenza rispetto alla versione commerciale risiede nella licenza e di un bundle di plug-in a pagamento. Disponibile sia per sistemi UNIX che per Windows: http://mysqlworkbench.org/
- NetBeans è l'IDE sviluppato da Oracle (precedentemente da Sun) e competitore diretto di Eclipse. Nativamente supporta Java, C++ (per il quale è necessario un compilatore esterno) e PHP, tuttavia dispone di una comunità numerosa e di un vasto numero di plugin. Recentemente ha perso il supporto nativo al linguaggio Ruby e Ruby on Rails. Disponibile sia per sistemi UNIX che Windows. http://netbeans.org/
- Visual Studio Express: è la versione gratuita di Visual Studio, l'IDE di Microsoft. Sebbene contenga limitazioni sopratutto a livello industriale su funzionalità e licenza, rimane con molta probabilità la miglior soluzione gratuita per programmare sotto Windows in C++, C# e Baisc. Dispone oltre alle librerie standard di un certo numero di librerie proprietarie ed ottimizzate per l'ambiente Windows (incluso il framework di .NET), infine può essere utilizzato anche per la creazione di pagine Web in X/HTML e ASP. http://www.microsoft.com/express/Windows/
- Emacs è un editor di testi open source molto versatile, creato da Richard Stallman. Supporta nativamente un'infinità di linguaggi e a sua volta è supportato da un'infinità di progetti. È ideale per tutti coloro a cui non piacciono gli IDE e vogliono rimanere nella semplicità. Disponibile sia per sistemi UNIX che Windows. http://www.gnu.org/software/emacs/
- Notepad++ è un editor di testi open source per Windows. È costruito sopra il blocco note di Windows e permette di lavorare contemporaneamente su più file grazie ad una struttura a tab. Supporta elevato numero di linguaggi di programmazione, nonché l'uso di macro e plugin. http://notepad-plus-plus.org/
- App Hub è una versione distaccata del forum MSDN(per quanto riguarda invece lo sviluppo sotto di giochi DirectX, XNA e Windows Phone. http://forums.create.msdn.com.
- AMD Developer Centra è il portale per lo sviluppo su hardware AMD. Oltre ad avere documentazione su librerie come Direct3D, OpenGL e OpenCL contiene una miriade di applicativi e documentazioni ed esempi riguardanti CPU/APU, GPU e chipset AMD. http://developer.amd.com/
- GameDev.net è il più grande portale dedicato allo sviluppo (sia amatoriale che non) di videogiochi e grafica 3D. Vanta la comunità a tema più ampia e attiva della rete e conta molti tra i migliori esperti del settore. Il portale dispone di innumerevoli guide e articoli a tema stilati da professionisti ed è anche un ottimo punto di riferimento per chi si affaccia all'industria del videogame.http://www.gamedev.net/
- HTML.it è una comunità italiana volta alla programmazione per il web, che non sdegna nemmeno linguaggi di programmazione più tradizionali. È un portale ricco di guide, articoli ed esempi. Vale anche la pena dare un'occhiata al forum. http://www.html.it/
- MSDN è il portale Microsoft per lo sviluppo del software sotto ambiente Windows. Accessibile anche ai non abbonati, dispone di un'ampia libreria completamente gratuita di riferimenti e tutorial alla programmazione sotto Windows (disponibile tradotta verosimilmente bene anche in italiano). La comunità è ampia e si estende sotto forma di blog ufficiali e di un vastissimo forum che copre una miriade di argomenti. http://msdn.microsoft.com/
- NVIDIA Developer Zone è il portale per lo sviluppo su hardware NVIDIA e delle relative tecnologie proprietarie come il framework CUDA, nonché ovviamente su Direct3D, OpenGL e OpenCL. http://www.nvidia.com/page/home.html
- Stack Overflow è un'ampia comunità dedicata alla risoluzione dei problemi che chiunque può incontrare nel mondo della programmazione. Il portale non è dedicato ad un linguaggio o ad una piattaforma specifica, il che è forse il suo punto di forza. Da tenere nei propri segnalibri del browser. http://stackoverflow.com/
- The Khronos Group è il gruppo per lo sviluppo di librerie open source come OpenCL e OpenGL. Oltre a fornirne la relativa documentazione ed alcuni esempi applicativi il portale offre notizie e articoli di approfondimento. http://www.khronos.org/
- Bruce Eckel's Free Electronic Books Bruce Eckel è senza ombra di dubbio uno dei migliori autori in circolazione per C++ e Java. Le sue opere più recenti sono scaricabili gratuitamente in formato HTML, eccetto l'ultima edizione di Thinking in Java. http://www.mindviewinc.com/Books/downloads, http://mindview.net/CDs/ThinkingInC/beta3
- PuntoInformatico Libri È una raccolta di libri completamente gratuiti e in italiano raccolti e proposti dal sito PuntoInformatico. L'iniziativa è recente ma di buona fattura ed in espansione. http://punto-informatico.it/PILibri/Home.aspx
- Swing di Matthew Robinson e Pavel Vorobiev è la prima edizione gratuita in formato .doc Word 97 di un libro esclusivamente dedicato alla libreria grafica di Java Swing. Oltre al libro sono disponibili anche gli esempi e i relativi sorgenti. http://www.manning-source.com/books/rob ... ingdoc.zip, http://www.manning-source.com/books/robinson2/swing.zip