With intermediate knowledge of VB6, recently people have been suggesting to "upgrade" to a new language. I'm thinking about Lua - it's easy, simple and speedy. But there doesn't seem to be any infomation about creating applications similar to K3b, uTorrent, CCleaner and mIRC.
LUA's a great language - we use it frequently for scripting in games development because it's light, easy to learn and has good C bindings.
However, if your moving from VB6 then I'd recommend learning VB.NET or preferably C#. You'll find a lot more development resources and library support
NO.
The reason, is continueability (misspell?). You will find very few developers for such a language, and thus you will get into problems when a team continues the job after you, or you are locking your user to you.
Even if you do find developers, IMHO they will be much more expensive.
IMHO, choosing a "more popular" language/technology is a benefit: more-cheaper developers.
Lua can be used for application development, but you'll have to do a certain amount of infrastructure work: binding to toolkits like wx or Qt for graphics, for example. Much as I love dynamic languages, I wouldn't recommend it in your case.
If you're coming from VB6 I'd recommend C#, VB.NET, or Java, in that order. Each is much more powerful than VB6, but should be familiar enough for you to become productive quickly.
Lua is quite "light-weight", which has advantages and disadvantages -- if you're building a whole app, you'll be doing a large amount of foundation-laying yourself, rather than focusing on application-level development. I would suggest a richer dynamic language such as Python (my personal favorite) or Ruby (especially popular for web apps, but not limited to those) -- this way you'll be able to find a lot of tools and infrastructure, rich standard libraries, third-party extensions, usable frameworks for various kinds of apps, etc, etc already built for you.
Lua is a language that's easy to learn. But learn C# or Java and embed Lua in as a scripting language for your application, if you like.
Or just learn Python.
Yes it can. And it's easy to give it a try on a small project.
IMHO, it is ideally suited to building small applications with GUIs when coupled with a decent toolkit. Since you've mentioned Visual Basic, I'll assume you are concentrating on Windows for now. In that case, check out the Lua for Windows package.
Lua for Windows integrates the Lua language core with a large number of useful extension modules, and packages it up with a proper Windows installer. It includes a version of the SCiTE editor that has syntax coloring for Lua and an integrated debugger. It also includes bindings for both the wxWidgets and IUP GUI toolkits.
I have used Lua with IUP to build several utilities. Together, it is possible to build fairly elaborate applications without resorting to compiled code.
One area where Lua fails as the sole application language out of the box is packaging. It still requires a fair amount of experience with Windows application packaging to produce an installer that provides everything your end user needs in a way that makes your use of Lua as the core language irrelevant to them.
However, as many commercial projects have demonstrated, this is an issue that can be dealt with. I usually end up compiling a small EXE file that can have its own default icon and version resource that loads and initializes the Lua core and defers to Lua scripts for the rest of the application. That combined with a DLL or two that implements any functionality that profiling has shown should be done in a compiled environment and you're good to go.
Fortunately, even if you end up delivering your own copy of Lua you will find that the whole install is fairly small. Also, the core language pays no attention itself to Windows features such as the Registry so it is easy to have several applications that all happen to use Lua, even if they are different versions.
Lua has been around for over 10 years, and has an active user community. Also, it isn't a difficult language to pick up and learn, so IMHO there isn't really any issue with finding people that can contribute to a project team.