Levysoft
  • Home
  • Portfolio
  • WordPress Plugin
  • Contattami

Dal 2004 il blog di Antonio Troise

RSS FeedTwitterFacebook
Lug 2 2018

UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux

Posted by Antonio Troise
Tweet

Introduzione

Conosco UltraEdit dalla release 15 e già dieci anni fa su Windows era un must, l’editor per eccellenza per programmare, soprattutto quando dovevo editare in remoto via ftp. Ma ancora oggi, giunto alla release 25, il software risulta essere fresco, aggiornato e al passo con i tempi, oltre ad essere anche multipiattaforma perchè disponibile, con la stessa licenza, anche per i sistemi operativi Mac OS e Linux, risultando, di fatto, una delle scelte migliori anche rispetto a software commerciali o gratuiti.
Creato nel 1994 dal fondatore della IDM Computer Solutions, Ian D. Mead, negli anni ha vinto numerosi premi e riconoscimenti di riviste specialistiche.

Caratteristiche

UltraEdit è un editor basato sun una architettura nativa a 64 bit e, tra le sue caratteristiche, quello che ho sempre preferito e non ho mai ritrovato in nessun altro software commerciale o gratuito (come Notepad++, Visual Studio Code, Atom e Sublime Text) è la sua perfetta integrazione e accesso a sistemi remoti tramite i protocolli SSH, Telnet, FTP e SFTP, oltre ad una buona suite per la creazione e gestione di macro per automatizzare il lavoro. Infine con la stessa licenza di Ultraedit è inclusa in bundle anche la licenza per UltraCompare Professional, un programma (anch’esso multipiattaforma per Windows, Mac e Linux) che permette di analizzare e comparare le differenze file di testo alla volta (anche grandi file che altri programma si rifiutano di elaborare), intere directory ma anche pacchetti Zip, Rar e Jar oltre che a file Word, Excel, CSV e PDF, il tutto perfettamente integrato nella suite di UltraEdit.

Ultraedit permette, al primo avvio (ma anche in seguito) di scegliere tra diversi temi, tra cui una tipologia scura di default (Slate o Charcoal) e una tipologia chiara (Classic e Sterling), e di settore il proprio layout preferito (Balanced, Lean, Clean, Multi-window). Altri temi personalizzati sono disponibili su questa pagina

Su schermi grandi è certamente possibile adottare il complesso layout Multi-window che, oltre al consono editor di testo, permette di visualizzare diverse finestre nella stessa schermata, come la vista dei File, la minimappa del proprio file (funzione utilissima per i programmatori per spostarsi in file di grandi dimensioni, e ultimamente ripresa anche da altri editor come SublimeText e Atom) e una console in SSH/Telnet sempre in vista magari per testare subito il proprio script in Python.

Tra le tante caratteristiche avanzate troviamo:

  • la Multi-Selezione, che permette di selezionare parti multiple di testo ed agire su di esse modificandole simultaneamente, velocizzando di fatto l’editing

  • la Selezione per Colonne (non disponibile nel caso si abiliti il Ritorno a Capo), molto utile quando si devono modificare intere sezioni di codice simile poste su righe diverse ma presente nello stesso numero di colonne. Anche qui la possibilità di compiere questa operazione una sola volta velocizza di molto il flusso di lavoro.

  • Gestione di file di grandi dimensioni (anche oltre i canonici 4GB), funzione molto comoda per modificare grandi database o file di log, senza alcun problema di performance e senza temere il crash dell’applicativo per mancanza di risorse di memoria.
  • supporto avanzato del Syntax Highlighting per i più comuni linguaggi di programmazione con la possibilità di customizzarli o crearne di nuovi attraverso gli ‘wordfile’ (disponibili anche qui)
  • supporto all’Auto-Closing dei tag XML e HTML
  • Smart Templates per l’auto completamento del codice per tutti i principali linguaggi di programmazione. Un database più completo è possibile scaricarlo qui.
  • Editing e Validazione di file Xml attraverso la possibilità di visualizzare una vista ad albero dei tag

  • Ordinamento dei dati contenuti nei file, molto comodo se si caricano file CSV/TSV con la possibilità di scegliere la colonna da ordinare e il tipo (testuale o numerico)

  • Creazione e gestione di Macro per automatizzare il lavoro attraverso il linguaggio di scripting Javascript 1.7. Le macro è possibile registrarle (un po’ come fa Excel) o programmarle in base alle proprie esigenze.

    In ogni caso qui è possibile trovare un breve tutorial e degli esempi di applicazione delle macro, tra cui un ottimo script che permette di inserire un header di template di intestazione per gli script

  • dizionari in diverse lingue per il controllo ortografico del testo inserito

Conclusioni

Tra tutte le funzioni di Ultraedit che personalmente preferisco mi piace citarne una: la modifica remota dei file via FTP/SFTP, forse forti dello sviluppo decennale di un altro loro client UltraFTP. In tutti gli editor di testo per Windows sopracitati non è mai disponibile di default e, anche se presente attraverso dei plugin, non è mai di facile implementazione e raggiungibile con un solo click. E’ vero che con l’abitudine tutto può sembrare semplice, ma avere sempre a disposizione un tasto per aprire la connessione FTP/SFTP verso il proprio server di sviluppo non è cosa da poco.

La versione da me analizzata è quella per Windows, ma devo dire che la versione per Mac anche se presente da meno anni risulta comunque completa quanto quella della sua controparte per PC.

Dove trovarla

UltraEdit

UltraEdit per Windows/Mac OS/Linux (comprensivo anche di UltraCompare Professional e di 3 licenze da usare in qualsiasi combinazione di piattaforme) è disponibile per l’acquisto direttamente sul sito del produttore a questo link, al prezzo di 99.95$ (è comunque possibile scaricare una versione valida 30 giorni per testare tutte le funzionalità prima di decidere per l’acquisto).

Per i più esigenti e per i professionisti esiste anche un vantaggioso abbonamento annuale All Access di 79.95$ l’anno per avere tutta la suite offerta da IDM (risparmiando, almeno per il primo anno, l’85% sull’acquisto delle singole licenze ) con software come, oltre al già noto Ultraedit e UltraComprare, anche UEStudio, UltraFTP e Suites.

Tag:editor, programmazione, recensione, Windows
CONTINUE READING >
4 comments
Mar 10 2018

Codeanywhere: editor online elegante e veloce con la creazione di macchine virtuali

Posted by Antonio Troise
Tweet

Codeanywhere più che un editor di codice online è un vero e proprio ambiente di sviluppo avanzato ed elegante, che vi permetterà di collegarvi a vostri server da qualsiasi postazione (essendo una Web App è sufficiente un browser) e da qualsiasi dispositivo mobile (con la relativa app per iOS e Android).
Io l’ho provato e sono rimasto piacevolmente meravigliato dall’estrema velocità e fluidità della interfaccia su browser che per molti aspetti non si differenzia dalle più blasonate applicazioni desktop.

Caratteristiche

CodeAnyWhere è un editor davvero semplice da comprendere (anche se l’interfaccia non è localizzata in italiano) e completo dato che supporta nativamente fino a 75 linguaggi di programmazione (gestendo agevolmente l’auto-completamento del codice) e consente le connessioni ai server di tipo FTP, SFTP e FTPS, oltre che a poter collegare il vostro account a servizi di file hosting come Dropbox, Google Drive, OneDrive, ma anche a repository di Github e BitBucket o a servizi di web hosting come Amazon S3 e Digital Ocean, tutti rapidamente configurabili da una comoda finestra di Connection Wizard.

Non è da sottovalutare neanche la possibilità di accedere via terminale in SSH per gestire il proprio server. Nonostante sia tutto gestito via browser devo dire che la latenza è davvero minima e trascurabile.

L’interfaccia di Codeanywhere offre tutte le caratteristiche di un classico editor, oltre a quelle più avanzate come la selezione verticale del testo, un tasto Beautify solo per JavaScript, HTML e CSS, e una anteprima di tutto il codice in una colonna verticale sulla destra come Sublime Text in modo da spostarsi molto rapidamente da una sezione all’altra del proprio programma nel caso questo, come capita spesso, sia molto lungo.

Ovviamente è possibile aprire i file in Tabs in modo da poter navigare nei files da noi aperti e di chiuderli con sul semplice click sulla x di fianco al nome.

Container

Ma la cosa che secondo me rende unico questo editor e che gli da un plus non indifferente per testare il proprio codice al volo su diverse piattaforme, è quello di poter creare ad hoc un container con preinstallato dei servizi. La tecnologia usata è quella di uno dei sistemi più famosi per la creazione di ambienti virtuali in Linux, OpenVZ, con un futuro supporto a Docker.

Con un paio di click è possibile creare una macchina virtuale portabile pronta all’uso (disponibile ovunque e su qualunque dispositivo), con ambienti di sviluppo pre-costruiti come PHP, WordPress, Node.JS, Ruby e tanti altri. Sarà, infatti, sufficiente selezionare il linguaggio con cui si intende sviluppare ed il Sistema Operativo preferito (a scelta tra Ubuntu 11.04 o CentOS 6.5), cliccare su “Create” e attendere 15 secondi ed il gioco è fatto!

Appena il container desiderato è stato creato verrà aperto immediatamente un terminale con accesso SSH all’istanza virtuale appena generata e un file Readme con i dati principali del container, come l’indirizzo web a cui l’istanza è disponibile, lo spazio disco disponibile e la RAM. Questi ultimi variano in base al pacchetto che sia ha a disposizione. La versione Free permette, per esempio, la creazione di una sola istanza virtuale con 256 MB di RAM e 2 GB di HDD, ma non permette, per esempio, l’opzione Always ON, ovvero la possibilità di lasciare sempre accesa l’istanza virtuale invece che chiuderla ogni volta che smettiamo di lavorare, disponibile solo dal pacchetto Freelancer in poi.

Come si intuisce dal menu visibile cliccando col tasto desto sul Container, si hanno a disposizione molte possibilità di azione, come il suo restart o spegnimento, l’accesso via SSH, la sua configurazione o la possibilità di creare un Custom Stack. Avendo a disposizione più Containers in un singolo Progetto è possibile avere la Container Orchestration, ovvero la possibilità di far colloquiare tra loro i vari server virtuali.
Infine, tra i comandi, disponibili anche per l’accesso ai propri server FTP privati, troviamo anche l’Upload e il Download di file, tutto questo sempre da Browser o da App.

Revisioni

Anche senza avere un sistema di versioning nativo, Codeanywhere offre le Revisions, ovvero la possibilità di avere una sorta di cronologia dei vari salvataggi effettuate sui vostri files nel corso del tempo (un po’ come funziona il sistema di revisioni di WordPress). Infatti ogni volta che salvate un file, il sistema creerà automaticamente una revision, di modo che potrete sempre tornare alla versione precedente del file senza aver mai più paura di perdere il proprio lavoro.

La versione Free offre una sola revisione, ma già la versione Freelancer ne offre ben 150 fino ad arrivare alla Business che offre 1000 revisioni.

Conclusioni

In rete esistono tante soluzioni di Editor Online, più o meno performanti, ma nessuna così completa come Codeanywhere: oltre alla interfaccia reattiva che quasi non ci si accorge di non essere in un ambiente locale, la possibilità di creare e distruggere ad hoc istanze virtuale pre-builted anche Always ON, rendono Codeanywhere una piattaforma davvero sublime che ogni programmatore non potrà che adorarla. E così è stato per me. In una unica interfaccia ho tutti i mie siti (con accesso SSH) e i miei progetti ancora in fase di sviluppo sempre a portata di mano su qualsiasi dispositivo mi trovo a dover usare.

Io vi consiglio di dargli una possibilità attivando la versione Free (sarà sempre gratis ma con alcune limitazioni come 1 sola revisione, 1 sola connessione remota e 1 solo Container base e 1 dominio personalizzato) e poi valutare se fare l’upgrade all’abbonamento Starter (2€ al mese, con in più 20 revisioni, 5 connessioni remote, 2 domini personalizzati, ben 10 Container anche Always ON con 512MB di RAM e 5GB di Hard Disk), Freelancer (7$ al mese con 150 revisioni, 50 connessioni remote) fino ad arrivare a quelle Professional (20$ al mese) o Business (40$ al mese) per sviluppi più intensivi magari più adatte per un Team di lavoro.
Vedrete, una volta che provate Codeanywhere, non potete più farne a meno!

Tag:editor, programmazione, recensione, virtual-machine
CONTINUE READING >
0 comments
Mar 18 2015

CodeCombat: un gioco di ruolo online per imparare a programmare

Posted by Antonio Troise
Tweet

Per insegnare la programmazione ai bambini su internet ho trovato due risorse uniche: Scratch e CodeCombat. Se Scratch è estremamente educativo, CodeCombat lo trovo anche davvero divertente e in grado di catturare l’attenzione di tutti.
CodeCombat è un simpatico gioco di ruolo che si gioca online e come tutti i giochi di ruolo avrà una vasta scelta di personaggi da controllare (all’inizio solo due saranno sbloccabili) e la possibilità di assegnargli armi, armature, pozioni, libri etc per potenziare le sue scorribande in questa avventura.

Code Combat - Personaggio

Code Combat – Personaggio

Una volta scelto il personaggio e il linguaggio base di programmazione (io ho scelto Python) possiamo dargli ordini come “cammina a destra” o “attacca Gruk” attraverso delle righe di programmazione da inserire sul lato destro della schermata.

Code Combat - Schema di Gioco

Code Combat – Schema di Gioco

Se all’inizio useremo solo comandi come self.moveRigh() e self.attack("Gruk") messi nella giusta sequenza in modo da completare il livello,

Code Combat - Potenziamenti Stivali

Code Combat – Potenziamenti Stivali

col passare del tempo e avendo cura di potenziare correttamente il personaggio, arriveremo a scrivere codice più complesso come i cicli di loop o l’assegnazione delle variabili come:

enemy = self.findNearestEnemy()
self.attack(enemy)

In CodeCombat vi sono due modalità di gioco: nella modalità Campagna non dovremo fare altre che avanzare con le missioni in modo da comprendere il meccanismo del gioco e al contempo potenziare il proprio personaggio (è possibile anche combattere in ambienti creati da giocatori stessi), mentre nella modalità Multiplayer possiamo sfidare online altri giocatori esperti cone la Arene Multigiocatore

Devo dire che questo gioco diverte grandi e piccoli programmatori e lo consiglio a quanti si vogliano avvicinare al mondo della programmazione ma anche a tutti i programmatori, che vogliano passare del tempo divertendosi ripassando i costrutti di qualche linguaggio di programmazione.

UPDATE 1: Se vi interessa qualche altro sito per far insegnare la programmazione ai bambini, vi consiglio anche Blockly, oltre che ai corsi di programmazione come quelli di Mastercoder e CoderDojo Roma.

UPDATE 2: In paesi come la Gran Bretagna, la Finlandia e l’Estonia, l’ora di programmazione è ormai una materia che a scuola si studia come la storia o la grammatica. C’è chi apprende il coding già a 4 anni, nella scuola materna, grazie a strumenti come KIBO (per bambini dai 4 ai 7 anni, è un sistema che funziona con piccoli blocchi di legno con degli stickers colorati in cui ogni cubo rappresenta un simbolo preciso che dice al robot cosa fare), giocattoli come Vortex (un dispositivo con ruote che sembra un casco da motocicletta appiattito), Dash (un tetraedro di sfere che, oltre a muoversi in base ai comandi, può anche suonare come un carillon), Hackaball (è una palla fatta di gomma e silicone di 10 centimetri di diametro. Al suo interno ha luci di vario tipo, un sensore di movimento, un microfono e uno speaker), e a linguaggi come Scratch e Scratch Jr (sviluppati dal MIT), Blockly (completamente open source), Hopscotch e Lego WeDo.
via http://ischool.startupitalia.eu/37656/coding/coding-scratch-baby/

UPDATE 3: Una collaborazione fra Microsoft ed il sito Code.org ha dato vita a una creazione decisamente inusuale, ma altrettanto interessante: un tutorial per imparare a programmare giocando a Minecraft, dedicato a studenti ed insegnanti di programmazione. Il sistema, già disponibile in diverse lingue (fra le quali, fortunatamente, figura l’italiano), guida infatti l’utente attraverso le basi della programmazione utilizzando personaggi e meccaniche del popolare gioco, esortando gli studenti ad approfondire gli schemi che stanno alla base di un comune programma: essi troveranno infatti sulla propria strada una serie di sfide e aree di “sperimentazione libera”, nelle quali potranno combinare fra loro “blocchi” di azioni, generando così il codice java corrispondente ed apprendendo i concetti basilari della programmazione. Il corso può essere seguito da tutti gli utenti dai 6 anni in su a questo indirizzo: https://code.org/mc

Microsoft Minecraft Code

via http://www.smartworld.it/informatica/imparare-a-programmare-con-minecraft.html
UPDATE 4: Il Sito Code.org a decine di applicazioni dedicate ai bambini per insegnare loro a programmare in maniera divertente sullo stile di Scratch grazie a personaggi divertenti e affascinanti come quelli Frozen, Guerre Stellari, Flappy, Angry Birds, Disney Infinity… è un modo meraviglioso di essere bambini in questa era.

UPDATE 5: A Natale 2015 Google rilascia SantaTracker e qui possiamo trovare una sezione per insegnare ad un elfo i passi di danza attraverso la programmazione a blocchi come già ci insegna Scratch

UPDATE 6: Il 13 Giugno 2016 Apple ha presentato Swift Playgrounds, prevista per l’autunno, una nuova app dedicata ai più giovani che trasforma l’apprendimento del coding in un’attività interessante, semplice e, soprattutto divertente, creata per incoraggiare studenti e programmatori alle prime armi a imparare a programmare con Swift.

UPDATE 7: Human Resource Machine è un un puzzle game il cui gameplay è una riduzione in videogioco di alcuni concetti essenziali della programmazione. Il protagonista è un impiegato di una grande azienda, la Tomorrow Corporation e il punto di partenza è sempre un nastro trasportatore sulla sinistra (inbox) da cui prendere dei valori che vanno portati al nastro trasportatore sulla destra (outbox). Se intuitivamente il risultato è ovvio e chiunque può arrivarci, tradurre il tutto in un linguaggio comprensibile dalla macchina, usare cioè le istruzioni che ci vengono fornite per costruire un sistema che ci porti al risultato, può rivelarsi un compito molto complesso. Ogni livello ammette più soluzioni, ma dopo averlo concluso il nostro codice viene giudicato in base alla brevità e alla pulizia

UPDATE 8: […] metà dei posti di lavoro al top per retribuzione (dai 57mila dollari in su l’anno) richiede almeno le nozioni di base dei linguaggi di programmazione. In particolare SQL, Java, JavaScript, C# e Python. […] è fondamentale almeno per sei professioni specifiche: operatori IT, analisti di dati, scienziati, ingegneri, artisti e designer. […] Saper fare di “coding” significa anche guadagnare di più. […] significa automatizzare lavori ripetitivi e trovare soluzioni a problemi ritenuti impossibili da risolvere. E’ la nuova alfabetizzazione: il “coding” diventerà presto un requisito di base della formazione, proprio come oggi lo è il saper leggere e scrivere.
via Nova

UPDATE 9: Lego Boost

UPDATE 10: Blocky, nuovo strumento didattico realizzato da Google che permette di scrivere programmi più o meno semplici semplicemente trascinando e incastrando tra loro blocchi che rappresentano i concetti principali della programmazione.
Ci sono i blocchi Logic in cui si trovano gli if e i confronti, i blocchi per le operazioni matematiche, quelli per i cicli, quelli per le variabili e così via.
Combinando e personalizzando questi blocchi è possibile creare programmi più o meno immediati e, soprattuto, familiarizzare con i concetti elementari per la programmazione. Ma Blocky non si interfaccia solo con Javascript: questo tool è in grado di generare codice anche in Dart, Lua, PHP, Python e altri linguaggi; inoltre, Google ha pubblicato anche le librerie che permettono di integrare e utilizzare Blocky anche in applicazioni Android e iOS, oltre che web.
via MobileWorld

UPDATE 11: Thunkable vi permetterà di creare gratuitamente app Android e iOS dal vostro browser, senza una riga di codice. Lo segnalo perché la programmazione è realizzata tramite la stessa logica aschemi a blocchi di Scratch o simili. Una volta terminato lo sviluppo, si potrà eseguire l’upload sul Play Store, o inviare l’apk tramite email; il supporto ad iOS, al momento assente, è previsto a breve.

UPDATE 12: CodeGuppy sia adulti che bambini posso imparare step-by-step la programmazione Javascript attraverso dei tutorial anche molto complessi ma comunque divertenti.

UPDATE 13: CryptoZombies è una scuola interattiva gratuita che insegna a costruire giochi con Ethereum attraverso lezioni step-by-step. Forse non proprio adatto ai bambini ma la grafica e l’idea forse  farà avvicinare anche qualche adulto curioso al linguaggio di programmazione Solidity usato per creare Smart Contract e una Blockchain privata per la piattaforma Ethereum.

UPDATE 14: PictoBlox di STEMpedia permette la programmazione prototipizzata a blocchi per bambini tipo Scratch ma con la possibilità di abbinarla anche a dei progetti Arduino con sensori e attuatori.

UPDATE 15: Con Lego e Unity è possibile creare un mini gioco 3D in salsa mattoncini LEGO in meno di un’ora, il tutto senza scrivere una riga di codice. Infatti sarà sufficiente seguire i tutorial nell’editor di Unity: gli speciali Behaviour Bricks Lego proporranno azioni di gioco già integrate e ci sono personaggi minifig pronti per l’uso. In questo modo è possibile scegliere i personaggi, creare livelli di gioco in stile platform, aggiungere ostacoli e così via. Sarà possibile aggiungere Mod creative e temi di Asset Store che sbloccano maggiori esperienze. Al giocatore sarà dato un pacchetto Knight’s Kingdom dopo aver semplicemente condiviso il proprio gioco, mentre una Danger Zone è disponibile dopo aver partecipato a una Game Jam prevista per il 19 novembre 2020.

UPDATE 16: Ora potete anche imparare a programmare videogiochi grazie ad uno di questi programmi che semplificano di molto il processo di creazione giochi 2D e 3D.

  • Buildbox
  • Godot Engine
  • Roblox Studio
  • GDevelop
  • LÖVE

Altri simili ma più avanzati:

  • Construct3
  • Sploder
  • Adventure Game Studio
  • Torque 2D/3D
  • Unreal Development Kit (versione gratuita)
  • Unity (versione gratuita) da affiancare a Blender per la modellazione 3D

UPDATE 17: Nel 2015 i possessori di Nintendo Wii U e 3DS avevano accolto con grande clamore Super Mario Maker che permetteva di realizzare il proprio livello di Super Mario Bros., personalizzandolo con oggetti e nemici estrapolati dagli episodi più popolari del franchise. Oggi è possibile provare questo gioco nella sua versione per Nintendo Switch, Super Mario Maker 2.
Pochi anni dopo, nel 2018, ha fatto il debutto Nintendo Labo, un kit che unisce hardware e software per insegnare le basi della programmazione e del design e permette di dar vita a platform, puzzle game, sparatutto a scorrimento orizzontale etc.
Nel 2021 viene rilasciato il nuovo gioco di Nintendo che vi insegna a sviluppare videogiochi, Game Builder Garage, che consente agli utenti di Switch di apprendere le basi del game design e di sfruttare le conoscenze acquisite per realizzare la propria opera, sia essa un platform in 3D o un simulatore di corse grazie alla possibilità di seguire sette lezioni per creare altrettanti giochi senza alcuna difficoltà, cogliendo quest’occasione per assimilare le principali nozioni.

UPDATE 18: In Italia, a partire da settembre 2014 quest’iniziativa dell’Ora del Codice è stata proposta a tutte le scuole nell’ambito del progetto Programma il Futuro, con cadenza annuale (l’ultima volta è stata dal 7 al 13 dicembre 2020).
L’Ora del Codice, in inglese The Hour of Code, è un’iniziativa nata negli Stati Uniti nel 2013 per far sì che ogni studente, in ogni scuola del mondo, svolga almeno un’ora di programmazione.
L’obiettivo non è quello quello di far diventare tutti dei programmatori informatici, ma di diffondere conoscenze scientifiche di base per la comprensione della moderna società digitale. Capire i principi alla base del funzionamento dei sistemi e della tecnologia informatica è altrettanto importante del capire come funzionano l’elettricità o la cellula.
È necessario che gli studenti apprendano questa cultura scientifica qualunque sia il lavoro che desiderano fare da grandi: medici, avvocati, giornalisti, imprenditori, amministratori, politici, e così via. Inoltre, la conoscenza dei concetti fondamentali dell’informatica aiuta a sviluppare la capacità di risoluzione di problemi e la creatività.

Tag:codecombat, Giochi, minecraft, programmazione, Python
CONTINUE READING >
0 comments
Feb 16 2011

Codemotion: l’evento gratuito aperto a tutti i linguaggi e tecnologie

Posted by Antonio Troise
Tweet

Il 5 Marzo 2011 a Roma, presso il Dipartimento di Informatica e Automazione dell’Università Roma Tre, si terrà il Codemotion, un evento gratuito aperto a tutti i programmatori, una vera e propria maratona tecnica che prevede più di 65 interventi distribuiti in 7 sessioni parallele. I talk non pretendono di insegnare, ma di rendere più facile il successivo processo di imparare, regalando ai partecipanti, ad ogni intervento, nuove emozioni con lo scopo di stimolare la comunità a creare software migliori.

Il Codemotion è l’evoluzione del Javaday Roma, che da questa edizione 2011 si apre saggiamente a tutti i linguaggi e tecnologie, spaziando da Html5, Twitter, Database No-Sql, sviluppo di videogiochi, creazione di applicazioni mobile, comparazione e nuovi linguaggi. Si parlerà anche di Android, Sistemi Operativi, architetture.

Codemotion

Il programma del Codemotion è stato realizzato con una Call For Paper pubblica e qui trovate il poderoso programma: talmente sono tanti gli argomenti, che ho fatto davvero molta fatica a trovare un tracklist ideale degli eventi da seguire senza rischiare di perdere nulla di interessante.

Ci vediamo al Codemotion!

Tag:html 5, programmazione
CONTINUE READING >
0 comments
Gen 26 2009

Come programmare Arduino, la scheda open source di input e output made in Italy: tutorial base in italiano e la community per la realizzazione di applicazioni domotiche

Posted by Antonio Troise
Tweet

Quando si parla di Open Source, non si fa riferimento solo al software ma, in molti casi, anche all’hardware sviluppato in maniera aperta e collaborativa. Tra questi progetti, spicca un progetto interessante made in Italy: Arduino, giunto alla release Duemilanove, che altro non è che una scheda open source di input-ouput, totalmente programmabile ed hackerabile grazie ad semplice ambiente di sviluppo che implementa il linguaggio Processing/Wiring. Il suo uso più consolidato è quello di gestire e programmare luci, sensori, suoni delle installazioni artistiche (per creare oggetti o ambienti interattivi), ma può benissimo essere esteso anche a progetti basati sul controllo di periferiche dal computer. Infatti, è possibile caricare in memoria un software, per registrare stimoli dall’esterno e inviare comandi a una serie infinita di motori, luci ed attuatori di ogni genere. Arduino, il cui nome deriva dall’assonanza con la parola hardware (ma, in realtà, deriva anche dal nome del bar dell’Istituto Design Institute di Ivrea in cui era docente l’ideatore del progetto Massimo Banzi), è, in pratica, uno strumento che permette di costruire computer in grado di interagire con l’ambiente in cui si trova.

Arduino
Tutorial in italiano

Se vi interessa questo progetto, allora non potete fare a meno di seguire gli interessanti tutorial su come programmare Arduino di Boliboop. Infatti, partendo dall’acquisto della scheda Arduino Duemilanove (con funzione di autoreset, power connector esteso, led a bordo, protezione da sovracorrenti su USB) già assemblata, testata e con bootloader pre-caricato (al costo di 50$, ma era possibile anche autocostruirselo con lo schema messo a disposizione qui), ha scaricato e installato la piattaforma di programmazione, ovvero il software Arduino (comprensivo di driver per la periferica USB), disponibile per Mac OS X, Linux e Windows e ha iniziato a programmare, partendo dalle basi, la scheda hardware.

Arduino

Nonostante il progetto sia italiano, solo una parte delle guide presenti sul sito ufficiale sono nella nostra madre lingua. In particolare, la parte degli esempi di programmazione è scritta interamente in inglese. Per cui, le guide messe a disposizione da Boliboop, possono essere un valido aiuto per imparare a programmare Arduino da zero, visto che gli articoli sono molto chiari ed esemplificativi. Spero che in futuro, siano presenti anche dei video per i progetti più complessi che mano a mano verranno realizzati. Vedere in azione Arduino sarebbe davvero interessante (intanto su Youtube sono disponibili molti filmati a riguardo)!

Community italiana per le applicazioni domotiche

Se poi siete ambiziosi e volete andare oltre lo sviluppo casalingo, allora dovete visitare anche Ars Domotica, una community italiana che raccoglie decine di persone desiderose di definire un protocollo open e standard per la realizzazione di applicazioni domotiche basate su Arduino (tra le idee anche il controllo via internet, presumo con lo Shield Ethernet, un modulo che permette ad Arduino di aprire connessioni con host Internet e di comportarsi come un semplice server web). Il sito è nato da poco, ed ha ancora poche guide e due video, ma promette bene e sono sicuro che, presto se ne sentirà parlare.

Arduino
Per conoscere meglio l’ideatore italiano di Arduino

Per finire, non mi resta che segnalarvi, a chi avesse voglia di approfondire ancora le proprie conoscenze su Arduino, anche il libro scritto dall’ideatore del progetto Massimo Banzi ed edito da O’Reilly, uscito negli USA (e quindi tutto in inglese) con il titolo “Getting Started with Arduino”.

Arduino Book

Molto interessante anche il blog Tinker.it e l’intervista in italiano a Massimo Banzi di Marco Mancuso per Digicult, che mette in luce diversi aspetti interessanti su Arduino.

Conclusioni

Insomma, per citare l’intervista di Digicult, Arduino è uno di quei rarissimi esempi in cui la creatività Italiana e l’intelletto scientifico che la sottende, è riuscita inequivocabilmente ad affrancarsi dalla dominazione della produzione hardware e software internazionale. E allora perché non incoraggiarla e promuoverla?

Tag:arduino, hack, opensource, programmazione, Software
CONTINUE READING >
6 comments
Ott 15 2008

Dopo la rimozione della clausola di segretezza sull’SDK iPhone in arrivo libri, video tutorial e corsi online. Il successo dell’App Store e elenco dei siti per imparare a programmare l’iPhone

Posted by Antonio Troise
Tweet

iPhone SDK Fino a qualche tempo, per rispettare i vincoli di segretezza dell’SDK dell’iPhone, era impossibile pubblicare tutorial o libri su come programmare su questo dispositivo, tanto che l’editore The Pragmatic Programmers fu costretto cancellare la pubblicazione di un libro sulla programmazione su iPhone.
Dovete sapere, però, che questo genere di vincolo è cosa molto comune e diffuso nel settore informatico, ma, di solito, subito dopo il rilascio del prodotto, tale vincolo viene rimosso proprio per permettere la naturale diffusione di conoscenza del prodotto. Il perdurare di questo vincolo di segretezza, quindi, ha prodotto, su siti come Amazon, una quantità notevole di libri relativi alla programmazione su iPhone in pre-ordine.

Censura e clausole di segretezza

Oltre a questo problema si aggiunse anche la forte censura di Apple per applicazioni che non superavano il test di validazione o replicavano (creando confusione tra gli utenti) le funzioni native dell’iPhone: sono stati casi eclatanti applicativi come NetShare (che permetteva il tethering, ovvero l’uso di iPhone come modem per collegarsi in rete con il pc), Podcaster (per la gestione e il download dei podcast direttamente dal proprio iPhone) e MailWrangler (una utility che fa il login automatico sulla webmail di Google). Se siete interessati, qui trovate la lista aggiornata di tutte le applicazioni eliminate dall’AppStore per volontà della Apple e senza far sapere nulla agli sviluppatori.

Il fondo Apple lo toccò quando, a seguito delle lamentele di tutti i programmatori a cui erano stati rifiutati gli applicativi (su cui avevano lavorato anche per mesi), Apple ebbe l’ardire di ricordare ai programmatori che anche le lettere di rifiuto di Apple ricadevano sotto il “non disclosure agreement”, e quindi non potevano in nessun caso essere pubblicate.

iPhone SDK
App Store: l’Eldorado degli sviluppatori e di Apple

E’ anche vero, però, che il nuovo modello di vendita delle applicazioni nell’App Store, sembrava quasi essere la nuova Eldorado degli sviluppatori di tutto il mondo: a fronte di una visibilità mondiale di iTunes e di una banda illimitata per la gestione del download degli applicativi e dei relativi update, il programmatore poteva guadagnare il 70% del costo dell’applicazione, e ciò si tramutò, per molti, in guadagni stratosferici: da 2.000$ al giorno per la sviluppatrice di 2 Across (un gioco di cruciverba), a 250.000$ in 60 giorni a fronte di un costo per copia di 2,39 €, per un gioco a incastri come Trism.

Così, da quando Apple inaugurò l’App Store su iTunes Store, sono stati scaricati oltre 60 milioni di programmi per il cellulare, vendendo applicazioni per un milione di dollari al giorno solo grazie a App Store. Considerando che Cupertino ha una percentuale pari al 30% sulle somme ricavate dalle vendite delle applicazioni, mentre il 70% resta ai rispettivi sviluppatori, potete capire come sia facile considerare l’App Store una Eldorado per i programmatori!

Tutto ciò, abbinato al successo planetario degli iPhone 3G e all’incremento continuo delle vendite dei Mac, portò il valore di mercato di Apple al 3° posto (AAPL $157,012,662,240), superando quello di Google che cadeva al 4° posto (GOOG $156,392,862,560). E pensare che il CEO di DELL, durante la crisi di Apple degli anni ‘90, suggerì di liquidare la società e dare i soldi agli azionisti.

La rimozione della clausola NDA

Sarà stato l’enorme successo delle vendite su AppStore o, semplicemente, le troppe critiche provenienti da programmatori e giornalisti, che finalmente, la strategia della Apple iniziò a cambiare rotta, tanto che la società decise di rimuovere le clausole di segretezza NDA (non disclosure agreement) dal contratto di sviluppo dell’iPhone. Tramite un annuncio ufficiale nella sezione dedicata agli sviluppatori, l’azienda rende noto che veniva rilasciato un nuovo contratto privo delle clausole NDA per tutte le applicazioni già rilasciate. Nella nota, Apple si è giustificò dichiarando di aver imposto così stringenti vincoli al fine di proteggere, unitamente ai brevetti, le innovazioni dell’azienda, riconoscendo nelle NDA una seria minaccia per gli sviluppatori.

I libri per programmare con l’iPhone

iPhone Developer’s Cookbook, The: Building Applications with the iPhone SDK Da questo punto in poi, la strada è stata tutta in discesa per gli sviluppatori poiché, finalmente, è stato possibile pubblicare libri e condividere informazioni sulle tecnologie di iPhone al fine di agevolare la condivisione delle conoscenze sulla programmazione di questo dispositivo mobile. In breve tempo sono iniziati ad apparire i primi libri sullo sviluppo di applicazioni per iPhone e iPod Touch. Tra questi, quelli probabilmente più attesi, sono stati, entrambi in lingua inglese, “iPhone SDK Development”, realizzato da The Pragmatic Programmers (acquistabile qui in formato elettronico o cartaceo) e “iPhone Developer’s Cookbook, The: Building Applications with the iPhone SDK”, di Erica Sadun, (acquistabile qui sia in formato elettronico che cartaceo).
Un altro libro interessante è anche: Beginning iPhone Development: Exploring the iPhone SDK, con tanto di codice sorgente degli esempi da scaricare e un capitolo da leggere.

Quindi, l’editore The Pragmatic Programmers, pubblicò anche un interessante video introduttivo gratuito, della durata di 22 minuti, liberamente scaricabile qui, sulla programmazione con l’iPhone e mettendo a pagamento i successivi video più specifici.

Apple’s iPhone Tech Talk World Tour

Infine, il 9 Ottobre 2008, Apple lanciò in grande stile l’Apple’s iPhone Tech Talk World Tour, una sorta di seminario speciale made in Cupertino che avrà una tappa nelle 24 città più importanti del mondo (tra cui, il 19 Novembre anche Roma per l’Italia), con lo scopo di fornire le basi per quanto riguarda la programmazione con XCode e quindi su come creare Applicazioni per iPhone. Come si legge dalle note, sembra che i corsi siano rivolti non soltanto ai veterani, ma anche ai novizi ed ai professionisti dell’IT. La partecipazione è gratuita, ma il numero di posti è limitato (io mi sono iscritto nella speranza che mi accettino), ed è dedicata soltanto alle persone che hanno un account da developer sul sito Apple.

Apple
Siti che pubblicando tutorial per programmare con iPhone

Se desiderate imparare a programmare l’iPhone, magari per andare preparati al seminario Apple di Roma o semplicemente per guadagnare qualcosina dalla vendita dei vostri applicativi, vi consiglio, oltre che a scaricare l’SDK, anche un paio di siti interessanti. Il primo è di Apps Amuck che ha lanciato un’iniziativa unica: per 31 giorni pubblicherà un tutorial giornaliero (comprensivo anche di esempio pratico funzionante) in cui illustrerà un progetto per piattaforma iPhone e iPod Touch. Ognuno dei mini progetti illustra una diversa funzione presente nell’SDK, mostrando anche tecnologie che normalmente non vengono trattate dai libri.
Il secondo sito che voglio suggerirvi è, invece, la migliore proposta italiana per sviluppare con l’SDK dell’iPhone: iPhone and Go (prima residente su piattaforma WordPress), un blog che, giorno dopo giorno, vi insegna a programmare per questa affascinante piattaforma Touch.

Altri riferimenti utili per programmare con XCode sono, senza dubbio, XCode Italia, la comunità italiana per gli sviluppatori di XCode (e quindi, non solo per iPhone, ma per tutto l’ambiente di programmazione di Mac OS X).

Per finire, se amate gli screencast, allora vi suggerisco iPhone Development Central Website, un sito che, tramite utili video tutorial in inglese (divisi per tra fasi di apprendimento: Beginner, Intermediate e Advanced), vi spiega come programmare con l’iPhone SDK.

UPDATE: L’Università di Stanford ha iniziato, pochi mesi fa, un corso relativo allo sviluppo delle applicazioni su iPhone, chiamato “iPhone Application Programming”. Da ieri sono disponibili i PDF di questo corso; vi elenco qui le lezioni da scaricare divise per argomentazioni:

Slide :
01-Introduction.pdf
02-ObjectiveC.pdf
03-CustomClasses.pdf
04-ModelViewController.pdf
05-ViewsAnimation.pdf
06-MoreViewsAndAutorelease.pdf
07-ViewControllers.pdf
08-NavigationTabBarControllers.pdf
09-TableViews.pdf
10-Data.pdf
11-Performance.pdf
12-TextInputPresentModal.pdf

Compiti :
Assignment1B.pdf
Assignment1A.pdf
Assignment2A.pdf
Assignment2B.pdf
Assignment2B-Walkthrough.pdf
Assignment3.pdf
AssignmentPresence1.pdf
Presence2Files.zip
AssignmentPresence2.pdf
Presence3Files.zip
AssignmentPresence3.pdf

Progetti d’esempio
ViewsExample.zip
08-MyTabBar.zip
09-MyTableView.zip
09-Scroll.zip
10-MySQLiteTableView.zip
10-MyFlickrTableView.zip
11-LetsMakeAThread.zip
11-ThreadedFlickrTableView.zip

Potete trovare i nuovi aggiornamenti e seguire le lezioni al seguente link.

Tag:amazon, app, app-store, Apple, iPhone, ipod-touch, itunes, Libri, Mobile, NDA, programmatori, programmazione, screencast, sdk, Tutorial, Video
CONTINUE READING >
0 comments
Giu 27 2008

Python può essere considerato il nuovo Basic?

Posted by Antonio Troise
Tweet

Non so voi, ma quando andavo alle scuole superiori, il primo linguaggio di programmazione che ho imparato seriamente, perché lo usavo spesso nei vari esercizi di Sistemi, è stato il Basic. A dire il vero avevo anche iniziato a programmare in Pascal, ma solitamente era usato solamente per imparare i concetti della programmazione, mentre quando dovevo interfacciare un mio programma con qualche progetto elettronico, il Basic era, all’epoca, lo strumento principe (abbinato alla compilazione con Qbasic 4.5). Alla mia professoressa piaceva spesso asserire che lei aveva deciso di farci programmare in Basic, piuttosto che con il potente C o con il complesso e strutturato Java, in quanto, per i nostri scopi didattici, era abbastanza potente e la sua sintassi poteva essere imparata molto velocemente. Se avessimo, invece, dovuto programmare in C, data la sua complessità intrinseca, avremmo dovuto perdere almeno 1 anno affinché tutti lo potessero padroneggiare. Quindi, la scelta, era ricaduta sul pratico e flessibile Basic, perché, dai tempi del Commodore 64, aveva dalla sua la semplicità di programmazione.

Vi ho narrato questi eventi perché recentemente ho letto un interessante articolo che si chiede se il Python potrai mai essere considerato, prima o poi, il degno sostituto del Basic soprattutto nelle scuole: Python is the new BASIC. Secondo l’autore del post è proprio questo giovane linguaggio di programmazione il candidato perfetto, poiché ha una curva di apprendimento gentile, una sintassi facilmente comprensibile e, fattore da non trascurare, la prima frase che ognuno di noi impara a programmare (HELLO WORLD) si scrive, proprio come in Basic, in una sola riga!
Dovete infatti sapere che questo esercizio è per molti il primo impatto alla programmazione, e più semplice risulta essere, e più facilmente ci si avvicina alla comprensione del linguaggio.

Infatti, se in C dovremmo scrivere:

in Java sarebbe:

mentre in Basic è sufficiente scrivere:

e in Python:

Ovviamente il Basic e il Python non sono gli unici linguaggi di programmazione a poter redirigere l’output con una sola riga di comando, ma tra tutti gli altri sono effettivamente tra quelli più potenti e al contempo semplici da imparare.

In realtà, però, Python è anche più potente del Basic, oltre che molto più moderno. Usato da anni da Google e dalla Nasa (e preinstallato in qualsiasi computer con Mac OS X), chi impara a programmare con Python, data la sua scalabilità, può benissimo iniziare semplicemente con un output/input testuale, per poi passare gradualmente ad una programmazione orientata agli oggetti (comunque più semplice e chiara di tanti altri linguaggi), fino ad arrivare ad integrare toolkit GUI come pyglet, pygame, wxPython (non è raro trovare libri che spiegano come programmare i giochi con Python, come “Invent Your Own Computer Games with Python”, distribuito con licenza Creative Commons, che spiega come realizzare giochi in grafica ASCII in meno di 400 righe)

L’autore del post, passa poi in rassegna tutti i più famosi linguaggi di programmazione, dal Visual Basic, PHP, Perl, a Java e Flash, scartandoli tutti per il ruolo di successore del BASIC. Si sofferma però su Ruby, un altro nuovo linguaggio, molto simile a Python e che potrebbe ricadere nella lista dei successori se non fosse che Python ha, almeno per ora, una comunità e una tale vastità di librerie da non essere paragonabile a quella per ora disponibile per Ruby.

Per terminare, vi lascio alla visione di questo simpatico video che mostra la storia del progetto open source Python, dal 1991 quando Guido Van Rossum rilasciò la prima versione del programma ad oggi, riassunto in pochi minuti.


code_swarm – Python from Michael Ogawa on Vimeo.

Il video è stato creato grazie al progetto code_swarm di Federated Media, un software che permette di visualizzare in video tutti i cambiamenti e le modifiche che un software Open Source subisce. Se siete curiosi potete dare una occhiata anche alla storia visuale del famoso webserver Apache.

Tag:basic, java, Javascript, pascal, Php, programmazione, Python, Ruby
CONTINUE READING >
3 comments
Giu 20 2008

Cose è un CamelCase? In quanti modi diversi è possibile scrivere una variabile per renderla leggibile?

Posted by Antonio Troise
Tweet

Se siete soliti fare un salto nei forum o nei blog dei programmatori prima o poi vi imbatterete in questo termine dal gusto arcano: CamelCase. Ma cosa significa?
Il CamelCase è la pratica di scrivere parole composte o frasi unendo tutte le parole tra loro, ma lasciando le loro iniziali maiuscole. Il nome (letteralmente “carattere a cammello“) deriva dai “salti” all’interno di una parola (dato dall’inserimento delle maiuscole che aiutano a distinguere le parole di cui è composta), che fanno venire in mente le gobbe di un cammello.

Naming delle variabili

CamelCase Se qualcuno di voi ha mai programmato allora gli sarà sicuramente venuto in mente questo metodo di scrivere, perché, molto probabilmente, lo avrà usato, del tutto inconsapevolmente, quando avete fatto del “naming” delle variabili, ovvero quando avete dovuto assegnare i nomi alle variabili (a meno che non siete solitii dare dei nomi svincolati dal contesto, come, $a o $pippo o $pluto).

Infatti, tralasciando i cognomi come McCartney e alcuni esempi degli anni ’50 come CinemaScope, il CamelCase è diventato relativamente comune tra i programmatori durante gli anni ’70, per usare più parole per una variabile o un nome di programma, mantenendo comunque la leggibilità. Il motivo per cui questo metodo di scrivere si è diffuso tra i programmatori è dato, principalmente, dal fatto che nelle pratiche di programmazione, gli spazi e i segni d’interpunzione non sono permessi durante l’assegnazione dei nomi delle variabili; è facile capire, quindi, come, per rendere più leggibile e comprensibile il nome di una variabile, sia nata l’esigenza di rendere maiuscole le iniziali di ogni parola di cui è composta (anche se, nel caso specifico, la prima lettera è lasciata minuscola: thisVeryLongName).

Ragioni storiche

Ma perché, allora, non si usa il metodo, altrettanto valido, di separare le parole con un trattino (“-“) o con un underscore (“_”)? La ragione è principalmente storica.
Il CamelCase è stato molto usato dai programmatori Java perché è stata per anni la convenzione ufficiale di Sun per la scrittura dei nomi di classe e di variabile.
Questa pratica contrasta la tradizione del C di unire le sillabe insieme o di segnare le sillabe spezzate con il carattere di underscore.
Per questo motivo, quindi il CamelCase, risulta molto comune in certe community dei linguaggi (inizialmente Pascal; attualmente Java e Visual Basic) e tende ad esser associata alla programmazione orientata agli oggetti.

Quindi, riassumendo, quando un programmatore C vuole scrivere thisverylongname o this_very_long_name, la versione CamelCase di un programmatore Java sarebbe thisVeryLongName.

Per terminare ricordiamo che nella programmazione, il carattere di underscore è spesso usato come prefisso, ovvero è il primo carattere di una variabile: _listingNumber.

In quanti modi diversi è possibile scrivere una parola per renderla leggibile?

Ma quanti altri modi esistono di scrivere una parola o variabile (Letter case)? Ebbene sinora ne ho trovati ben 11 diversi, anche se non tutti possono essere applicati alle variabili. Non c’è nulla di rivoluzionario in queste tecniche e probabilmente le usate tutti i giorni, senza però conoscerne il nome.

Così avremo:

  1. CAPITAL o UPPER CASE: la parola è scritta tutta in maiuscolo

    VARIABILE

  2. lower case: la parola è scritta tutta in minuscolo

    variabile

  3. Start Case: la prima lettera di ogni parola (separate da spazi) di una frase è scritta in maiuscolo:

    This Is A Start Case

  4. Title Case: a differenza dello “Start Case” la prima lettera di ogni parola di una frase è maiuscola mentre le congiunzioni, le preposizioni e gli articoli sono sempre scritti in minuscolo. Un esempio sono i titoli delle canzoni o degli album: su iTunes li vedrete sempre scritti in Title Case.

    This is a Title Case

  5. Capitalization o Capitalisation: la parola ha solo la prima lettera maiuscola (upper case letter) e tutte le altre sono minuscole (lower case letters)

    This is a title case

  6. unicase: sono quelle lettere che non hanno una versione maiuscola e minuscola (presenti per esempio nell’alfabeto Arabico o Ebraico). Un esempio comune è la: @
  7. CamelCase o Medial Capitals: è la pratica di scrivere parole composte o frasi in modo che le parole siano unite tra loro senza spazi o segni di interpunzione ma ogni loro lettera iniziale è maiuscola. Molto usato laddove, specie nelle pratiche di programmazione, gli spazi non sono permessi (e l’uso di “-” e “_” risulta antiestetico)

    nomeVariabileDaAssegnare

  8. Pascal Case: è una pratica di scrittura (della vecchia guardia di programmatori Pascal) che è molto simile al CamelCase, ma si contraddistingue da essa perché anche la prima lettera della parola è maiuscola. E’ per questo che questo metodo è anche conosciuto con il nome di UpperCamelCase

    NomeVariabileDaAssegnare

    Bisogna anche dire che non tutti sono soliti fare distinzione tra CamelCase e Pascal Case, raggruppando le due categorie nella sola CamelCase.

  9. embedded_underscore: ogni segni di interpunzione o spazio è eliminato ed è sostituito dal carattere di underscore (“_”). Di solito le lettere o sono tutte maiuscole (UPPER_CASE_EMBEDDED_UNDERSCORE)

    NOME_VARIABILE_DA_ASSEGNARE

    o tutte minuscole (lower_case_embedded_underscore)

    nome_variabile_da_assegnare

    ma non mancano casi in cui si trovano scritti in forma mista.

    Nome_Variabile_Da_Assegnare

  10. StudlyCaps o StUdLyCaPs, o ancora StickyCaps: è una variazione del CamelCase in cui le ciascuna lettera di una o più parole, sono alternativamente scritte in maiuscolo e minuscolo. La sequenza maiuscolo-minuscolo può seguire uno schema predefinito (pattern) oppure può essere del tutto casuale (random). Usato soprattutto nell’ambiente hacker:

    L’oRiGiNe dEL sIgNiFiCaTo Di QuEsTa PrAtIcA e’ OsCuRa

  11. BiCapitalization o InterCaps: simile allo StudlyCaps e al CamelCase ma il suo ambito non è nell’ambiente hacker bensì in quello del marketing. Infatti la BiCapitalization è l’atto di creare un marchio leggibile e facilmente riconoscibile dagli altri. Ne sono esempi comuni loghi come:

    PostScript
    NeXT
    NeWS
    VisiCalc
    FrameMaker
    TK!solver
    EasyWriter

Suggerimenti d’uso

Sul sito Microsoft dedicato alle librerie MSDN vi è un interessato documento che descrive le regole di Class Naming Guidelines. Da qui si raggiunge la pagine delle Capitalization Styles, in cui si mette in luce che:

  • Pascal Case: si usa solo per identificatori di 3 o più caratteri in cui le prime lettere di ciascuna parola concatenata è maiuscola

    BackColor

  • CamelCase: la prima lettera è minuscola mentre le prime lettere di ciascuna parola concatenata è maiuscola

    backColor

  • Uppercase: tutte le lettere del identificatore sono maiuscole. In realtà si consiglia di usare questo metodo solo per identificatori di 2-3 lettere:

    System.IO
    System.Web.UI

Altri esempi di CamelCase

Nel capitolo precedente ho tentato di classificare tutti i possibile metodi di scrittura di una variabile o, in generale, di una parola o logo. In realtà, a conti fatti, ogni metodo tende a non essere unico in quanto tende coincidere parzialmente con altre pratiche di scrittura.

E così è un CamelCase “MicroSoft” (o più precisamente un “Pascal Case” o siccome siamo nell’ambito del marketing una BiCapitalization), che altro non è che il nome originario della odierna Microsoft.
Mentre è un CamelCase perfetto il nome “iMac” (anche se volendo si potrebbe anche dire che la parola “iMac” è un particolare caso di StudlyCaps Random)
Allo stesso modo la funzione GetURLBaseAddress non è un vero CamelCase, poiché URL è scritto tutto in maiuscolo: si può quindi dire che è scritto in StudlyCaps Random.

E per finire, una bella auto-citazione. Infatti, non tutti sanno che il nome originario del mio sito era LevySoft , ovvero era scritto in CamelCase (o in Pascal Case o, siccome era un brand, in BiCapitalization). In seguito, per semplificarne la scrittura e siccome non era essenziale disinguere le due parole, cominciai a scriverlo tutto minuscolo tranne l’iniziale, in perfetto stile Capitalization.

Tag:camelcase, caratteri, case, java, leggibilità, lowercase, pascal, pascalcase, programmatori, programmazione, uppercase, variabili
CONTINUE READING >
11 comments
Nov 23 2006

Quale font usa un programmatore? Io uso Triskweline

Posted by Antonio Troise
Tweet

TriskwelineDa una settimana sto usando, sul mio editor di testi preferito, il font gratuito Triskweline, e devo dire che, effettivamente, è il miglior font per un programmatore, decisamente migliore anche dei classici Courier New, Andale Mono oppure Lucida Console.
Io ve lo consiglio caldamente perché da quando uso Triskweline, oltre ad essere maggiormente leggibile è pulito e compatto: le lunghe sessioni di programmazione, così, si rivelano molto più rilassanti del solito!

Tag:font, leggibilità, programmazione
CONTINUE READING >
4 comments
SeguiPrezzi - Risparmia con Amazon.it

Categorie

Commenti Recenti

  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Fioredicollina on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Antonio Troise on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Emanuele on UltraEdit: per i programmatori esigenti il miglior editor di testo per Windows, Mac OS e Linux
  • Luca on iDatabase: la valida alternativa di Bento per macOS e iOS per i database personali

Meta

  • Accedi
  • Entries RSS
  • Comments RSS
  • WordPress.org

Friends Link

  • GamerTagMatch
  • SeguiPrezzi.it – Risparmia con Amazon.it
  • Trendy Nail

Seguimi su:

  • facebook
  • twitter
  • rss
Creative Commons License
Levysoft by Antonio Troise is licensed under a Creative Commons Attribuzione-Non commerciale 2.5 Italia License.
© Copyright 2004 - 2014 - Levysoft by Antonio Troise
 

Caricamento commenti...