I programmatori orientati agli oggetti sembrano divertirsi. Non solo sono trattati per le principali revisioni quadro ogni due anni, e nuovi e migliorati linguaggi ogni cinque, ma arrivano anche ad occuparsi di pratiche di progettazione su misura per il loro stile di programmazione. Dallo sviluppo basato sui test ai modelli di progettazione, i programmatori orientati agli oggetti hanno molto da fare.Come sono cambiate le tue idee sulle pratiche di programmazione C negli ultimi dieci anni?
Al contrario, il mondo di programmazione C sembra molto più tranquillo. L'ultima importante revisione della lingua è stata nel 1999, e la prossima probabilmente sarà molto meno impressionante. K & R 2a edizione è ancora presentata come un buon testo introduttivo da molti, nonostante abbia ormai vent'anni.
Se noi, in qualità di programmatori C, abbiamo sviluppato e migliorato le nostre capacità e pratiche (e penso che probabilmente lo abbiamo), non sembriamo essere molto bravi a comunicarli. Non vendiamo libri su di loro, pubblichiamo su di loro sui blog o organizziamo seminari intorno a loro. Non nel modo in cui il resto del mondo di sviluppo del software sembra.
Quindi, condividiamo.
Quali sono le tue pratiche di programmazione C "moderne" preferite?
Usi il `template 'libraries di macro preprocessore lunghe e coinvolte per spremere l'ultimo pollice di prestazioni dall'hardware nello stesso modo in cui i programmatori C++ possono? Utilizzi una libreria di allocazioni come halloc per ridurre al minimo il tempo speso per la gestione della memoria o usi un completo automatico garbage collector?
Naturalmente, se usi queste cose dal 1987, sentiti pure libero di suonare; il punto di questa domanda è di condividere pratiche fuori dall'ordinario, ma che potrebbero giovare agli altri.
Quali sono le pratiche di progettazione software C "moderne" preferite?
Le considerazioni di progettazione sono almeno altrettanto importanti, ovviamente. Adatti le pratiche di progettazione dal mondo orientato agli oggetti? Usi UML? Oppure si sceglie di appiattire le specifiche in uno stile neutro rispetto alla lingua (diagrammi di flusso, Z, calcolo precondizioni più debole, qualsiasi cosa)?
Posso solo aggiungere che post come questo erano tra i tipi di risposte che avevo in mente quando componevo la domanda. –