- Dettagli
- Scritto da Sebastien
- Categoria: Programming
Spesso può capitare di dover "portare" codice scritto in un linguaggio all'interno di un progetto scritto con un altro linguaggio: si tratta di un lavoro interessante che spesso porta a conoscere aspetti inattesi del linguaggio di destinazione.
Nel tradurre un programma da C a Python mi sono imbattuto in una funzione che utilizzava una variabile static e quindi è sorta la domanda: "in Python esistono variabili statiche?".
In questo articolo troverete alcune soluzioni che ho pescato dalla rete.
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
In un precedente articolo (qui) ho presentato un algoritmo per la ricerca di tutte le soluzioni del problema scacchistico delle 8 regine: il linguaggio che avevo scelto per l'implementazione era C#. In questo articolo ho voluto implementare lo stesso algoritmo utilizzando Python e in particolare il modulo itertools, già presentato in un altro articolo (qui).
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
Spesso ci sono problemi che appaiono insormontabili, come la scalata di una montagna: l'unico modo di affrontarli è quello di procedere a piccoli passi, uno dopo l'altro.
Seguendo i forum di programmazione mi sono imbattuto in uno studente che aveva problemi con lo svolgimento di un esercizio sugli array in linguaggio C; la soluzione era a portata di mano ma evidentemente le tante richieste del testo lo avevano mandato in tilt.
In questo articolo cercherò di dare un esempio per affrontare questo tipo di esercizi.
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
In un precedente articolo (qui) illustravo un semplice algoritmo per la ricerca delle combinazioni, sviluppato originariamente in linguaggio C e poi successivamente tradotto in Python.
In realtà in Python è tutto molto più semplice...
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
L'utilizzo dell'istruzione di salto incondizionato goto è solitamente considerato indice di cattiva programmazione. Il motivo è che l'uso (o meglio, abuso) del goto spesso rende il programma illeggibile e contorto (in questo caso si parla di "spaghetti code").
Ma è davvero un'istruzione da evitare ad ogni costo? Di seguito cercherò di mostrare come, in realtà, in alcune situazioni l'istruzione possa risultare non solo utile ma anche più "leggibile": il discorso che farò è valido per il C mentre non lo è per i linguaggi di più alto livello (penso a Java, C++, C#, Python...), principalmente perchè, come vedremo, questi forniscono una gestione delle eccezioni (anche se, in fondo, un'eccezione non è forse un goto messo in bella forma?).
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
Nei forum di informatica ci sono continuamente "guerre di religione" a favore o contro un determinato prodotto o tecnologia, ci sono spesso prese di posizione immotivate: la mia sensazione è che c'è tanta gente che effettua le proprie scelte con valutazioni "di pancia", ovvero senza alcun ragionamento, anzichè analizzando i pro e i contro di ciascuna possibile alternativa.
Questo "fondamentalismo informatico" può portare a fare scelte controproducenti, come nell'esempio che presento in questo articolo.
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
Solitamente quando ad un'applicazione serve un database ci si orienta su una soluzione Client - Server: ma questa architettura è davvero sempre necessaria?
In altre parole, è proprio necessario che l'utilizzatore del nostro software abbia un server SQL con tutto quel che ne deriva, installazione, manutenzione, backup...?
Inoltre, come possiamo fare quando vogliamo inserire un database in un'applicazione C?
A queste domande ci pensa SQLite, una libreria C multipiattaforma che è possibile inglobare nel proprio codice.
Leggi tutto: SQLite: metti un database nella tua applicazione C
- Dettagli
- Scritto da Sebastien
- Categoria: Programming
Nel riesumare il vecchio Turbo Pascal 3 mi sono chiesto a che punto fosse arrivato il suo successore, Delphi. Nella mia ricerca ho scoperto che oltre alla proposta commerciale di Embarcadero (che acquistò Delphi da CodeGear nel 2008) esiste anche una soluzione open source, Lazarus, basata sul compilatore Free Pascal, anch'esso open source.