Slashdot Mirror


Where Do You Go After Visual Basic?

Josh Berkus asks: "I am an expert Visual Basic programmer who is looking to adopt a different, cross-platform language with a Linux-compatible IDE. After some research, the main offerings are theKompany's BlackAdder, borland's Kylix, and ActiveState's Komodo. What are your opinions about the languages and IDEs offered in these products? Has anyone switched to one of these from VB, and what were your experiences?"

"BlackAdder supports a Python-Qt synthesis that is very attractive as both languages have Open Source verisons. Their IDE costs only $250, which is doubly attractive.

Kylix is apparently a full featured IDE based on Borland's many years of experience with Delphi. However, one has to buy both Kylix ($199) and Delphi 6 ($999) and the language is proprietary.

Komodo suffers from the lack of a widget/forms set (as far as I can tell). However, their IDE supports 3 languages right now and will support more in the future. The $295 per user price is also attractive, as is the large knowledge base of advice and code snippets."

Are there other decent RAD packages out there for Unix systems or is this pretty much the cream of the crop?

19 of 363 comments (clear)

  1. Gideon/KDevelop by rafa · · Score: 4
    This post over at dot.kde.org describes the progress that's been made on KDevelop's sucessor called Gideon.

    It supports Java, Perl, Python, Php, c, and c++. Personally I think the python support looks especially interesting.

    Rikard
    --
    [Science] is one of the very few things that raises human life a little above farce and gives it the grace of tragedy.
  2. Re:Do you want a language, or an IDE? by Joe+Rumsey · · Score: 5
    but Visual Programming is the most efficient and intuitive method of rapid application development

    No, it's the most efficient and intuitive method of rapid user interface development. There is quite a big difference. User interface isn't everything. No matter how easily you can lay out your interface, you still have to write code to make it do something useful. That's where the language comes in, see. An IDE does not have to restrict you to only one language, and some don't.

    The IDE is not the language, but I will grant you that for some people who mainly write interfaces, the choice of IDE may outweigh the choice of language.

  3. None of the Above by hatless · · Score: 4

    Python and Object Pascal are nice languages, and the former, like Perl, can come in very handy for the same sort of quick prototyping VB lets you do. If yu're learning Perl or Python, start with a plain text editor and the command line. They are first and foremost console-based scripting languages, and that's how you should orient yourself to them. Once you've got your bearings, then bring in the IDE.

    But as others have said, if VB is all you know, C++ or Java are much more useful (read: employment-getting) languages to get down first, and they both give you syntax fundamentals that will seem very familiar if you proceed from, say, C++ to PHP or from Java to Smalltalk or Python. This is not to say Python isn't idely used, but rather that an organization will feel more comfortable bringing on a Java programmer and asking her to learn Python than the other way around.

    What IDE you use is more a matter of personal preference. Unlike VB and Kylix/Delphi, the C-langauges and Java exist outside the context of a dominant IDE. A damn fine (and widely used) IDE you'll feel right at home with for C/C++ is KDevelop--with a form painter, event wizards, code completion, properties inspectors and all. It's also free, and better in many regards than some of the commercial IDEs out there in the Unix world. For Java, there are too many IDEs to mention, with the base editions either free or in that under-$300 price range you seem to be targeting.

    Focus on languages and APIs, not tools. If you can write C++ in KDevelop, it'll take you a few hours to get up to full speed writing C++ with CodeWarrior, the Cygnus tools, Code Crusader or for that matter a plain text editor and command-line build tools (which is a very useful foundational skill, by the way, and one you should acquire if you're serious about moving to the Unix/Linux world).

    As for APIs, picking up either GTK/GNOME or Qt/KDE for graphical applications is a decent idea if you're staying on the traditional desktop or client-server side of things. On the (web-)server side, having something lean like PHP or server-side Perl (not so much CGI as mod_perl and its cousins) in your arsenal is more or less comparable to knowing VBScript ASP. For heavier lifting, J2EE is the dominant way to go these days, and yes, there are free JSP/servlet engines and even complete J2EE application servers. Apart from a smattering of bundled SDKs and different tools, writing apps for the free JBoss is the same as writing apps for Weblogic, Websphere, iPlanet's appserver, Oracle's appserver, Sybase's, and so on. And J2EE code deployed on Linux doesn't change on Solaris, AIX or Windows 2000, or on an AS/400 or on a System/390.

  4. What I did: by wirefarm · · Score: 5

    I've been in a similar situation - I've done years of programming in VB and Access.
    With the last 'upgrade' of Access, I found some of the methods that I'd come to rely on disabled by default. Not a huge deal, but a client's last minute change caused me to miss a deadline. ("Oh, we need it in Access 2K - not 97. " Should have been simple, but all of the DAO stuff I had written failed. The reason is still beyond me. )
    I felt betrayed by MS - I'd gone and learned what they said to learn and then they changed the rules, so that they could push their latest and greatest version.
    So I switched to Perl.
    Not a big learning curve, if you knew what you were doing in VB. Interesting enough to get me excited about writing code again. (Yes, VB can be a lot like writing code...)
    It took me a while to figure it out.
    I took some working scripts and made them better.
    But I missed clicking a button to see if it would 'compile'.
    I missed the IDE I had in VB. typing 'object' + '.' brought up a list of the properties and methods for the object.
    Yet still, I was productive; It was fun again.
    Now I'm taking it as a challenge to write my perl using vi. Some of the fun comes from *not* using and IDE.
    Instead of a help file, I have the O'Reilly CD bookshelf bookmarked on my HD. Instead of a 'run' button, I have 'perl -w'.
    I started writing CGI scripts that used ODBC to talk to SQL Server. (ActiveState Perl on NT.)
    At my company, I pushed the idea of intranetting what apps we could - It cut down on all of the support that we had to do installing VB apps on every desktop. (A surprising amount of work.)
    I began to really see the the beauty of using open source tools.
    I was able to keep my reference books more than a year or two. (My current favorite read is "Unix Power Tools" - my copy is from 1993 - Still lots of useful stuff in there.)
    I saw the beauty of writing programs that didn't need users clicking buttons to run. (Try making your typical VB app run without a user sitting there poking the screen.)
    My advice? Pick a language and get good at it. Pick something marketable, yet pick something open. Pick something you feel you can learn. Then toss yourself into it.
    Get excited again.
    Do really cool stuff.
    Good luck and let us know how it goes!

    Cheers,
    Jim in Tokyo

    MMDC.NET

    --
    -- My Weblog.
  5. Real RAD by JohnZed · · Score: 4
    I think I've tried pretty much every IDE/RAD solution out there for Linux, and, for someone with a VB background, I would suggest Kylix as the number 1 option, and a good Java IDE as a backup.

    The other tools claim to be "RAD," but they're really just IDEs + GUI form designers. With Kylix/Delphi on the other hand, you can visually design very sophisticated data bindings, network connections, and so on. Borland's JBuilder Pro and Enterprise (not cheap) IDE's are equally cool, with great database components and amazing JavaBeans support. The free "Foundation" version is nice, but it doesn't give you that many of the real RAD features.

    I thought BlackAdder was promising, because Python is my favorite language and Qt is my favorite widget set. But it's little more than a thin wrapper around the free QtDesigner, integrated with a not-so-hot editor. Maybe someday in the future it'll be a real IDE, but I don't know. Plus, the Python-Qt binding is a little awkward (you basically have to know C++ to use it).

    Anyways, good luck. You might want to check out this page on Kylix for VB refugees if you haven't already. --JRZ

  6. Do you want a language, or an IDE? by DenialS · · Score: 5

    While you said you want to explore a different, cross-platform language, the examples you listed were all integrated development environments IDE, not languages. Indeed, ActiveState's Komodo IDE can actually be used to develop in many different languages:

    Komodo recognizes multiple languages including JavaScript^(TM), HTML, Perl, PHP, Python, Tcl, XML, and XSLT
    Conspicuously missing from that list is the language once championed as the cross-platform solution: Java. And let's not forget about the cross-platform capabilities of ANSI C or C++, if you stick to cross-platform libraries (e.g. no Microsoft Foundation Classes!)

    But, perhaps the real question is, what do you plan to do with this cross-platform language? Apart from being able to run on more than one platform, do you need:

    • speed
    • easy GUI development
    • standardized database access
    • standalone executables, interpreted scripts, browser-as-client, or server-side development
    And exactly which platforms do you need to run this on? Just Windows and Linux? PalmOS and WinCE? Solaris, AIX, HP-UX, Plan 9, and Amiga?

    On the IDE side, what features are you looking for:

    • syntax highlighting
    • syntax completion
    • auto-formatting
    • debugging
    • integrated help and reference info
    • drag'n'drop GUI development
    • code repository/version control
    • IDE itself running on different platforms
    • free (beer or philosophically) or proprietary
    If all you need is syntax highlighting and auto-formatting, then VIm could suit you just fine, with some custom scripting for goodies like debugging and version control. But you might want more than that.

    As with many problems in life, you need to refine your question before you're going to be able to come up with the right answer. Putting together a good set of requirements really helps when you're trying to solve a problem. And it helps other people provide intelligent commentary.

  7. Don't use an IDE by Phill+Hugo · · Score: 5

    Build you own IDE from seperate bits that fit how you work.

    I use Glade (libglade is great!), Emacs and a few other things to make my development environment. Sure, you can argue that Emacs is an IDE to some degree but you can easily use any other editor in its place. This way I don't have all my application skills stuck in one place that later means I have to ask such a question.

    Try lots of things and peice together what you like to suit your preferences. From there you can refine your environment until you've got something you know so well you're able to improve it beyond its limitations.

    Otherwise you just get stuck with what another bunch of folk *think* is good for you.

  8. Re:Visual Basic "Developer"? by Kidbro · · Score: 4

    I have yet to see a java, C, c++, etc project that delivered in time, on budget, and was very useful.

    And... your average VB projects meet these criteria?

    The fact that projects aren't delivered on time or on budget has to do with bad project management and poor time guesstimating and not the language you've been coding in. However, coding in a decent language helps you adjust for changed projects plans, modify your code for later releases (you know, there are projects out there that goes beyong the first .0 release).
    Not trying to justify the post you were replying to really, I too consider it a rather pathetic attempt to look cool. However, you generalize a bit too much for my taste...

    --

  9. Kylix by S5o · · Score: 5

    I'd definately go with Kylix. Delphi 6 is shipping this week on the Windows side (Actually, I believe it was June 8th.)

    The combination of both these tools are unstoppable. The CLX is a new version of the VCL, which is basically an abstraction over Qt or the standard Windows GUI calls, and is almost as easy as Visual Basic's drag and drop controls.

    I got on this path a few years back moving from Visual C++ to Borland C++ Builder. The VCL leaves MFC in the dust. Later on, I moved to Delphi, and it was a very comfortable environment to work in: You never feel like you're working /against/ the compiler. I started with the assumption that I'd be "cramped" by Delphi's Object Pascal's roots, but it turns out, Borland has done some great work in the syntax, now it's basically just a slightly more verbose C++ Builder, with a few nice things you'd miss while working in another language.

    With the CLX, working between Linux and Windows should only mean a recompile, although you'll have scatterred {$IFDEF [WIN32|LINUX]}'s throughout the code.

    The only thing that might make you think twice is the price. Even the standard edition of Delphi and Kylix arent really what you'd call cheap.

    Well, there's always FreePascal, which is great if you don't mind devoting the majority of your time handling windowing messages, etc.

  10. Re:IDLE is free by MrBlack · · Score: 5
    Python and IDLE is quite good but when a VB programmer says IDE they often also mean "form designer" and a lot of other things to boot, which IDLE doesn't have. (Full Discloseure: I have programmed much VB). I'd still reccomend IDLE (or Pythonwin which gets a lot of it's code from IDLE I think and runs nicely on Windows) becuase form designers can just get in the way of you really learning your way around. Java and forte are another obvious pair (as many others have pointed out).

    I think it's telling that this poster (as a VB programmer) considers the IDE and language together. It's hard to shake this mindset when you're used to proprietary languages like VB and Delphi where there is only one IDE. I'd pick the language I wanted to learn first, and then pick an IDE that suited me. High powered IDEs like VB (and I DO consider VB's IDE a fairly good one - not perfect but good) are usually good for being productive when you know a language, but can hinder your learning of a new language. Syntax hilighting, auto-complete and an object browser are probably the only features I need for a "language learner" IDE.

  11. Free pascal Delphi clone by ssimpson · · Score: 5

    Rather than using Kylix / Delphi, consider the Free Pascal based Lazarus project.

    Currently Linux appears to be the main development platform, but the front page mentions WIN32 builds.

    --
    "Mary had a crypto key, she kept it in escrow, and everything that Mary said, the Feds were sure to know."
  12. Going away from Visual Basic by Aceticon · · Score: 5
    Well first of all you have to get yourself a black chicken. This is essencial so bare with me.

    Next you get yourself a dry toad leg ...

    ... plus a picture of Bill Gates.

    Next you go out to the countryside in a full moon, friday night and find yourself an apple tree.

    Now you open a little whole in the ground, under the tree and place the picture of Bill Gates in there.

    Next you beat the chicken to death using the dry toad leg (in know it's difficult, but this is the only way)

    Sprinkle the picture with the blood of the dead chicken and recite 666 times (i know it's a lot, but it's the number of The Beast) - "Until the ocean turns to dust of VB i will be free"

    You can now safelly turn to other programming languages

  13. Lazarus, Blackadder, Rowan by fm6 · · Score: 5
    Disclaimer: I work for Borland, and play a very minor role in Kylix/Delphi development.

    Metadisclaimer: My personal POV (not necessarily that of my employer) is that projects like Free Pascal and Lazarus are Good Things. They create awareness of the kind of technology we sell, which far outweighs any dent they make in our marketplace. In short, I'm claiming to have no axes to grind. Make what you will of it.

    Post proper: Nobody can even consider using Lazarus for production work until the RAD features are shown to be available and reliable. The Lazarus web site does not project any date for this crucial step. And this is after 18 months of development! I'm sure they put a lot of hard work into it, but why should a developer consider Lazarus until he knows when it might be available?

    Berkus quotes $999 for D6. I assume that's because he considers the Professional SKU to be the minimum that meets his needs. Which implies that he has some fairly complex work planned! All I can say is TANSTAAFL. Software development is expensive. Is doesn't get less expensive because you skimp on tools.

    Some notes on Black Adder. (Does the name imply an endorsement by Rowan Atkinson?) First, this is a Python IDE. Which means interpreted code. Not all applications need native code, but it's worth bearing in mind. Also, Black Adder may be more expensive than Berkus assumes. The price he quotes is for the Beta version, and goes up drastically if you wait until the final version ships. (Again, no dates!) Plus the fees they charge for maintenance releases strike me as rather stiff. Finally, there's no indication as whether Black Adder includes a Windows version of Qt. And if it does, does that include a license for deploying Windows Qt with your app? If the answer to either question is "no" Black Adder is a lot more expensive than you think.

    If I had time, I'd download the demo version of Black Adder and run it side by side with D6 (which also has a free downloadable Demo). I'd encourage anybody comparing the two products to do this.

    One last quibble. Object Pascal as a proprietary language. Depends on what you mean. It's certainly less so than Visual Basic. It's just an OO version of the venerable Pascal programming language, which once in the running to be the standard procedural language. And it's a particulary easy language to compile, which it why is works so well as a RAD language.

    __

  14. IDLE is free by GodSpiral · · Score: 4

    IDLE (a python GUI IDE) has all the essentials for an IDE. Comes with source. Windows version is very nice.

    Came with mandrake 7.2 linux distro, but did not install correctly, which I assume to be my fault.

  15. Oxymoron by _ganja_ · · Score: 5
    "expert Visual Basic programmer"

    That's got to be an oxymoron :-)

    --

    A journey of a thousand miles starts with a brutal anal raping at airport security

  16. I recommend Kylix by Tim12s · · Score: 5

    Going from one commercial environment to another, I recommend Borland Kylix / Delphi.

    4 points:
    1) Are the development tools good?
    2) Are they recognised by future employers?
    3) What are the other benifits to the tool?
    4) Advice

    ===

    1) As a Visual Basic programmer, you've most likely been developing applications. You have no interest in the workings of the machine and want the RAD tool to hide that from you. RAD tools such as VB and Delphi are good for quickly developing applications. They must be easy to use. Kylix is easy to use.

    2) Companies look towards the leaders in development technology for tools. It is common for "management" to only recognise brand names. Known vs Unknown. I, again, recommend Borland Kylix as Borland has a well established brand name. Future employees will recognise you're skills associated with products from that company.

    3) Borland supports many different platforms. Windows, Linux, MacOSX, Solaris are just a few of the notable environments they support. Kylix is not necessarily available on all of them, however: Borland's tools are designed to be as similar as possible. Moving between C++ Builder and Delphi is easy. The environment in JBuilder is predictable, on all platforms. I'd imagine it would be relatively easy to port their current products to different platforms. I would also imagine that their next step would be to move Kylix to MacOSX. So, By taking up Kylix, you get an exposure to the development environments which Borland uses. In addition, if/when borland ports Kylix to MacOSX, you'll easily be able to leverage your current skills in the MacOSX arena.

    4) In the short-term, for your career, look to the current development tools which will suit you best. To master applications development in linux, you'll need to have a look at all the environments once you have a better understanding of Linux. Only then will you be able to choose the environment which suits you best.

  17. Well, there's Java... by baptiste · · Score: 5

    Though many frown on it - if Java will fit your needs, Sun has an excellent IDE called Forte - very powerful program and they have a free version available. See http://java.sun.com/.

  18. Expert VB Programmers by kurt_cagle · · Score: 5

    Okay, wading into the fray here. I've written three books on Visual Basic. For what it is - a RAD tool for developing GUIs and components, it's okay. Not great, but no worse than most Java implementations. I actually used to do a lot of prototyping in VB because I could see in a matter of hours what would take me days to do in C++, though its clunky distribution process, poor multimedia support and bizarre event handling (most basic objects do not support mouseover and mouseout, for instance) made it less than ideal for building production level tools. I do almost all of my GUI work in this day and age using XML, XSLT, JavaScript and servlets, typically against the IE5 browser. I like having VB around to give me a quick look at a COM object's classes, but found recently that when I picked up a new machine and couldn't find my VB installer disks, I didn't really need it. By the way, VB.NET is a monstrosity. It tries unsuccessfully to be Java, it loses all of the best features of VB and keeps many of the worst, and it is not even remotely compatible with anything written before it. Even the hard core VB enthusiasts that I know (and yes, they are expert VB programmers, and most also know C++, Java, and a host of other languages, thank you) just grimace when they have to talk about VB.NET publicly. -- Kurt Cagle -- Author, XML Developers Handbook, Sybex and VB6 Gold Book, Coriolis

  19. Where do you go after Visual Basic? by blang · · Score: 5
    • Purgatory?
    • Deprogramming?
    • VBA (Visual Basic Anonymous)?
    • Crack cocaine?
    • Kindergarten?
    --
    -- Another senseless waste of fine bytes.