2009-06-27 23 views
9

Con una conoscenza intermedia di VB6, recentemente le persone hanno suggerito di "aggiornare" a una nuova lingua. Sto pensando a Lua: è facile, semplice e veloce. Ma non sembrano esserci informazioni sulla creazione di applicazioni simili a K3b, uTorrent, CCleaner e mIRC.È possibile utilizzare Lua per lo sviluppo di applicazioni?

+1

Anche se non so molto di lua, certamente può essere usato per sviluppare applicazioni: http://en.wikipedia.org/wiki/Lua_(programming_language)#Applications – bedwyr

risposta

5

Lua è una grande lingua - lo usiamo spesso per gli script in fase di sviluppo giochi perché è leggero, facile da imparare e ha buone binding C.
Tuttavia, se ci si sposta da VB6, consiglierei di imparare VB.NET o preferibilmente C#. Troverai molte più risorse di sviluppo e supporto per le biblioteche.

+1

VB.NET è essenzialmente morto. E anche se non è morto, non è mai stato il bambino numero 1 nel mondo .NET. La sua scelta sarebbe C# (e senza script, ma bello IDE) o forse C# per l'interfaccia utente, ma Lua per lo scripting del suo comportamento dinamico. Vado per Qt + Lua. – akauppi

+0

@akauppi. Sarei d'accordo Personalmente odio VB.NET, ho pensato che potrebbe essere una buona transizione come già conosce VB6. Per gli script, personalmente utilizzerei Python. Ha un sacco di opzioni della GUI come wxPython ecc. – zebrabox

+1

Lua non è LUA. Si prega di consultare http://www.lua.org/about.html#name –

-4

NO.

Il motivo è continuità (errore ortografico?). Troverai pochissimi sviluppatori per un tale linguaggio, e così avrai dei problemi quando un team continua il lavoro dopo di te, o stai bloccando il tuo utente.

Anche se si trovano sviluppatori, IMHO saranno molto più costosi.

IMHO, la scelta di un "più popolare" linguaggio/tecnologia è un vantaggio: più-meno costosi sviluppatori.

+8

Penso che ogni buon sviluppatore possa imparare Lua entro un paio di settimane. Conosco un caso in cui agli sviluppatori ingaggiati per il sollevamento pesante C/Unix è stato detto, "A proposito, abbiamo anche un linguaggio di scripting incorporato in questo prodotto" e non abbiamo avuto problemi ad aggiornarci. –

+0

I secondo tkadlubo su questo. – akauppi

+0

La cosa triste è che sono d'accordo anche con tkadlubo, i veri programmatori non avranno problemi ad imparare una buona lingua in poche settimane. Ma padroneggiarlo per creare un buon progetto? ci vogliono diversi mesi per imparare una lingua. – elcuco

3

Lua può può essere utilizzato per lo sviluppo di applicazioni, ma si dovrà eseguire una certa quantità di lavoro infrastruttura: ad esempio legandosi a toolkit come wx o Qt per la grafica. Anche se amo le lingue dinamiche, non lo consiglierei nel tuo caso.

Se arrivate da VB6 io consiglierei di C#, VB.NET, o Java, in questo ordine. Ognuno di questi è molto più potente di VB6, ma dovrebbe essere abbastanza familiare da farti diventare rapidamente produttivo.

+1

Penso che ci fosse un binding Qt menzionato da qualche parte, ultimamente. Lo darei un'occhiata. http://torch5.sourceforge.net/manual/qt/index.html – akauppi

8

Lua è piuttosto "leggero", che presenta vantaggi e svantaggi: se stai costruendo un'intera app, eseguirai una grande quantità di fondamenta, ponendo te stesso, anziché concentrarti sul livello di applicazione sviluppo. Suggerirei un linguaggio dinamico più ricco come Python (il mio preferito) o Ruby (particolarmente popolare per le app Web, ma non solo), in questo modo sarete in grado di trovare molti strumenti e infrastrutture, standard ricco librerie, estensioni di terze parti, framework utilizzabili per vari tipi di app, ecc., già costruiti per te.

2

Lua è un linguaggio facile da imparare. Ma impara C# o Java e incorpora Lua come linguaggio di scripting per la tua applicazione, se vuoi.

Oppure basta imparare Python.

24

Sì, è possibile. Ed è facile provarlo su un piccolo progetto.

IMHO, è ideale per la costruzione di piccole applicazioni con GUI quando accoppiato con un discreto toolkit. Dal momento che hai citato Visual Basic, suppongo che ti stai concentrando su Windows per ora. In tal caso, controlla il pacchetto Lua for Windows.

Lua per Windows integra il nucleo linguaggio Lua con un gran numero di moduli di estensione utili, ei pacchetti su con un installatore di Windows corretta. Include una versione di SCiTE editor con colorazione della sintassi per Lua e un debugger integrato. Include inoltre i binding per entrambi i toolkit wxWidgets e IUP GUI.

Ho usato Lua con IUP per creare diverse utilità. Insieme, è possibile costruire applicazioni abbastanza elaborate senza ricorrere al codice compilato.

Un settore in cui Lua fallisce poiché l'unica lingua dell'applicazione fuori dalla confezione è l'imballaggio. Richiede ancora una discreta esperienza con il packaging delle applicazioni Windows per produrre un programma di installazione che fornisca tutto ciò di cui l'utente ha bisogno in un modo che renda l'uso di Lua come il linguaggio principale irrilevante per loro.

Tuttavia, come molti progetti commerciali hanno dimostrato, questo è un problema che può essere affrontato. Di solito finisco per compilare un piccolo file EXE che può avere la sua icona predefinita e la sua risorsa di versione che carica e inizializza il core Lua e rimanda agli script Lua per il resto dell'applicazione. Quello combinato con una DLL o due che implementa qualsiasi funzionalità che la profilazione ha mostrato dovrebbe essere fatto in un ambiente compilato e sei a posto.

Fortunatamente, anche se si finisce per consegnare la propria copia di Lua, si scoprirà che l'intera installazione è abbastanza piccola. Inoltre, il linguaggio di base non presta attenzione alle funzionalità di Windows come il Registro di sistema, quindi è facile avere diverse applicazioni che utilizzano Lua, anche se sono versioni diverse.

Lua è attiva da oltre 10 anni e ha una comunità di utenti attiva. Inoltre, non è una lingua difficile da imparare e imparare, quindi IMHO non c'è davvero alcun problema nel trovare persone che possano contribuire a un team di progetto.

+2

Amen. Esistono anche grandi progetti di app desktop che utilizzano Lua - vedi [Textadept] (http://foicica.com/textadept/) e [ZeroBraneStudio] (https://github.com/pkulchenko/ZeroBraneStudio). Ci sono probabilmente tonnellate di più piccoli là fuori che sono più come wrapper di utilità. – 10basetom

4

troverete un elenco qui di diversi progetti che utilizzano Lua, una delle più rilevante è probabilmente Adobe Photoshop Lightroom, di cui il 40% è scritto in Lua: Lua Uses

Problemi correlati