Tuesday, February 4, 2014

Programmazione in Linguaggio Python e librerie collegate

Nel corso dell'ultimo anno, superando l'attaccamento e la dipendenza da soluzioni di programmazione disponibili su Windows, quali .NET e quindi Visual Studio, ho definitivamente abbracciato la logica essenziale e coerente di GNU/Linux, presente ormai nei miei diversi computer allacciati alla rete domestica, che utilizzo per ogni tipo di comune impiego, siano essi browsing in rete e posta elettronica, sia Office, con la soluzione Libre Office, arrivata ormai ad un grado elevato di maturità, e a cui penso di dedicare qualche ora del mio studio in futuro, sia per l'impiego dei linguaggi di programmazione e la creazione di applicazioni varie.
Nel corso dell'ultimo anno ho usato estesamente il linguaggio Python, durante l'attività lavorativa e non, ne ho constatato la facilità di impiego e la elevata velocità nella composizione di codice. Posso dire che ormai uso prevalentemente Python, insieme a C e C++, e Java limitatamente alle applicazioni che girano su Android.
Il mio blog è dedicato all'utilizzo di Python ma non solo. Constatata la difficoltà di reperire informazioni utili per lo sviluppo di interfacce grafiche in Python, ho pensato di condividere con i futuri lettori del sito qualche conoscenza acquisita su Tkinter e ttk. che sono le principali librerie, già incorporate nel set di base, rinunciando, per ora, alle interfacce in GTK o Qt o wxWidget.
Quindi chi avesse già una buona conoscenza di Python in linea di comando, puo' trovare interessante lo sviluppo di un'interfaccia grafica per aggiungere comfort e gradevolezza ai propri programmi.
Per quanto riguarda i miei lavori precedenti in ambiente .NET rimando al mio sito zdomjus.net63.net, che non ho più aggiornato  da diversi anni ma contiene ancora qualcosina di interessante.
Anticipo che per diverse "puntate" sviluppero' un piccolo progetto che ha a che fare con la redazione dinamica di un programma per fare temi astrologici natali, una mia antica passione cui ho dedicato, nel corso degli anni, il mio lavoro di programmatore, da un piccolo software che girava sul Commodore 64 (anni 1986-1988) ad un programma in QuickBasic nel 1995 e oggi un programma completo in linguaggio Python, utilizzabile in ambiente Linux e spero anche Windows appena riesco a compilare le routine di calcolo astronomico per questa piattaforma. Gli elementi di base che utilizzero' saranno

  1. linguaggio Python  
  2. librerie Tkinter e  ttk
  3. routine di calcolo astronomico Swiss Ephemeris nella versione di porting per Python pyswisseph
  4. libreria pytz per il riconoscimento automatico delle timezone riferite alle località del mondo per cui viene eletto l'oroscopo
  5. libreria sqlite3 per la gestione di un database di località mondiali derivate dal sito http://www.geonames.org/export/
Licenze d'uso: 


  • il linguaggio Python e le librerie collegate sono in licenza d'uso gratuito GPL-simile, rilasciata dalla Python Software Foundation per utilizzo non commerciale
  • le Swiss Ephemeris, routine di altissima precisione in linguaggio C, prodotte dalla società svizzera Astrodienst AG sono  soggette, da parte dei suoi autori, alla GNU public license version 2 or later, per utilizzo non commerciale.
  • il porting in Python delle suddette librerie, a cura di Stanislas Marquis <stnsls@gmail.com> è soggetto alle stesse licenze, GPL e commerciale, delle librerie originarie
  • la libreria pytz, che mette a disposizione del programmatore il ricco Olson timezone database, è rilasciata secondo la MIT license e la  Zope Public License, Version 2.1 (ZPL).
  • la libreria sqlite3 è nel public domain, il porting della stessa è nella libreria standard di Python
  • per quanto riguarda la versione di Python che uso nel progetto, al momento uso la versione 2.7.3. Penso che trasferire il progetto di cui sopra nella versione 3.3 non sia affatto difficile, ma, non usandola ancora, non ne parlo per mancanza di esperienza.
Sono naturalmente interessato ad avere contributi dai lettori. I commenti sono graditi, purchè seguano le regole di una buona netiquette. Osservazioni critiche, contributi originali e ridistribuzioni del progetto sono graditi. Non ho ancora trasferito i file in GitHub, ma lo faro' non appena il numero di pagine del blog sarà consistente. Grazie in anticipo per chiunque vorrà contribuire.

domenico mustara 
zdomjus60@XcancellaXgmail.com


No comments:

Post a Comment

How to create a virtual linux machine with qemu under Debian or Ubuntu with near native graphics performance

It's been a long time since my latest post. I know, I'm lazy. But every now and then I like to publish something that other people c...