Programming, motherfucker est une communauté de développeurs humiliés depuis des années par les programmes, les méthodologies et le management, tous centrés sur les heures facturables et les tests sans intérêt. Alors que le développeur veut surtout… développer. Tiens, en parlant de développement web, voici une sacrée liste de tutoriels qui devrait faire de vous un p***** de développeur ^__^
Graphics Programming
- GPU Gems
- GPU Gems 2 – ch 8,14,18,29,30 as pdf
- GPU Gems 3
- Graphics Programming Black Book
- ShaderX series
- DirectX manual (draft)
- Learning Modern 3D Graphics Programming (draft)
Language Agnostic
- Object-Oriented Reengineering Patterns
- Foundations of Programming
- Computer Musings (lectures by Donald Knuth)
- The Cathedral and the Bazaar
- Patterns and Practices: Application Architecture Guide 2.0
- Security Engineering
- Digital Signal Processing For Engineers and Scientists
- Getting Real
- Domain Driven Design Quickly
- OO Design
- Best Kept Secrets of Peer Code Review
- NASA Software Measurement Handbook
- NASA Manager Handbook for Software Development (PDF)
- Introduction to Functional Programming (class lectures and slides)
- How to Design Programs
- Guide to the Software Engineering Body of Knowledge
- Online Course Materials
- Algorithms (draft)
- Data Structures and Algorithms
- Essential Skills for Agile Development
- Programming Languages: Application and Interpretation
- Learn to Program
- Patterns of Software: Tales from the Software Community (PDF)
- How to write Unmaintainable Code
- The Art of Unix Programming
- The Definitive Guide to Building Code Quality
- How to Think Like a Computer Scientist
- Planning Algorithms
- Mathematical Logic – an Introduction (PDF)
- An Introduction to the Theory of Computation
- Developers Developers Developers Developers (broken download link?)
- Linkers and loaders
- Let’s Build a Compiler
- Producing Open Source Software
- How to Write Parallel Programs
- Don’t Just Roll the Dice
- 97 Things Every Programmer Should Know
- How Computers Work
- Introduction to Information Retrieval
- Is Parallel Programming Hard, And, If So, What Can You Do About It?
- Matters Computational
- Type Theory and Functional Programming
- Getting started with Open source development (PDF)
- Database Fundamentals (PDF)
- Clever Algorithms
- Summary of the GoF Design Patterns
- Flow based Programming
- Algorithms and Data-Structures (PDF)
- Compiler Construction (PDF)
- Project Oberon (PDF)
- The Little Book of Semaphores
- Essential Skills for Agile Development
- I Am a Bug
- Mining of Massive Datasets
- Data-Intensive Text Processing with MapReduce (PDF)
- Understanding IP Addressing: Everything you ever wanted to know(PDF)
- Operating Systems and Middleware (PDF and LaTeX)
- Think Stats: Probability and Statistics for Programmers (PDF, code written in Python)
- The Architecture of Open Source Applications
ASP.NET MVC
Assembly Language
- ProgrammingGroundUp (PDF)
- Paul Carter’s Tutorial on x86 Assembly
- Software optimization resources by Agner Fog
Bash
C / C++
- The new C standard – an annotated reference
- Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt
- The C book
- Thinking in C++, Second Edition
- C++ Annotations
- Software optimization resources by Agner Fog
- Introduction to Design Patterns in C++ with Qt 4 (PDF)
- Object Oriented Programming in C (PDF)
- Beej’s Guide to Network Programming
- Learn C the hard way
- Also see: The Definitive C++ Book Guide and List
C#
- C# School (covers C# 1.0 and 2.0)
- Threading in C#
- C# Yellow Book (intro to programming)
- C# Programming – Wikibook
- C# Essentials
- Data Structures and Algorithms with Object-Oriented Design Patterns in C#
- Illustrated C# 2008 (.zip, dead link)
Clojure
ColdFusion
DB2
- Getting started with IBM Data Studio for DB2 (PDF)
- Getting started with IBM DB2 development (PDF)
- Getting started with DB2 Express-C (PDF)
Delphi / Pascal
Django
Erlang
Flex
F#
- The F# Survival Guide
- F Sharp Programming in Wikibooks
- Real World Functional Programming (MSDN Chapters)
Forth
Git
Grails
Haskell
HTML / CSS
Java
- Sun’s Java Tutorials
- Thinking in Java
- How to Think Like a Computer Scientist
- Java Thin-Client Programming
- OSGi in Practice (PDF)
- Java 6 Tutorial (PDF)
JavaScript
- Eloquent JavaScript
- Crockford’s JavaScript
- jQuery Fundamentals (starts with JavaScript basics)
- Mozilla Developer Network’s JavaScript Guide
- Essential Javascript & jQuery Design Patterns for Beginners
JavaScript (Node.js specific)
Latex
- The Not So Short Introduction to LATEX (perfect for beginners)
Linux
Lisp
- COMMON LISP: An Interactive Approach
- A Short Course in Common Lisp
- Structure And Interpretation of Computer Programs
- A Gentle Introduction to Symbolic Computation (PDF)
- Practical Common Lisp
- On Lisp
- ANSI Common Lisp
- Common Lisp the Language, 2nd Edition
- Successful Lisp
- Let Over Lambda – 50 Years of Lisp
- Natural Language Processing in Lisp
Lua
- Programming In Lua (for v5 but still largely relevant)
- Lua Programming Gems (not entirely free, but has a lot of free chapters and accompanying code)
Maven
- Better Builds with Maven
- Maven by Example
- Maven: The Complete Reference
- Repository Management with Nexus
- Developing with Eclipse and Maven
Mercurial
Nemerle
.NET
- C# School (covers C# 1.0 and 2.0)
- Visual Studio Tips and Tricks (VS 2003-2005 only)
- Entity Framework
- Charles Petzold’s .NET Book 0
- Threading in C#
- C# Yellow Book (intro to programming)
- C# Programming – Wikibook
- C# Essentials
- Data Structures and Algorithms with Object-Oriented Design Patterns in C#
- Nemerle
NoSQL
Oberon
- Programming in Oberon (PDF)
Objective-C
OCaml
Oracle Server
- Oracle’s Guides and Manuals
Oracle PL/SQL
- PL/SQL Language Reference
- PL/SQL Packages and Types Reference
- Steven Feuerstein’s PL/SQL Obsession – Videos and Presentations
Parrot / Perl 6
- Using Perl 6 (work in progress)
Perl
- Higher-Order Perl
- Perl The Hard Way
- Extreme Perl
- Perl Free Online EBooks (meta-list)
- The Mason Book
- Practical mod_perl
- Beginning Perl
- Embedding Perl in HTML with Mason
- Perl & LWP
- Perl for the Web
- Web Client Programming with Perl
- Modern Perl 5
PHP
- Symfony2
- Practical PHP Programming (wiki containing O’Reilly’s PHP In a Nutshell)
- Zend Framework: Survive the Deep End
PowerShell
Prolog
- Building Expert Systems in Prolog
- Adventure in Prolog
- Prolog Programming A First Course
- Logic, Programming and Prolog (2ed)
- Introduction to Prolog for Mathematicians
- Learn Prolog Now!
- Natural Language Processing in Prolog
- Natural Language Processing Techniques in Prolog
- Prolog techniques
- Applications of Prolog
- Simply logical
PostgreSQL
Python
- Byte of Python
- Building Skills in Python Version 2.5
- Python Bibliotheca
- Think Python (PDF)
- Data Structures and Algorithms in Python
- Dive into Python
- How to Think Like a Computer Scientist: Learning with Python
- Python for Fun
- Invent Your Own Computer Games With Python
- Learn Python The Hard Way
- Thinking in Python
- The Django Book
- Snake Wrangling For Kids
- Natural Language Processing with Python
R
Ruby
- Programming Ruby
- Why’s (Poignant) Guide to Ruby (mirror)
- Mr. Neighborly’s Humble Little Ruby Book
- Ruby Best Practices
- MacRuby: The Definitive Guide
- Learn Ruby the hard way
Ruby on Rails
Scala
- Programming in Scala, First Edition
- A Scala Tutorial for Java programmers (PDF)
- Scala By Example (PDF)
- Programming Scala
- Xtrace (Github)
- Lift (Github)
- Pro Scala: Monadic Design Patterns for the Web
- Exploring Lift (published earlier as « The Definitive Guide to Lift »,PDF)
Scheme
Smalltalk
- Free Online Smalltalk Books (meta-list)
- Squeak By Example (Smalltalk IDE)
Subversion
SQL
- Developing Time-Oriented Database Applications in SQL
- Use The Index, Luke! (a guide to SQL database performance for developers)
- Learn SQL The Hard Way
Vim
Emacs
Merci à :
- @yann_madeleine yann-madeleine.com
- @DirtyF frank.taillandier.me
Bonjour
Je suis toujours un peu circonspect de « constater » que VB.Net ne fait pas parti des langages « actuels »… mais qu’on nous pond des trucs sur F# !
P’tite remarque en passant d’un dév. qui utilise VB.Net depuis que ça existe ^_^
(oui, y’a des dév. qui aiment les langages verbeux)
Merci pour le listing, il y a de quoi faire pour une décennie.
Tecco