Now that I’ve grown more comfortable using Linux over the past 2 or 3 years, I’d like to start tackling programming. In the Windows world, I’m fairly proficient in Visual Basic. I know there isn’t VB for Linux since it’s a Microsoft language but is there something in the Linux world that would be close to that? Something where the crossover from VB to the Linux language wouldn’t be too difficult?
I’ve dabbled with shell scripts but I’m looking for something more object driven.
Do you need the database access stuff from VB or just the GUI things? There are reasonably accessible languages for GUI’s, I will go ahead and recommend Python even though I don’t use it much. As far as database things go I don’t know that there are linux tools as easy as VB, but going the MYSQL or Postogre routes will get you a powerful system, and I would be shocked if Python didn’t support them. Other languages worth checking out would be ruby and tcl (not really popular anymore, but it has a GUI bindings for the TK toolkit and I think it would be easy to learn, no idea about it’s database systems though.)
Language wise I don’t think anything is that similar, but starting from square one on a second language is easier than it was the first time.
At the risk of fames … might I suggest xBasic-6.3.13-linux, xBasic-6.3.6-win and it’s companion html reference available from yahoo-groups-xBasic or from Diabetic Assistant Developers Corner . this robust programming system parallels vb in many ways and can use c/c++ or asm modules. Programs written in xBasic can be compiled under both windows and Linux with little to no modification. It is drag and drop gui design and fully object orientated.
I’ve seen mention of Python but never have looked closely at it. I’ll take a look. I just need the GUI things. I’ve done some interfacing of VB with MS Access but I really don’t do too much database work. Just looking for something along the lines of VB where I can produce forms and then attach code to events and actions within the forms.
Thanks techwiz. I’ll also look up xbasic. It even sounds like something I might be able to import code from some of my old VB programs into.
Are any of these suggestions going to limit me as to which distro’s I could compile for. I primarily use SuSE but I would like the finished apps to be basically distro-independent.
As I’ve posted in another post, you CAN still do VB.NET programming in Linux using the Mono project. Just go to YAST → Software management and search for mono. Make sure you also get the Monodevelop IDE.
If you’re interested in starting with a new language, I think Python is a good one.
I was working on xB-xlat before I got snafu’d to work with JonathanR on a project. Basically stated, it takes qbasic, kbasic, vb, lbasic, rbasic and creates xbasic output which it can then rewrite if you wish into assembly, C/C++, Pascal, Python, ruby, xforms. It also was to have a complete reference and syntax for each language so you could compare source features between languages. Unfortunately, I haven’t got too much finished so far.
As for compiling xBasic projects, because xBasic does not rely on C/C++ libraries which at best vary between distro’s, and versions, the same xBasic source project can be compiled on any windows or linux distro/version without any dependencies. (this presumes you have not explicitely called an external asm, qt, gtk, c/c++ library from with-in your application project). To compile in windows, you would use the included nmake and link supplied with xbasic for windows. To compile in any Linux version you need make, gcc and link available from the specific distro you are compiling on. Once compiled, the executable program can be transfered directly to any Linux distro without need to re-compile. xBasic for Linux uses gcc to create the executable from assembly code.
I guess I stand corrected. I wasn’t aware they had a vb compiler, and I actually just tried monodevelop to try the autotools plugin not too long ago. I also drove by a target megastore everyday for two weeks once without noticing it though, so I will blame this on my generally unobservant nature.
There is GAMBAS which is a Visual Basic-like IDE (it still uses Qt3 but that is a minor detraction) and Lazarus which is a Delphi-like IDE built using FreePascal (which uses Gtk2 by default).
Both of these would suit a capable Visual Basic programmer. GAMBAS requires an interpreter runtime and is available on Linux/*BSD only but Lazarus has a Windows port and generates native executables.
Mono and Monodevelop does handle VB.NET, but as a second-class citizen. For example you don’t get the GUI front end builder with VB.NET, but you do with C#.
Gambas is probably the closest (and open source) VB~like IDE.
Though you are familiar with VB, do you want to stick with a language that isn’t getting much “love” anymore? I haven’t heard anything new going on about VB, seems Microsoft’s focus is VB.NET.
Python is one I am seeing more and more activity around and even Google uses it.
Java is a big language, but it also provides the benefit of being able to program for mobile platforms too.
I started with VB through VBA and Macros and currently work with ASP.NET in VB.NET and have been sad that VB is probably the LEAST supported language in Linux. So I am trying to migrate my skills from VB.NET to C# (via Mono) which I can use both Windows and Linux for. Plus the Vala language is getting more popular (Shotwell is the most known program) and I have heard the syntax is very similar to C# (Monodevelop has a Vala plugin too).
I highly recommend using Python. It’s simple to install and use. No fancy configurations required. You just install and go. The fact that Google uses it so extensively means the language is rock solid. Because the language is dynamically typed, it’s not as fast as C or C++ or even Java. You can even extend the language with C libraries of your own.
Python also supports a fantastic web framework, Django.
Python also works just as well on Windows as on Linux.
I find Python a lot more enjoyable to work with than many of the other languages. The Python community also seems to be great.