15 Algoritmi di ordinamento in quasi 6 minuti

Avete mai visto all’opera i tanto blasonati e studiati algoritmi di ordinamento? Gli algoritmi sono: selection sort, insertion sort, quick sort, merge sort, heap sort, radix sort (LSD), radix sort (MSD), std::sort (intro sort), std::stable_sort (adaptive merge sort), shell sort, bubble sort, cocktail shaker sort, gnome sort, bitonic sort and bogo sort.

Date un’occhiata qui:

https://www.youtube.com/watch?v=kPRA0W1kECg&feature=youtu.be

Regular Expressions in C++ con Boost

Vorrei segnalare un buon articolo che introduce alle Regular Expressions ed implementa gli esempi facendo uso delle librerie Boost di cui ho realizzato l’apprezzatissimo devpak per Dev-Cpp (librerie .lib da usare con GCC su piattaforma Windows). Lo consiglio a chi ha bisogno di una veloce infarinatura sull’argomento. L’autore è Jeff Cogswell che ha scritto anche alcuni libri sulla programmazione tra cui cito C++ All In One Desk Reference for Dummies’. Vai all’articolo!

I più importanti…

Ancora Scott Meyers, conclude la sua serie di ‘cinque di cinque’, ovvero cinque articoli in cui propone i suoi cinque più importanti soggetti per il C++. Parte dai libri e poi continua con le pubblicazioni, i software, i personaggi ed infine i momenti passando per il nostro amato GCC del progetto GNU, le librerie Boost ed anche il Visual C++. Scott Meyers è un riferimento importante nella comunità di sviluppatori C++ e vale la pena di leggere le motivazioni delle sue scelte anche se, a mio parere, discutibili. Sono le sue opinioni e non la testimonianza di una comunità che non ha certo mancato di farglielo notare con alcuni post tra cui anche quelli di Bjarne Stroustrup.

Il seguente link porta all’ultimo articolo della serie dove si trovano gli indirizzi degli altri quattro in ordine cronologico: vai all’articolo!

I più importanti libri sul C++…

Scott Meyers è un’autorità mondiale nell’ambito del linguaggio C++, effettua servizi di consulenza e corsi in tutto il mondo. Ha scritto diversi testi che sono poi diventati dei veri e propri best-seller come la serie Effective C++(Effective C++, More Effective C++, e Effective STL), ha progettato l’innovativo Effective C++, è Consulting Editor per la casa editrice Addison Wesley e lavora alla Advisory Board per The C++ Source (http://www.artima.com/cppsource/).

In questo articolo Scott Meyers seleziona cinque libri che ritiene tra i più importanti nella storia del C++ motivando le sue scelte:

“Ho scritto Effective C++ nel 1991. Alcuni anni prima imparai il C++. Mentre scrivevo questo articolo, ho creduto che il 1986 fosse l’anno in cui imparai il linguaggio così feci del 2006 il suo ventesimo anniversario ed il quindicesimo anniversario dalla scrittura del libro. Ahimè, la memoria – almeno la mia – non sembra aiutarmi molto perchè la storia registra il 1988 come anno in cui imparai il C++. Quindi il 2006 segna solo il mio diciottesimo anno con il C++. Sebbene non sia possibile arrotondare a venti, è stato comunque un bel pò di tempo dedicato a questo linguaggio, inoltre, in questi anni ho riflettuto, per diverse ragioni, non solo al futuro del C++ ma anche al suo passato. C’è molto da dire sul suo futuro, specialmente con la prossima versione del linguaggio (C++0x) che si avvicina al passaggio finale della specifica, la TR1 è già stata pubblicata e la TR2 è alle porte. Adesso voglio pensare un pò a quello che è già stato fatto e voglio farlo con audacia: voglio nominare le mie scelte riguado ai più importanti contributi mai portati al C++ in varie categorie.”

L’intero articolo è pubblicato a questo indirizzo.

domande difficili, i grandi programmatori rispondono

L’autore del Sztywny Blog ha realizzato la sua prima, ed interessantissima intervista ad alcuni dei più grandi e stimati programmatori del nostro tempo (avrei voluto leggere anche le risposte di Richard Stallman). E’ sorprendente la convergenza di opinioni su alcuni argomenti e la divergenza su altri, quali le applicazioni della matematica e le attitudini di un buon programmatore. Le domande poste sono le seguenti:

  • Come hai imparato a programmare? Le scuole sono importanti?
  • Qual’è la caratteristica più importante che un programmatore dovrebbe avere?
  • La matematica e la fisica sono importanti per un programmatore?
  • Quale sarà la prossima grande cosa/avventura/sfida nella programmazione dei computer?
  • Se tu avessi tre mesi per imparare una relativamente nuova tecnologia, quale sceglieresti?
  • Quali sono i tuoi strumenti preferiti e perchè?
  • Qual’è il tuo libro preferito di programmazione?
  • Qual’è il tuo libro preferito(non di programmazione)?
  • Quale musica ascolti?

Consiglio un’attenta lettura e meditazione sulle risposte date da questi famosi personaggi:

  • Linus Torvalds – L’autore del Kernel di Linux.
  • Dave Thomas – L’autore di „Pragmatic Programmer”, „Programming Ruby” ed altri grandi libri sulla programmazione.
  • David Heinemeier Hansson – L’autore di Rails Framework – il nuovo framework di sviluppo web.
  • Steve Yegge – Probabilmente è il meno noto tra questi ragazzi, ma comunque ha dato risposte molto interessanti, mantiene un popolare weblog sulla programmazione. E’ anche l’autore del gioco „Wyvern”.
  • Peter Norvig – Research Director in Google, un ottimo Lisper, autore di famosi libri sull’AI.
  • Guido Van Rossum – Il creatore del linguaggio Python.
  • Bjarne Stroustrup – Il creatore del C++.
  • James Gosling – Il creatore del linguaggio Java.
  • Tim Bray – Uno degli autori delle specifiche dell’ XML ed Atom.

L’intera intervista è disponibile a questo indirizzo.

La storia del “C”

” The C programming language was devised in the early 1970s as a system implementation language for the nascent Unix operating system. Derived from the typeless language BCPL, it evolved a type structure; created on a tiny machine as a tool to improve a meager programming environment, it has become one of the dominant languages of today. This paper studies its evolution.”

La nascita del linguaggio C raccontata da uno dei padri(Dennis M. Ritchie) è la lettura che consiglio per queste vacanze ormai alle porte. E’ uno spunto per riflettere sulle motivazioni di tanto successo e sul fatto di essere un linguaggio ancora sulla cresta dell’onda dopo oltre trent’anni.

Buona lettura e Buone Vacanze!

Il tipo dei dati in C

Tutto quello che non hai mai voluto sapere su i tipi in C (Everything you ever wanted to know about C types) è il titolo di un articolo che mantiene la promessa, perchè tratta l’argomento in modo approfondito e tecnico utilizzando un linguaggio relativamente semplice. Inoltre, offre a corredo dei link che completano e sostengono la discussione. Buon riferimento per chi non si accontenta delle sole pagine di un libro!

SPTK Library

“This is a new SPTK milestone. Version 3.1 went the long way of corrections made since version 3.0. The testing process revealed several bugs that were fixed. You can download version 3.1 as *nix tarball and Windows zip.”

L’obiettivo della libreria SPTK è quello di creare controlli semplici e compatti che estendano le capacità della libreria base FLTK. Contiene classi che permettono l’utilizzo di alcuni oggetti del pacchetto office di Windo*s, Access ed Excel, connessioni a database SQLite, connessioni FTP, componenti per la gestione di e-mail, il supporto per i file XML e molto altro.
E’ stata rilasciata la versione SPTK 3.1!

PosteRazor

“The PosteRazor cuts a raster image into pieces which can afterwards be printed out and assembled to a poster”.
Altro bel progetto realizzato usando le librerie FLTK 1.1, FreeImage 3.8.0. e Fl_Native_File_Chooser. Pubblicato su SourceForge.net è in release 1.1, ottimo codice da scaricare e leggere!