Vale la pena imparare Haxe? [chiuso]


153

Per le persone che usano Haxe , cosa ti rende utile? Leggendo il sito web sembra molto promettente. Fornisce una portabilità significativa?

Quali sono alcuni del mondo reale e forse sotto vantaggi apprezzati?

Quali sono le insidie ​​o i gotcha?


mai sentito parlare di questo prima sembra interessante.
JoshBerke,

9
Perché dovrebbero esserci seri problemi con la comunità? La community non è molto grande ma è molto favorevole, basta dare un'occhiata all'attività della Mailing List.
Franco Ponticelli,

4
La risposta breve è sì, vale la pena imparare. Scriverò una risposta più dettagliata in seguito se qualcun altro non risponde meglio.
Tylermac,

4
forse anche guardare a questa domanda: stackoverflow.com/questions/321204/haxe-in-the-field
TheHippo

2
Non credo ci sia nulla di male nell'apprenderlo. È così vicino a JS e AS che il tempo dedicato all'apprendimento può essere trasferito ad altri progetti.
Nosredna,

Risposte:


128

Vale la pena imparare Haxe?

La risposta breve è: assolutamente!

Per le persone che usano Haxe, cosa ti rende utile?

Se sei uno sviluppatore web, sai che non puoi rimanere con una sola tecnologia per troppo tempo. Prima o poi dovrai affrontare i cambiamenti nell'ambiente o nei target (sviluppi per .NET ma un cliente importante richiede PHP, o forse quel widget dovrebbe essere in Flash non Javascript), e questo è lo scenario migliore. Nel peggiore dei casi dovrai cambiare costantemente, spesso più volte nello stesso giorno lavorativo.

Questi interruttori possono farti perdere molto tempo perché devi cambiare il tuo paradigma di programmazione troppe volte e forse perché avrai molte sovrapposizioni nel codificare le tue librerie per obiettivi specifici. Haxe cerca di alleviare il dolore della transizione avendo solo un linguaggio di origine (il linguaggio Haxe) e molti output (attraverso il compilatore Haxe). La lingua è molto amichevole e abbastanza facile da imparare, indipendentemente dal tuo background.

Leggendo il sito web sembra molto promettente. Fornisce una portabilità significativa?

La lingua è la stessa, indipendentemente dalla piattaforma in cui ti installi. Quindi definisci classi / interfacce / enums / typedefs allo stesso modo per JS, Flash, C ++, ecc. Se quei tipi che definisci non dipendono da una specifica API della piattaforma, possono essere riutilizzati da una piattaforma all'altra senza alcuno sforzo . Tutte le piattaforme condividono anche API comuni come accesso XML, connessioni HTTP e riflessione. Le piattaforme che hanno cose in comune (cioè Neko e PHP) condividono la stessa API per cose come l'accesso ai file o lo sviluppo di web server.

Quali sono alcuni del mondo reale e forse sotto vantaggi apprezzati?

  • Se hai esperienza con Flash / Flex sai come il compilatore può rallentare il tuo lavoro (l'unico vantaggio è riuscire a fare una pausa caffè durante l'attesa;)). Il compilatore Haxe è molte volte più veloce, così veloce che la maggior parte delle volte non ti accorgi nemmeno che funziona.
  • Il bytecode prodotto è molto più veloce dell'equivalente prodotto dagli strumenti Adobe.
  • Anche nel regno Flash, Haxe può "incorporare" le funzioni o accedere alle funzioni di memoria che sono disponibili solo altrove usando Alchemy.
  • Se ne hai bisogno, puoi anche decidere quale versione di Flash scegliere come target, da 6 a 10; l'API è cambiata molto, ma il linguaggio Haxe è esattamente lo stesso.

Parlando del lato server, sappiamo tutti quanto sia diffuso PHP. Puoi sviluppare un'applicazione con Haxe come target e ridimensionarla a Neko o anche a C ++ se la tua applicazione web cresce.

Quali sono le insidie ​​o i gotcha?

Ecco un elenco di idee sbagliate comuni:

  • Haxe is young and immatureNon proprio, Haxe ha quasi 4 anni ormai, ha visto 25 versioni formali (non build) + 13 alfa e beta, viene aggiornato costantemente e ha una community molto dedicata. È utilizzato professionalmente da molte persone in diverse aree di sviluppo; dai un'occhiata all'archivio della mailing list per scoprire come le persone usano Haxe.

  • Haxe is complicatedPoiché l'obiettivo principale di Haxe è senza dubbio AS3, le persone si aspettano che debba disporre di procedure guidate o di una GUI. Come affermato, Haxe è un linguaggio e un compilatore che lo rende adatto ai programmatori ma non molto adatto ai progettisti.

  • There aren't any IDEsLa parte vera di questo è che l'IDE potrebbe essere migliorato in molti aspetti per integrarsi meglio con Haxe ma ci sono già molte opzioni valide .

  • The only book published is already outdatedC'è anche un po 'di verità qui, sfortunatamente il libro è stato pubblicato solo pochi mesi prima che avvenisse una pubblicazione importante (da V1 a V2). Quella versione principale non è cambiata molto, ma ha aggiunto alcune incompatibilità. Il libro rimane ancora una risorsa valida (non lo dico solo perché l'ho scritto;))


1
Grazie per la risposta Franco. E l'elenco degli IDE. Sono incuriosito dal plugin Xcode per HaXe. Sembra super dolce! Qual è la storia con i kit framework dell'interfaccia utente e Haxe? Ad esempio, sarà mai possibile scegliere come target Cocoa con HaXe e ottenere widget nativi per OS X? Fondamentalmente usando l'interfaccia builder e collegato insieme al codice sorgente HaXe?
Gordon Potter,

Se C ++ è abbastanza nativo per te, allora è possibile. Dovresti racimolare le chiamate Cocoa in modo che siano "raggiungibili" dal codice generato da haXe. La versione attuale di haXe come probabilmente già sai consente di sviluppare app per iPhone; ovviamente è ancora molto sperimentale. Considera che il target C ++ è stato introdotto solo nell'ultima versione.
Franco Ponticelli,

34
Aiuterebbe anche ad avere alcuni svantaggi per haXe - non solo elogi.
Alan Klement

Io stesso programmatore di AS3 e vedendo il flash morire orribilmente, haxe sta diventando sempre meglio per noi.
justnajm,

Concordato sui possibili svantaggi e, se possibile, mi piacerebbe davvero una versione aggiornata di questa risposta, se possibile.
Prometeo

25

"Per le persone che usano Haxe, cosa ti rende utile?"

Come lampeggiatore creativo non vedo davvero più il punto in AS3! Quindi da un utente / programmatore utente Flash ecco la mia opinione:

Nel mio progetto attuale ho un diciannovenne che è passato dalla maggior parte della timeline AS2 / AS3 alle classi Haxe sotto la mia guida e stava eseguendo il porting di entrambi i codici AS2 e AS3. Quindi non penso che Haxe sia più difficile da usare rispetto ad AS3 o quando usato in Flash in modo significativamente diverso. Per quanto riguarda la stabilità, la mia principale lamentela attuale sono gli aspetti degli attuali lettori Flash, Haxe è davvero stabile o più stabile di AS3 quando sviluppa Flash.

L'evoluzione di Flash è stata un processo costante di creazione di librerie che diventano inutili quando cambia Flash (potrebbe essere necessario vendere software ogni anno !?) e i componenti sono sempre stati qualcosa di cui ho bisogno, ma le dimensioni sono stupide, quindi non sono disposto seguire come le pecore in Flex o persino passare alla XAML alternativa.

Il vantaggio principale di Haxe è che puoi iniziare a pensare davvero alla creazione di classi che sono divorziate dalla piattaforma e saranno ampiamente utilizzabili tra cinque anni, dubito che sia vero per qualsiasi AS3 che crei, Haxe ha meno legami, potenzialmente Potrei compilare il codice in JavaScript, Silverlight o qualsiasi altra cosa che Google mette in evidenza in seguito.

I miei principali problemi con Haxe sono che la maggior parte dello sviluppo non è avvenuta su Mac, quindi alcuni aspetti della compilazione di C ++ e nuove funzionalità di Haxe a volte derivano da utenti Windows, ma non ho avuto problemi con Haxe di base come la compilazione Flash.

In termini di designer: uso un filmato Flash IDE caricato in fase di esecuzione per le mie risorse visive e faccio lo stesso durante lo sviluppo in AS3, quindi il mio flusso di lavoro non dipende da AS3 / Haxe, mi piace una vita semplice, quindi uso Textmate per entrambi AS3 o Haxe. Ho una passione per l'IDE Flash e la sua potenza, ma non lo userei mai per il codice e la maggior parte del mio lavoro Flash è in gran parte codice, quindi non sono un hardcore Linux, Haxe non ti smette di usare Flash IDE, ma se vuoi usa swfmill o sam che puoi.

La domanda è: perché perdere tempo con un linguaggio commerciale AS3 che probabilmente cambierà solo per vendere versioni future ed è limitato al lettore Flash?

Non mi ci è voluto molto per arrivare a una fase in cui avrei potuto creare un gioco o un ide complesso in javascript senza bisogno di jQuery ecc. Appena pronto Haxe ... avrebbe funzionato su più browser ecc ... Haxe mi ha permesso di prendere il mio Flash capacità di programmazione e comprensione dello sviluppo dell'interfaccia al di fuori del flash (non avevo mai usato JavaScript prima), se avessi imparato JavaScript puro probabilmente non mi sarei sentito così abilitato, più come se qualcuno mi avesse tagliato il braccio e avrei scritto un codice molto specifico per la piattaforma , mentre ora posso usare FEffects per l'interpolazione e successivamente aggiungere alcuni switch di compilazione e compilare su alcune altre piattaforme e usare neash / nme.

In realtà mi piacciono abbastanza aspetti come il compilatore che è intelligente riguardo ai tipi, che consente al mio codice di essere più pulito. E i typedef sono geniali.

Ho guardato PHP e ho deciso che era un linguaggio disordinato e sciocco e lo stesso per JavaScript, sono così felice di poterli indirizzare con Haxe e non dover passare troppo tempo a incidere la magia nera.

Se ti piace creare codice per un rapido sviluppo della creatività visiva, penso che Haxe sia il linguaggio ideale e anche come libero professionista lo sto usando commercialmente.


18

La mia visione di Haxe,

Avvertendo i seguenti paragrafi sono molto filosofici (quelli pratici sono più in basso):

Come qualcuno che è stato aperto a molti linguaggi di programmazione durante la mia breve programmazione e qualcuno che passa semplicemente quando sento che qualcosa non funziona per me; Trovo che Haxe sia qualcosa da cui non riesco proprio a progredire, non posso semplicemente "migliorarlo".

In passato avevo scoperto che la quantità di tempo che trascorro scrivendo in una determinata lingua si riferisce a due fattori chiave, quanto devo usare quella lingua per ottenere il risultato e quanto sia facile trovare quella lingua da cogliere. Ma con Haxe il periodo di afferramento è stato molto più breve, e lo attribuisco al mio piccolo accumulo di conoscenza in una varietà di lingue. Fino a quando Haxe non ne avevo mai trovato uno adatto a me e che mi sembrava giusto, erano difficili da capire o semplicemente inutili; bene almeno inutile dal mio punto di vista.

Haxe mi aveva permesso di essere molto più espressivo nel modo in cui scrivo, non intendo il termine "espressivo" come nella qualità in cui tutti parlano delle lingue avendo inteso la capacità di avere un'idea e correre con essa, per provare qualcosa nel modo in cui mi sento giusto. Se ha successo o fallisce totalmente.

Haxe è stata una curva di apprendimento molto semplice per me, con il mio background generale in linguaggi di stile c e AS2 / 3, e non ho davvero avuto problemi a prenderlo. Una cosa che ha sempre ostacolato la mia progressione con una nuova lingua è stata la comprensione del concetto alla base di quella particolare sintassi / struttura, ma anche una volta superato questo ostacolo avrei spesso scoperto che la lingua era di per sé limitata, limitativa o entrambe. Con Haxe non sono né limitato né sto trovando la lingua stessa per limitarmi. Con Haxe non c'è un soffitto di vetro, ma c'è un pavimento di vetro, in quanto non c'è limite a ciò che puoi fare ma puoi vedere chiaramente come ci sei arrivato

Raccogliere Haxe non è come prendere dei bastoncini e accendere un fuoco, ma non è nemmeno come uscire e comprare un set di ossiacetilene e accendere un fuoco con quello. In tal senso, Haxe è più vicino a una partita, che puoi riutilizzare. Segue quasi tutte le conversioni di qualcosa a cui sei abituato ma aggiunge utili nuove funzionalità. Ma per fare ciò non reinventa completamente la ruota, corregge solo i pezzi marci. (ok meno analogie nel prossimo paragrafo)

Cose pratiche:

La lingua è semplice, semplice e standardizzata, pur consentendo al programmatore di andare fino in fondo.

Puoi scrivere un pezzo di codice di altissimo livello o andare a giocherellare con i piccoli pezzi (in modo grave su alcune piattaforme)

Haxe non detta ciò che puoi e non puoi fare su nessuna piattaforma, dà (o prevede di darti) pieno accesso a tutto, ma dove può aggiunge un modo standardizzato di fare le cose.

La mailing list è molto utile e reattiva e il forum sta anche prendendo ritmo ora.

La lingua viene costantemente cambiata (in modi minori) con nuove cose aggiunte in ogni versione.

Ci sono pochissimi bug reali in arrivo per l'API principale e ancora meno per il compilatore.

Ognuno parla apertamente della lingua della sua direzione e della direzione che suggeriscono per Haxe (e o ovviamente perché dovrebbe prendere quella direzione)

E infine Haxe non è una grande impresa privata di una grande (o addirittura piccola) azienda per guadagnare soldi da te come sviluppatore, invece è creata per tutti gli sviluppatori da utilizzare, sviluppare e migliorare. Ed è per questo che sento che Haxe è dove voglio essere. (ora per tornare alla codifica)


13

Se vuoi avere una risposta breve: SÌ!

Per le persone che usano Haxe, cosa ti rende utile?

Il più delle volte uso Haxe per il lato server. (Questo significa PHP o neko target). Secondo me PHP è il linguaggio più schifoso che abbia mai usato, per questo ho iniziato a usare Haxe: avere un linguaggio utilizzabile.

Un altro grande vantaggio per me è che Haxe è open source.

Fornisce una portabilità significativa?

Avere lo stesso codice su obiettivi diversi! Non riuscivo a immaginare alcun modo per avere più portabillità.

La migrazione di un sito Web da PHP a mod_tora , che esegue 40-80 volte più velocemente di PHP, spesso richiede solo 5 minuti di lavoro ???

Quali sono alcuni del mondo reale e forse sotto vantaggi apprezzati?

  • Il più grande vantaggio è la portabilità del codice e le eccellenti opzioni di comunicazione tra le piattaforme, non è mai stato più facile gestire i dati tra client e server. (Dai un'occhiata alla sezione Remoting nel wiki.)
  • La comunità è fantastica . (Se almeno ti piacciono le mailing list. :-)
  • Un'altra cosa è: se devi eseguire operazioni native molto su piattaforma che non sono supportate da Haxe (cosa che accade molto di rado), Haxe ti offre sempre le opzioni per indirizzarle. Si chiama magia Haxe . In altre parole: potresti fare tutto ciò che potresti fare nella lingua madre della piattaforma + tutte le belle cose che Haxe ti offre.

Quali sono le insidie ​​o i gotcha?

  • La documentazione, a volte l'installazione non è perfetta al 100%. Il supporto per gli IDE potrebbe essere migliorato molto.
  • Anche il target JavaScript a volte è difficile da usare, perché Haxe fornisce un linguaggio davvero buono, ma manca un qualche tipo di framework per le manipolazioni DOM più comuni, ma penso che alcune persone ci stiano lavorando ;-)
  • Se devo lavorare per i clienti, a volte non amano l'idea di realizzare il loro progetto in un linguaggio così sconosciuto.

PS: Penso che valga sempre la pena imparare una nuova lingua, poiché migliora le tue abilità ed esperienze di programmazione.


mode_tora sembra interessante. Ma cosa fai se non hai / vuoi il httpd di apache? C'è un server in Neko, ma la documentazione dice che è solo per lo sviluppo.
Stesch

8

Bene, la tua domanda ha già una risposta, ma vorrei aggiungere alcune brevi sfocature.

Ho imparato e usato Haxe in modo intensivo dopo i primi beta e lo uso da allora. È stata la prima lingua che ho imparato (all'epoca ero ancora al college) che mi ha fatto davvero capire la differenza tra lingua e API.

Vedi al college ho imparato prima AS2, poi PHP, poi Javascript. Non avevamo un'introduzione formale alla programmazione (e comunque non studiavo informatica). Questi linguaggi sono tutti piuttosto legati alle piattaforme, quindi come programmatore principiante ho automaticamente pensato che cose come strlen () fossero PHP, MovieClip fosse AS2, ...

Usando Haxe ho capito il valore del design orientato agli oggetti, poiché la piattaforma non limitava più le mie lezioni. Potrei riutilizzare il codice scritto per un progetto Flash nel mio codice web normale, se li separassi abbastanza bene dalle specifiche della loro piattaforma.

A causa delle eccellenti classi di remoting che puoi usare per comunicare tra piattaforme, ho anche capito che XML non è poi così speciale, né JSON, è tutto privo di significato senza codice che agisce su di esso.

Per qualcuno come me che ha appena iniziato a programmare, questa è stata una rivelazione piuttosto grande in un momento in cui XML era "bello" e buono per tutto ;-)


5

Haxe è un linguaggio inestimabile. Molti dei suoi punti positivi sono spesso trascurati. Ad esempio, ha fantastiche librerie integrate che rendono lo sviluppo di applicazioni molto più semplice, come un ORM semplice ma molto potente (Neko / PHP), remoti multipiattaforma completi (Flash / JS / PHP / C ++ / Neko) dove la piattaforma supportata può comunicare apparentemente con qualsiasi altra piattaforma, una solida libreria di espressioni regolari (supporto di tutti tranne Flash <8) e molti altri.

Come nota, di recente ho scritto un'applicazione usando Haxe per PHP / JS / Flash e ho scoperto che la velocità di sviluppo è stata aumentata esponenzialmente.

Certo, Haxe potrebbe non essere incentrato sul designer, ma non è neanche hardcore. Haxe è molto facile da imparare e riutilizzare e, man mano che aumenta il numero di piattaforme target, anche gli sviluppatori Haxe possono scegliere come target quelle senza dover imparare nulla di nuovo.


4

Il mio uso principale di Haxe è limitato allo sviluppo di Flash. Mi sto solo scaldando lentamente all'idea che possa essere usato per altri obiettivi. Continuo a non vedere i vantaggi in quella direzione e faccio i miei PHP e JS direttamente in PHP e JS.

Anche se non sviluppo per il back-end Neko, è un grande supporto avere poiché significa che posso scrivere casi di test per il codice e integrarli in uno script di build piuttosto che essere in grado di eseguirli in un flash player. Questo è un ottimo vantaggio.

Anche la natura aperta del codice e lo sviluppo rappresentano un buon vantaggio. Avevo davvero bisogno di un preprocessore e quindi il #linesupporto è stato aggiunto a Haxe. Non credo che Adobe avrebbe mai preso sul serio la mia richiesta.

Trovo che essere una lingua tipizzata sia un enorme vantaggio rispetto a molte delle nuove lingue moderne.

Vi sono molte insidie ​​in termini di coerenza linguistica e trasparenza del back-end. Tengo un elenco di quelli che mi riguardano qui . Naturalmente nessuna lingua è perfetta in questo senso, ma sono un po 'deluso dal fatto che una nuova lingua ne abbia così tante.


3

Ho codificato Haxe in usi personali e professionali per circa 2 anni. Ci sono alcuni vantaggi che ha che non otterrai da altre lingue, il più grande è che è stato progettato quasi dall'inizio come un moderno compilatore di livello produttivo che può adattarsi in modo flessibile a nuove piattaforme e sfruttare le loro caratteristiche uniche . Questo lo rende la cosa più vicina a una versione di livello superiore di C. Se scrivi il codice in Haxe, puoi contare su di esso che rimane.

La diffusione della community è stata più forte di quanto si pensi - ho fatto una piccola analisi del traffico dell'elenco in termini di kilobyte compressi (dai dati su http://lists.motion-twin.com/pipermail/haxe/ ) e il risultato mostra un aumento del 25-50% YTD (gennaio-settembre) ogni anno dal 2006. Negli ultimi sei mesi il traffico è davvero esploso e sto seriamente pensando di digerire perché altrimenti la mia casella di posta viene invasa da centinaia di messaggi su Haxe se lascio per più di un giorno. Non è così pubblicizzato come le altre lingue, ma ciò a sua volta significa che le persone che portano i loro carri a Haxe tendono ad essere programmatori fiduciosi e ben informati.

Le persone hanno sperimentato compilatori da lingua a lingua in altri contesti (Schema ovunque, Python o Ruby in JS, ecc.) Ma quelle lingue sono state progettate per un luogo e uno scopo diversi e nella traduzione perdono molti dei loro aspetti migliori, facendo i risultati sono fantastici hack, ma non sono comodi per il lavoro quotidiano. Haxe non si sente così; mentre non ha i vantaggi che derivano dall'integrazione di lingua / runtime, ha molte altre cose interessanti da offrire in questo momento .


3

Soggettivamente trovo di essere più produttivo in Haxe rispetto a qualsiasi altra lingua. Uso Haxe principalmente come target Neko e JavaScript.

Il compilatore stesso è molto veloce e mi permette di usare Haxe come un linguaggio di scripting. Si inclina verso l'orientamento agli oggetti ma ha numerosi strumenti funzionali; funzioni di prima classe, corrispondenza funzionale, librerie lambda.

Trovo che la velocità di Neko sia sufficiente e che le dimensioni dell'immagine ridotte siano ideali per gli ambienti limitati. È C FFI eccellente - molto semplice aggiungere nuove funzionalità.

Uso Haxe per il mio controller lato client JavaScript, eseguendo eventi su una visualizzazione jQuery standard. Funziona davvero bene poiché puoi digitare controlla contemporaneamente il codice client e server, mantenendo al minimo JS non tipizzato e conservando i vantaggi delle solite librerie JS. Librerie JSON disponibili. A proposito, anche se Haxe viene fornito con mod_ * per Apache ecc., Trovo che l'utilizzo di un proxy sia molto più flessibile, quindi posso impostare più istanze Neko dietro il web server.

Nel complesso penso che sia molto ben arrotondato e pensato - e funziona criticamente come pubblicizzato su tutte le piattaforme.


2

si, completamente

MA ha bisogno di un IDE e di una documentazione migliori, la mancanza di un IDE eccezionale (come quello basato sull'eclissi) per me fa la differenza, e per questo non riesco a raggiungere i livelli di produttività che faccio in altri linguaggi.

lingua = ottimo - ambiente di sviluppo migliore per miglia = scarso (in questo momento e imho)


1

Ho avuto Haxe sul radar da quando è iniziato. Sono d'accordo che sembra molto promettente, ma ho notato che gli sviluppatori non lo stanno adottando così rapidamente come ci si aspetterebbe (rispetto a RoR e persino Flex).

Indipendentemente da quanto Haxe buono e adatto possa essere per te in questo momento, sarai ancora tra i primi utenti e sicuramente affronterai i problemi che i primi utenti di solito affrontano.

Sebbene ci sia una mailing list molto attiva con membri molto utili, aspetterei comunque fino a quando più persone si uniranno e più libri e risorse saranno scritti al riguardo.

Alla fine, Haxe ti aiuta a scrivere in una sola lingua e indirizzare piattaforme diverse (principalmente JS e Flash, e ora NekoVM, PHP e C ++) ne hai davvero bisogno ?!


1
Non sono sicuro che sia un giusto confronto per il tasso di adozione. Con Flex, è un linguaggio sponsorizzato da Adobe. Ciò gli conferisce automaticamente "credibilità";) Ruby era nei paraggi, qualcosa come 10 anni quando uscì Rails. Da quello che ho visto, sembra che più persone passino al RoR e poi al semplice Ruby. Al contrario, Haxe è circa la metà di quello, e sebbene ci siano molti framework per Haxe in sviluppo là fuori, certamente nessuno è diventato virale come le rotaie.
Tylermac,

Sul serio?! Qual è la% di sviluppatori RoR che hanno usato Ruby prima che uscisse RoR? E non mi importa (come sviluppatore) se una piattaforma di sviluppo è stata sponsorizzata da una grande azienda o no? Il tasso di adattamento si sta muovendo molto lentamente con HaXe IMO e questa è la mia principale preoccupazione al riguardo
Ammar,

I nuovi approcci non sono sempre ovvi per tutti, ricordo RoR e papervision entrambi i progetti che si sono ampliati negli ultimi anni che mi interessavano, e devo dire che haXe dimostra davvero il suo potenziale e credo che sarà più grande di entrambi .. 2-3yrs dirà;)
JLM

La mia tesi è ancora valida: è troppo presto :)
Ammar,

1
@JLM: sono trascorsi 4 anni, puoi modificare la tua risposta e adattarti :)
Janus Troelsen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.