• Passa alla navigazione primaria
  • Passa al contenuto principale
  • Passa alla barra laterale primaria
  • Programmazione
  • Siamo tutti geek
  • IT Business
  • Tlc & Internet
  • Applicazioni & OS
  • Networking & Security
  • Software Engineering
  • Gadget

Stacktrace

Aperiodico di resistenza informatica

  • Home
  • Collabora
  • Archivi
  • Chi siamo
  • Termini d’uso

Programmazione

Common Lisp Macro/2

2 Luglio 2008 A cura di Luigi Panzeri

In questa seconda parte vedremo alcuni utilizzi delle macro in Common Lisp
e discuteremo due problemi tipici: la cattura accidentale di nomi (variable capture) e la valutazione
multipla.

[Leggi di più…] infoCommon Lisp Macro/2

Archiviato in:Programmazione Contrassegnato con: Common Lisp, linguaggi, lisp, macro

I pericoli della programmazione con i mixin/2

2 Luglio 2008 A cura di Michele Simionato

Nella prima parte di questa serie ho discusso il problema principale
dei mixin, il sovraffollamento del namespace. Il lettore
potrebbe pensare che tale problema affligga soltanto i framework di
dimensioni medio/grandi e che non ci siano problemi ad usare i
mixin in framework piccoli. Questo è in parte vero, ma è anche
vero che spesso e volentieri i mixin sono usati a sproposito anche
in framework piccoli. In questa seconda parte illustrerò varie
alternative all’ereditarietà multipla e ai mixin nel piccolo,
per sistemi ad oggetti di piccole dimensioni che potreste scrivere
anche voi.

[Leggi di più…] infoI pericoli della programmazione con i mixin/2

Archiviato in:Programmazione Contrassegnato con: python

Realizzare videogiochi in J2ME

28 Giugno 2008 A cura di Davide Ficano

La realizzazione di un videogioco oggi è molto più semplice rispetto al passato non tanto perchè l’hardware permette
effetti impensabili sino a qualche anno fa ma perchè il supporto software offerto dalle API e dai framework sgrava il programmatore di
compiti tediosi quali la gestione delle collisioni o l’animazione degli oggetti.

[Leggi di più…] infoRealizzare videogiochi in J2ME

Archiviato in:Programmazione Contrassegnato con: j2me, java

I pericoli della programmazione con i mixin/1

25 Giugno 2008 A cura di Michele Simionato

I mixin sono una tecnica di programmazione ad oggetti che permette di
iniettare pacchetti di metodi in una classe madre, direttamente o
indirettamente tramite l’ereditarietà multipla. I pro e i contro 
della tecnica sono molto dibattuti ed io personalmente nel giro di qualche anno sono
passato da acceso sostenitore a fiero oppositore. Data
la premessa è chiaro che non sarò imparziale e che non dovete prendere
quanto dirò per oro colato. La mia opinione è che l’ereditarietà
multipla, i mixin e i trait (per lo meno quando i trait sono intesi
come sinonimo dei mixin come spesso avviene) sono esempi di tecniche
molto cool sulla carta che si rivelano nella pratica un disastro,
soprattutto quando ci si trova a dover mantenere del codice che ne fa
un uso liberale. Ci possono essere dei casi particolari in cui il loro
uso è accettabile, ma la maggior parte delle volte esistono
alternative più valide che sono però meno note e meno utilizzate. Lo
scopo principale di questa serie è proprio quello di illustrare le
alternative, almeno nel contesto della programmazione in Python.

[Leggi di più…] infoI pericoli della programmazione con i mixin/1

Archiviato in:Programmazione Contrassegnato con: python

La Summer Of Code italiana

10 Giugno 2008 A cura di Luigi Panzeri

Abbiamo già
parlato del Google Summer
of Code
(in seguito SoC), un programma di Google che finanzia
progetti liberi e più generalmente open source, dando l’opportunità
a studenti di ogni grado di partecipare allo sviluppo di tali
progetti. Il SoC, inoltre, permette agli studenti di conoscere e introdursi nella vita molto peculiare di una
community che ha come obiettivo lo sviluppo di un progetto open
source.

Il SoC rappresenta un’opportunità anche per le organizzazioni
no-profit che promuovono software open source (es. l’Apache
Foundation), le quali beneficiano dell’apporto di nuove energie e
soprattutto di nuovo codice, nuove funzionalità, bug fixing, etc.

Diamo quindi visibilità a studenti e mentor italiani che partecipano
al Google Summer of Code edizione 2008, descrivendo brevemente le
loro proposte, che spaziano su diversi argomenti come: grafica
3D, Security, DSP, GIS, Desktop Environment oppure danno qualità
industriale e robustezza a strumenti e progetti innovativi ma meno
mainstream come Squeak e Haskell, Open Street Map e Blender.

[Leggi di più…] infoLa Summer Of Code italiana

Archiviato in:Programmazione Contrassegnato con: google, Google SoC, italia

Gestione dei record in Python/3

10 Giugno 2008 A cura di Michele Simionato

Nei primi due articoli di questa serie abbiamo discusso come leggere e
come processare record omogenei. In questo terzo ed ultimo articolo ci
dedicheremo invece allo studio dei record non-omogenei, ovverossia
record in cui campi diversi vanno processati in
maniera diversa. Lo scopo ultimo è quello di disegnare un framework
per convertire record in testo in formato CSV, HTML, XML o altro. En
passant
, discuteremo varie tecniche di design e pattern tipici della
programmazione ad oggetti.

patchwork1.jpg

Fig 1: design a oggetti

[Leggi di più…] infoGestione dei record in Python/3

Archiviato in:Programmazione Contrassegnato con: python, record

Common Lisp Macro/1

3 Giugno 2008 A cura di Luigi Panzeri

Tra le funzionalità che rendono il Common Lisp un linguaggio molto
potente e differente
da quelli più diffusi, vi sono
le macro.Una notazione ed una sintassi con poche regole ed un sistema di
lettura, compilazione e esecuzione del codice molto flessibile danno
allo sviluppatore la possibilità di astrarre un pattern di codice in
un nuovo costrutto, laddove tale pattern non può essere astratto con
una tradizionale funzione. I lettori che già conoscono il Common Lisp
possono saltare il prossimo paragrafo, nel quale ne sono riassunte
brevemente le basi. Coloro i quali vogliono approfondire o conoscere le macro in Scheme possono visionare le Avventure di un Pythonista in Schemeland 8, 9,10 e 11.
[Leggi di più…] infoCommon Lisp Macro/1

Archiviato in:Programmazione Contrassegnato con: Common Lisp, linguaggi, lisp, macro, Programmazione

Python migliora il supporto al multiprocessing

1 Giugno 2008 A cura di Lawrence Oluyede

Con le seguenti parole Guido Van Rossum ha approvato e benedetto l’ingresso di pyprocessing all’interno della libreria standard di Python già nelle prossime release:

+1 from me as well, and I support the rename to multiprocessing (“processing” is just too much of a common word).
This will provide a good short-term answer to those who still clamor for dropping the GIL.

[Leggi di più…] infoPython migliora il supporto al multiprocessing

Archiviato in:Programmazione Contrassegnato con: processi, python, python3000, thread

Ruby 1.8.7 e Rails 2.1

1 Giugno 2008 A cura di Antonio Cangiano

RailsConf 2008 passerà alla storia per i molti annunci importanti. Ad esempio, l’annuncio ufficiale circa il nuovo traguardo di IronRuby, che è finalmente in grado di servire semplici richieste con Rails. Un’altra star indiscussa che farà parlare di sé, è MagLev, un’implementazione da parte dell’azienda Gemstone, che ha stupito tutti con dei benchmark che dimostrano una velocità di esecuzione di gran lunga maggiore a quella di MRI (Matz Ruby Interpreter). Come se non bastasse, proprio oggi sono state rilasciate la nuova versione di Ruby (1.8.7) e quella di Rails (2.1).

[Leggi di più…] infoRuby 1.8.7 e Rails 2.1

Archiviato in:Programmazione Contrassegnato con: ironruby, rails, ruby

Gestione dei record in Python/2

28 Maggio 2008 A cura di Michele Simionato

Nella scorsa puntata ho descritto i pregi e le virtù delle
namedtuple, un concetto che è stato introdotto nella libreria standard
di Python con la versione 2.6 (attualmente in alpha) ma che può essere
utilizzato proficuamente fin da
subito, semplicemente scaricando la ricetta di Raymond
Hettinger
. In questa puntata farò uso delle namedtuple per gestire
i record provenienti da un database a darò qualche consiglio su
come processare e come visualizzare tali record.

[Leggi di più…] infoGestione dei record in Python/2

Archiviato in:Programmazione Contrassegnato con: python, record

  • « Vai alla pagina precedente
  • Vai alla pagina 1
  • Vai alla pagina 2
  • Vai alla pagina 3
  • Vai alla pagina 4
  • Vai alla pagina 5
  • Pagine interim omesse …
  • Vai alla pagina 11
  • Vai alla pagina successiva »

Barra laterale primaria

Seguito da più di 16,000 programmatori

Idea Hai idee per un articolo? Contattami!

Leggi il mio libro

Technical Blogging: Amplify your influence

Printed | Ebook | Audiobook

Follow @stacktrace

Post recenti

  • Recensione di Amazon Books a Seattle
  • Il vero nemico degli artisti in rete
  • 10 consigli per interagire con il proprio geek di famiglia
  • Amazon lancia il Kindle italiano
  • IBM rilascia la versione 9.7.5 di DB2 Express-C

Commenti recenti

  • Leonardo su 10 consigli per interagire con il proprio geek di famiglia
  • Gilton su 10 consigli per interagire con il proprio geek di famiglia
  • Lorenzo su La fluidità del codice
  • Lorenzo su 10 consigli per interagire con il proprio geek di famiglia
  • Mr.Price su 10 consigli per interagire con il proprio geek di famiglia

Categorie

  • Applicazioni & OS (13)
  • Editoriali (11)
  • Gadget (7)
  • IT Business (25)
  • Legge & Privacy (8)
  • Libri (6)
  • Networking & Security (11)
  • Programmazione (104)
  • Siamo tutti geek (33)
  • Software Engineering (9)
  • Tlc & Internet (17)

Tag popolari

agile algoritmi amazon apple business c cisco conferenze django eventi extreme programming firefox framework geek google internet ironruby italia java libro linguaggi linux lisp matematica microsoft mozilla networking perl php Programmazione project euler pycon python rails rest rubinius ruby scheme startup vignetta visione web web2.0 windows xul

Hanno collaborato

  • Antonio Cangiano (RSS) (68)
  • Marco Beri (RSS) (23)
  • Michele Simionato (RSS) (22)
  • Alex Beri (RSS) (18)
  • Ludovico Magnocavallo (RSS) (12)
  • Valentino Volonghi (RSS) (9)
  • Marco Ceresa (RSS) (9)
  • Piergiuliano Bossi (RSS) (7)
  • Davide Ficano (RSS) (7)
  • Simone Dall'Angelo (RSS) (7)
  • Gabriele Renzi (RSS) (6)
  • Giovanni Intini (RSS) (6)
  • Daniele Varrazzo (RSS) (5)
  • Nicholas Wieland (RSS) (5)
  • Michele Finotto (RSS) (4)
  • Luigi Panzeri (RSS) (4)
  • Matteo Nodari (RSS) (3)
  • Lawrence Oluyede (RSS) (3)
  • Stefano Rodighiero (RSS) (3)
  • Andrea Righi (RSS) (3)
  • Roberto De Ioris (RSS) (2)
  • Alberto Revelli (RSS) (2)
  • Davide Casali (RSS) (2)
  • Franco Lombardo (RSS) (2)
  • Claudio Cicali (RSS) (2)
  • Carmine Noviello (RSS) (2)
  • Massimo Scamarcia (RSS) (1)
  • Marco De Paoli (RSS) (1)
  • Francesco Matarazzo (RSS) (1)
  • Emmanuele Somma (RSS) (1)
  • Nicola Larosa (RSS) (1)
  • Massimiliano Mirra (RSS) (1)
  • Lorenzo Bolognini (RSS) (1)

Disclaimer

Stacktrace.it partecipa al Programma Affiliazione Amazon EU, un programma di affiliazione che consente ai siti di percepire una commissione pubblicitaria pubblicizzando e fornendo link al sito Amazon.it (e altri siti Amazon di altri paesi). Forniamo inoltre link a siti non associati con Amazon, che ci permettono di percepire una commissione sulle vendite. Amazon e il logo Amazon sono marchi registrati di Amazon.com, Inc. o delle sue affiliate.

Copyright © 2007-2018 Antonio Cangiano