Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Programming IT Technology

Where Do You Go After Visual Basic? 363

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?

This discussion has been archived. No new comments can be posted.

Where Do You Go After Visual Basic?

Comments Filter:
  • by Anonymous Coward
    You say you are looking for something cross platform. One obvious choice is Java. Many vendors have IDEs that will run under Linux. NetBeans [netbeans.org] is an open source project under the Sun Public License [netbeans.org], which is the basis for Sun's Forte [sun.com] product (very much like how Mozilla is a basis for Netscape). Forte Community Edition is free to download and try out. [sun.com] Borland offers JBuilder [borland.com], with a Foundation Edition available for download. [borland.com] I'm sure there are many others with run under Linux, but this will get you started.
  • by Micah ( 278 )
    Kylix isn't restricted to Intel. I'm running it on my AMD Athlon just fine!

    (yeah, sorry, I know ... just couldn't resist! :-) )

  • by Micah ( 278 )
    I bought Kylix immediately after the price drop.

    There are certainly pros and cons, as do all things. The stability of the IDE is somewhat disappointing -- I've crashed it several times already. The IDE is a bit on the slow side (but the compiler and the apps run quickly). The IDE's problems are probably due to the fact that it runs under wineserver, which was IMHO a sad design decision.

    It is easy to learn and use though. I'm happy to have a true visual design environment. The debugger is easy to use and powerful, although when I tried to browse a complicated object it said "Not enough memory". Yeah right -- I have 256MB, most of which was free.

    I wanted to write a DB app, but its MySQL support is limited to 3.22, which doesn't do me any good -- I will not and cannot downgrade. Hopefully they'll upgrade that and write a Postgres driver soon.

    And I have mixed feelings about writing open source software with it. I guess it's fine for some things -- for instance non-essential things that will be handy for some people. But any essential component of a free system should be written with a genuinely Free compiler.

    Despite its flaws, it is without a doubt the easiest way to create end-user GUI apps for Linux. It's a good first attempt, but Borland definitely needs to take its time and release a higher quality second version.

  • Borland can't LGPL the CLX because it depends on Qt, which is GPL'd.

  • Hmm. I had to use VB 4 & 5 for a previous job (don't worry, I got out before any permanent damage was done) and while it is a horrible language in many respects, it *did* make accessing database tables fairly easy. IIRC you could create a form to browse and update DB fields with no code whatsoever. I don't remember how easy inserts/deletes were.

  • First, Borland offers D6 for $399 if you own any other Borland product. I suppose the Kylix Desktop would qualify. So you don't need to shell out the $999.

    Also, D5 is *not* as compatible with Kylix as D6 is. D6 brings the CLX to 'Doze.

  • by Micah ( 278 )
    The IDE does not run under wineserver, that is FUD.

    Then how do you explain THIS?

    [micah@eclipse micah]$ ps ax | grep wine

    1157 pts/2 S 0:00 grep wine
    [micah@eclipse micah]$ kylix/bin/startkylix &
    [1] 1158
    [micah@eclipse micah]$ ps ax | grep wine
    1163 ? S 0:00 wineserver
    1170 pts/2 S 0:00 grep wine
    [micah@eclipse micah]$

    Do you mind telling me why? You want to use something that's horrible at optimising code like gcc?

    For one thing, gcc is improving quite dramatically. But yes, any *essential* system component at least needs to compile with a Free compiler, partly (mainly?) for philosophical reasons. It's OK if it also compiles with a closed source compiler that generates better object code. But the benefits of Open Source extend to the compiler, and not being able to fix a bug in the compiler that causes one of your Free programs to misbehave would be putting Free Software at the mercy of a proprietary corporation. Not good.

  • by Micah ( 278 )
    ahh, so winelib apps require wineserver too. I thought that was just used when actually running wine on Windows apps. My mistake.

    Like I said, I think Kylix is a great tool for a lot of things. Probably the best tool for a lot of things. I'll use it where it makes sense. But not all code generated by gcc is particularly bad, and the ability to have an open source compiler compile essential system components is pretty important. IMHO anyway.

  • If you really want to study programming, you need to start with C, and use XEmacs as an environment -- does everything IDE is supposed to do but does not adds its quirks to the language when you need to concentrate on it. After C one can choose to study C++ or interpreters (perl/python/...), and after either one should be able to make his own decisions on everything further.
  • by rafa ( 491 ) <rikard@anglerud.com> on Sunday June 10, 2001 @04:37AM (#162833) Homepage Journal
    This [kde.org] post over at dot.kde.org [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.

  • Not too long ago I did a presentation for the local LUG (back in Chico) called "Rapid Application Development with Python and libglade". This focused on using python with libglade, a library which loads and renders XML files written by glade (a form builder using GTK) at runtime with very, very little code. These two tools, used together, really do make a kick-ass way to develop apps quickly. While a VB programmer may miss having a single, unified interface (rather than breaking it down into the editor and the UI designer separately), the flexibility inherent in this approach is tremendous. I presume that using a Qt equivalent to libglade (and there are a few with python bindings) would be every bit as effective.

    Furthermore, glade-designed interfaces can be used not only in python but C, C++, Ada, Perl, Pascal, Scheme and probably quite a few other languages as well.

    Syntax highlighting, auto-complete and an object browser are all available at an editor near you -- and emacs python-mode is fantastic.

    Trust me -- spend a week or so working with one of these solutions; you'll find that you just flat out don't need the IDE, and that (in fact) the flexibility that a mix-and-match approach gives you is worth far more.

  • ... learn a language first. Command line, no tools. Just you, an editor and a compiler.

    Learn C first, then move on to Java. Then choose your IDE.

    Unless you have seen the machinery and worked between the wheels and pistons, you cannot expect to get a clue how the system really works on the inside, and which approaches to debugging make sense. Only after such an experience, you'll be able to choose a proper environment for yourself, and be free to leave it, should it become necessary in the process of coding or debugging.

    © Copyright 2000 Kristian Köhntopp [koehntopp.de]
    All rights reserved.
  • You want choices of IDE development environments? I've catalogued about a hundred of them [linuxmafia.com] for Linux. Mostly as an overkill counterargument for when I hear "There aren't any IDEs for Linux".

    Oddly enough, I stopped hearing that bit of FUD about a year ago, about the time I added entry #40.

    Rick Moen
  • by Joe Rumsey ( 2194 ) on Sunday June 10, 2001 @08:39AM (#162842)
    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.

  • I've programmed somewhat in VB myself. I guess you could call it my primary language at this point.

    It depends on what you've been doing with VB. VB's strength has always been it's GUI RAD. However in recent years it's also become an incredibly adept language for writing middle-tier business objects.

    If you've doing the middle-tier stuff, then you may wish to look at Java.

    However, if you have been doing the GUI stuff. You won't find anything better. Java really does not work well for UI design. I suppose you could look at Delphi, as you suggested.

    However, if what you're really just looking for is a "Real" language which eliminates all the inconcistencies and goofy things about Visual BASIC. Microsoft will be releasing VB.Net here in the next year. The Beta2 preview should be out by the end of the month, and you can start looking at it now with Beta1.

    I went to a prestentation by Rocky Lohtka(author of several books including one on VB.Net) who explained many of the differences. I was very impressed with how much of old VB they are throwing away in favor of doing it the right way. I know some old time VB people are mad, but I've never much cared for the language, so. :)

    Although personally I'm looking into C# myself, as I have more of a C background.

    It all depends on what one is looking for. If it's your goal to go into the Linux world, good luck. If it's your goal to just become a more efficient and more capable programmer, .Net is obviously where it's at.
  • I don't believe Microsoft will be porting their IDE to Linux any time soon.

    As part of the ECMA standardization, there will be a reference implementation for C# which will be available and most likely run on Linux.

    But it's doubtful that it'll be full featured. i.e. just the base classes will be implemented.
  • It always amazes me when I see ignorant people bash VB, but promote PERL.

    As much as I dislike VB, I dislike PERL even more.
  • 'High Level Language' usually refers to a higher degree of abstraction.

    Moving from VB to C/C++ would not be regarded as a move to a high level language, but rather a lower level language.

    I agree with your comment about being frustrated with VB's lack of functionality. This is addressed in Visual Studio.NET.
  • The only disadvantage of the Visual Studio IDE(or any other) is the capabilities of the editor.

    Otherwise, the Intellisense and ability to easily step through the code with breakpoints, watches, etc. makes the IDE much much more powerful than anything you will do with Emacs.

    I don't think the benefits of an IDE can necessarily be ignored. For instance in Visual Studio.NET you can place comments 'TODO: blah' and they show up in a Task list within the IDE.

    I will grant you that sometimes those editor capabilities, or lack thereof, can be annoying.
  • Your experience with VB appears to be limited to version 4.

    First of all VB6 is compiled code.

    Writing database applications using ADO recordsets is incredibly easy.

    I'm not at all certain why you are trying to compare VB with Access.
  • Sigh. I'm getting very tired of responding to people who's understanding of VB is limited to version 3.

    I have a number of friends who used to be Delphi programmers. They all admit that since VB6 there has been very little to differentiate Delphi.

  • Troll? Again, I'd call claiming PERL is a serious language is a troll.

    PERL is good for what it was designed for, true.

    But the same is just as true for Visual BASIC.

    But trying to say any of these languages is a good all-purpose language, or that any one of them is a more "real" language than the other is ridiculous.
  • It failed because DAO doesn't support Access 2000. We ran into that "WTF Moment" last week. We weren't programming in Access though, we were using MFC/VC++ (which if you've never used it is the biggest POS I've ever used.)
  • I forget where the menu option is, i think under tools in the code editor for Access... but you can turn on the DAO and use it like you would for Access 97. However as you know Mickeysoft wants you to use the ADO and all of it's carp! Just when the DAO was becoming understandable now I have to understand the ADO... grrr.... hmm DAO.. ADO... wonder if someone at Mickeysoft was dyslexic...

    As for programming I did things the opposite way... I first learned how to program in Pascal then C then C++... then I grudgingly learned access basic... I still yern for Turbo Pascal 5.5 and Turbo C 1.0.. now those were the days! I still love that editor!
  • And if you use wxWindows/wxPython, you get a very nice cross-platform GUI API, with *native* widgets. On a Mac, your program will look like a Mac program; on Windows, it'll look like a Windows program; on KDE, a KDE program. There's a *lot* to be said for that, when it comes to post-sales support of lusers.

  • Linux wins hands down in server space; I have a fellow consultant who replaced a VB app that had taken months to develop (and still didn't work) with Zope in 15 minutes. The proper objectness of it (VB still doesn't really have it) helped a lot. Nice looking is up to you, but it is free and workable. (-:
  • by hatless ( 8275 ) on Sunday June 10, 2001 @06:22AM (#162871)
    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.
  • Hey there.

    From the website:

    wxWindows gives you a single, easy-to-use API for writing GUI applications on multiple platforms. Link with the appropriate library for your platform (Windows/Unix/Mac) and compiler (almost any popular C++ compiler), and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWindows gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much much more.

    wxPython is the same thing with Python bindings.

    You're more than able to do all of this in your favorite text editor like Vim or Emacs, but since you're into fancy IDE's, they sell whDesigner

    Here's the link: .http://www.roebling.de/buy.html

    The pricing is quite reasonable:

    Product Price
    Student licence US$ 19
    Single-user licence US$ 89
    10-user licence US$ 299

    Oh, and they're working on Perl bindings too:http://wxperl.sourceforge.net/

  • and will in fact go one step further and recommend that you also write your own compiler, and--better yet--design your own language. Because you know how fickle this industry is, C++ could turn out to have been just a fad, and even if it sticks around, those OS guys could lose interest in the GNU compilers any day now. What will you do then, C++ boy?
  • We have own our GUI BASIC: GNOME BASIC.
    http://www.gnome.org/gb [gnome.org]
  • There happens to be an open source refactoring tool, called Transmogrify, that has been released.

    Details are available at transmogrify.sourceforge.net [sourceforge.net]

  • by Kamelion ( 12129 ) on Sunday June 10, 2001 @05:06AM (#162881)
    Is there a reason why you are not considering Java?

    If you are looking for a cross platform language, why not go with one of the Java IDEs? Cross platform supposedly is the primary goal of Java. Although vi is my IDE, you might like something like JBuilder.
  • There are lots of IDE's that support Java. Java is object oriented, but a little more complex than Visual Basic. I have used both and found Symantic visual cafe to be a good ide. Although you need a VERY powerful machine to run this (over 500Mhz with 256 Megs of RAM) to be really effective and not have to wait.

    Where I am working we have VB as well and I have found it to be a rather nice and easy language, it lacks lots. VB was taken from Basic, which was actually a programming language that was to be used as a learning language, like Pascal. B = Beginner (Beginner Allpurpose Symbolic Insctruction Code). It was never really intended to do anything effective, but M$ has abused that and made it more of a M$ proprietary standard.

    My suggestion is that if you really want to porogram effectively you'll actually learn to program in another language. I think that C++ is good for GUI's or C. The problem I have had with Python is that I have had is that sometimes it works sometimes it does not. Perl / Tk and Tcl can get to be to slow when you have lots of widgets on a window. IF yu have a simple GUI then you are fine, but when you start to put many widgets on a window then you have slowness problems and performance problems. These can be worse than Java performance.

    The truth is that I am actually somewhat against IDE's as they usually create BAD bloated and unreadable code.

    I don't want a lot, I just want it all!
    Flame away, I have a hose!

  • Beginners need to work too. ;-)

    This is true, so they can start with Java. It is also OOP, and it is actually better than VB as it runs just about anywhere.

    I don't want a lot, I just want it all!
    Flame away, I have a hose!

  • Well, my take on this is that Unix finally has
    alternatives to MS tools. Used to be you could
    have your choice of vi or emacs. And GUI meant
    Motif. And you needed to learn X quirks. And...
    Now there are IDEs which hide a lot of complexity
    from you, so MS bashing is no longer needed to hide the lack of good RAD tools.
    RAD tools, Office suites, desktop environments,
    visual config tools and others are growing up
    on UNIX/Linux so expect less MS bashing and more
    of: why use proprietary stuff when free stuff is
  • Use C is the task fits C's solution set. Otherwise use Java, Perl, Python or whatever happens to fit your problem best.

    Use C for the right task, but LEARN C before you become a serious programmer. Understanding pointers (and memory allocation/deallocation), low-level I/O, allocation on the stack vs. the heap, and all the other headaches that C forces on you helps you to really understand what is going on behind the curtain presented by higher-level languages. It also helps you to appreciate what the higher level languages do for you.

    I'd suggest that people learn how to write assembly, too, but that seems to be beyond most people's skill sets. The more you understand about what is REALLY going on, the better a programmer you will be. C, as a high-level assembly language, is a good compromise.

    I'd also suggest that a good course in algorithms and/or discrete math should also be on the menu. Programming languages are just syntax. Understanding how the parts should all fit together (and why one way is better than another) is much more important.

    Once you have the theory down, the practice is next. Software engineering is more than just writing code; it's writing maintainable code. Most programmers love showing off how clever they are. Their programs, however, suck. For any non-trivial project, clever tricks are a bad idea. Leave the hacks for the Obsfuscated C contests...

    Once you have all of this down, it's time to pick a programming language and IDE. Remember: wax on, wax off, wax on, wax off...


  • I'd say Java is in the middle. It's more powerful than C but simpler than C++

    What does "Power" mean? All of these languages are Turing-complete; they all have exactly the same expressive power (which is the same as a Turing Machine. If you don't know what a Turing Machine is, you aren't qualified to have an opinion on this topic.).

    Java is a great language; I make my living at it. But C is the first language any moderately competent programmer should learn. After you understand C, you should then take courses on theory and software engineering. Then pick a language and IDE.


  • ohh... you said 'Turing machine' a cookie for you!

    Thank you; I like cookies.

    I mean, fuck, you know that a 'Turing complete' language doesn't even need to have arrays, or named variables or pointers? Try programming without those for a while and come back and tell us how no languages is any more 'powerful' then any other.

    Been there, done that. It's called assembly language. Anyone who has a CS degree worth a fuck should be able to handle it. Most CS degrees, though, are crap. Most programmers are even worse.

    Since you have a poor grasp of English, let me restate what I wrote. No computer language is any more powerful than any other. Sure, high-level languages constructs which make bookkeeping (keeping track of variables, memory, start/endpoints of code fragments, calculating jumps to code fragments, etc.) easier. But that's all it is; bookkeeping. It makes programming more convenient; nothing more. Convenience isn't power. It's helpful, don't get me wrong, but that's about it.


  • Why not just learn assembly language if you want to know how a computer works? It get's you a lot closer to the metal then C.

    Because, if you bothered to read the next paragraph in my post, C is a good compromise. I do think people should learn assembly. Read what you criticize before you open your trap. It makes you seem like less of an idiot.

    Trying to Learn C won't do him any good other then painfully making leaky programs.

    Everyone's first C programs leak memory. That's the nature of learning how to program. Over time, you get better. It's called learning. Those of us with frontal lobes are capable of it.


  • I certainly don't mean to to denigrate Josh, but why does it seem like he's more concerned with what GUI he uses than what language he uses to get the job done? I would think a peson moving to Linux scripting/programming from Win32/VB would take a look at the landscape of languages and size them all up according to one's needs, desires, proclivities, availability, etc. Personally -- and this is just me -- I'd find out what language fits the task at hand and then go looking for an IDE.

    Without knowing *anything* about what he intends to do with his new language choice, I humbly suggest that Josh take a look at perl and vi. Using perl will give him a taste of Unix scipting, and perl is very multipurpose (perl is arugably the VB of the Linux world). Perl has the added bonus of being easy to learn, so spinning up from VB won't be as hard as with Java or C (no flamewars intended). Learning and using vi will allow him to get to know an editor he can use at a command prompt, which practically is a required skill for a Unix user (after all, you may not always have X, so only getting to know a GUI does you a great disservice). I'd even recommend emacs, which has some great IDE development capabilities.

    After he's got perl and vi under his belt, he can go take a look at an X-based GUI. But I still say that he should examine his programmatic requirements before his aesthetic requirements. Again, this is only a humble suggestion based solely on my experiences. YMMV, etc, etc.


  • by pong ( 18266 ) on Sunday June 10, 2001 @04:49AM (#162900) Homepage
    Java is a great language, and there are several very good IDEs available for Linux. I have used JBuilder professionally for 8 months now - before that I used emacs exclussively, but I'm not going back now! JBuilder is top notch but lacks a great refactoring browser. I know you can buy a refactoring tool called jfactor that plugs into VisualAge, so if that's important to you, then maybe you should try that.
  • Sure, it *is* supported, but when it was 2:30 in the morning the night before I was supposed to deliver the program and it Just Wouldn't Work, though all the code was right, I got pretty frustrated.
    I'd gotten really good at DAO. I'd memorized its functions enough to be able to dictate it to someone over the phone. I didn't appreciate having someone else tell me that it wasn't recommended anymore. I didn't want to feel like I was being shepherded along an upgrade path. If I was going to write code, shouldn't I want to write programs that weren't going to be thrown away?
    Access was great. I learned to program using it. I made a lot of money being good at it, but yet, there is something flawed in it. It limits you unnecessarily. The database/app bundle concept is just wrong.
    Let me explain:
    I have a student that I am teaching beginning programming to - We started writing PERL on NT, using ODBC to talk to an Access database that he'd created. Between lessons, he started having trouble with the database, so I told him to mail it to me. Problem was, he was using Japanese Access 2000, I was on English 97. S.O.L... The next lesson, I installed MySQL and MyODBC and we haven't looked back. He's now comfortable writing SQL on a command line, be it Linux or Windows. I can log in remotely and check his tables. Sure, it was a little more difficult for him to grasp at first, but that went away after about a week. (We found a great front end for MySQL - http://dbtools.vila.bol.com.br/ )
    Now, he can dump all of the create and insert statements into a plain text file and mail that to me. With very little editing, we could 'upsize' to Oracle or Sybase.
    Plus, it's FAST.
    But the biggest thing is the feeling that we don't have some marketing department somewhere deciding how we should be writing our code.

    Imagine that you wrote a great application in Access 2.0 - that was what, 6 years ago? Try to sell it to a client. Try to make it run. It's not something you would really think of doing, because you've upgraded so far beyond 2.0 - Now imagine that you wrote a great program in perl, 6 years ago. (Or 16 years ago - When did Larry write it?) Chances are, it would still run now, if it ran then.

    I don't want what I write now to be obsolete in 5 years.

    I want to be able to run it on the platform of my choosing. Linux, Windows, whatever.

    Plus, It's free. All of it.
    I sometimes kid about MS requiring all of its developers to upgrade to 'ActiveIF' technology - No more writing complicated 'If..Then..Else' statements - Just drop in a few ActiveIF controls. Just be sure you have licenses for each occurrence...
    How far off the mark is that, really?

    Jim in Tokyo

    MMDC.NET [mmdc.net]
  • by wirefarm ( 18470 ) <`jim' `at' `mmdc.net'> on Sunday June 10, 2001 @06:24AM (#162903) Homepage
    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!

    Jim in Tokyo

    MMDC.NET [mmdc.net]
  • by Arandir ( 19206 ) on Sunday June 10, 2001 @11:41AM (#162906) Homepage Journal
    First of all, you're hampered and crippled by being a VB programmer. From you question, it seems as if you're seeking the Linux/Unix equivalent of VB. Forget it.

    Your first step on the road to recovery is to learn a real programming language. And learn how to program in that language without the benefit of drag-n-drop and plug-n-play.

    My recommendation is C++. Other people will call me a heretic and say it's evil. No matter. You get to learn C along the path to learning C++, so you can always stop along the way if you feel yourself slowly being twisted into an agent of evil. Other great languages are Python and Perl. Java is a cool language as well.

    But no matter what you choose, learn to program first. Nothing else matters.
  • If you are doing this (in part) to develop your skill set, you might think about going with C++, any given IDE (using gcc, which is a good C++ compiler, and Qt as a portable windowing library. Despite the fact that it is linked in many people's minds as a "KDE" thing, in reality, it was designed from the beginning as a cross platform windowing library, and functions very nicely in Windows, X, MacOS, OSX and on embedded platforms.

    It is *very* object oriented (which not all C++ toolkits are), and well documented with several nice high level tools (Qt Designer, etc). You *will* have to find an IDE for project management, I believe (correct me if I'm wrong, and somebody knows better!).

    Quite frankly, if you only really know VB, C++ will introduce you to a good spot smack dab in the middle of the "C family" of languages: C, C++, Java, Perl, PHP, and many many more.


  • I have yet to find another 'editor' that does what Emacs will do.... have you really used the IDE type features of emacs before?
  • I laugh when I get a resume for someone who's a 'programmer' who doesn't know any C.
  • by mindstrm ( 20013 ) on Sunday June 10, 2001 @05:49AM (#162910)
    You should not be limiting yourself on learning a language based on the IDE available. Learn C. Use an IDE if you wish.
  • by JohnZed ( 20191 ) on Sunday June 10, 2001 @07:26AM (#162913)
    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 [borland.com] if you haven't already. --JRZ

  • by DenialS ( 21305 ) on Sunday June 10, 2001 @05:03AM (#162914) Homepage Journal

    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 [activestate.com]:

    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 [javasoft.com]. 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 [vim.org] 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.

  • I should also add that this will let you use whatever language you like. I can use Emacs / Glade and GTK from C and Python and only have to change language to do so, not entire IDE and gui builder.
  • by Phill Hugo ( 22705 ) on Sunday June 10, 2001 @05:12AM (#162916) Homepage
    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.
  • Since there's no requirement here for the IDE to be free, there are plenty of other (dare I suggest better) options for a Linux-based IDE for Java. VisualAge for Java is a nice one, IMHO.
  • In addition to Lazarus, there is fpgui [freepascal.org]. It should be independent of GUI APIs as well ... dunno if it's good though. Looks nice, lookin at the the little information the site has and the screenshots.
  • Don't be so bloody elitist. Just because someone uses VB does not automatically mean they are a moron. Personally, I think it's one of the worst languages known to man, but I am willing to accept that it meets others' needs... and besides, the original poster might be an expert in working round all the bugs MS included. And he's moving to a different language now anyway!

    Also, the phrases "an expert programmer who uses Visual Basic" and "an expert Visual Basic programmer" mean very different things.


  • It's apparently not released yet. I found this link: http://www.borland.com/about/press/2001/kylix_main stream.html [borland.com] which stated:

    Pricing and Availability

    Kylix is available in three versions: Server Developer for professional and corporate Apache Web developers for $1999, Desktop Developer for professional application developers for $999, and Open Edition for open source and free software (GPL) development only will be available for free download or for purchase at $99 (with hardcopy documentation and CD). Kylix Server Developer and Kylix Desktop Developer will be generally available before the end of the first quarter 2001. Kylix Open Edition will be available by mid-2001. For more information about Kylix, please visit the Borland Web site, http://www.borland.com/kylix.

    I found essentially the same para. in a different BorLink: http://www.borland.com/about/press/2001/kylix_rele ase.html
  • Just a few points of clarification.
    The VB from .NET is vastly different then the VB you are used to. You are pretty much going to have to learn a new language. VB.NET is to VB what C# is to C or C++. They may seem similar but all of your apps will have to be re-written from scratch.
    Also the .NET platform will never support any language that MS does not like *cough* java *cough*.
    And of course .NET is not cross platform.

    I find all this talk of language independence very very funny. COnsider this.

    Vast majority of the windows applications in this world are written in VC++, or VB or Delphi. Throw in java and you have the four most popular languages in the world. The .NET platform does not support any of them!. Every single app written in those languages has to be completely re-written from the ground up to work in the .NET platform in either c# or vb.net (I am presuming of course the eiffel# will not be such a huge draw).
  • Postgres is great but it's really hard to set up in a windows environment. You can also use interbase which is equally at home in windows and linux. As a bonus it is supported by klyx and delphi natively.
  • These days the astro turfers outnumber the open source advocates. Look at the previous set of MS topics and you will see every single +5 moderated post is a pro MS post. The best way to get your karma up to 50 on slashdot is to say something nice about Bill gates or his company.

    Of course anybody like me who points out this indisputable fact (go check for yourself) will get moderated down but I got karma to blow and can always get it back up by saying something nice about MS.
  • You are speaking the microsoft doublespeak. Sure .NET platform is available for VC++ or foxpro but that is only good for any new apps you may want to write. All of your existing apps have to be re-written. You can not take an existing VC++ or foxpro app and have it run on the .net platform. You have to go back and re-write the app from scratch.
  • I don't think C++ is the first C-like language someone ought to try. I wouldn't call it the "middle" of the C family; it's really at one extreme of power and complexity.

    I'd say Java is in the middle. It's more powerful than C but simpler than C++, and it's more dynamic than C or C++ but less so than Perl or PHP.
  • No computer language is any more powerful than any other. Sure, high-level languages constructs which make bookkeeping (keeping track of variables, memory, start/endpoints of code fragments, calculating jumps to code fragments, etc.) easier. But that's all it is; bookkeeping. It makes programming more convenient; nothing more. Convenience isn't power.
    Only by one (not very useful) definition of "power". Sure, all reasonably powerful general-purpose programming languages can espress the same algorithms. That has been true for 50 years. So why use a definition of "power" which is so obviously useless?

    In physics, power is work divided by time. By analogy, I don't think it's too much of a stretch to say that something that lets me get more work done in less time gives me more power. Higher-level programming languages let me write more sophisticated programs with less effort. To me, that's more power.

  • Maybe he wants to broaden his skills.
    Knowing only one language ( with quite limited usage many would say ) is like being a construction worker who only knows how to use one particular type of hammer. Sure you can use that hammer to fasten a screw to a wall, however it is usually more efficient to use a screwdriver. A developer who only knows one platform and one tool can not - in my opinion - call him or herself a developer without lying through his/her teeth.
  • by cr0sh ( 43134 )
    Why does everyone put down VB programmers? I thought the lot of you were open minded individuals? Have any of you actually used VB? I am not saying it is a be-all/end-all of languages - it isn't. I am not saying Microsoft is the god of computers - they aren't (now, the demon). However, they have taken a language, and made it very easy to develop powerful applications in a fraction of the time it would normally take to develop such programs. Full drag-and-drop GUI building. Nothing anywhere else (ok, actually there are a few - I will get to those later) comes close. Drop in some Visual C and a decent database via ODBC, and some serious shit can be built - provided it is done methodically and planned.

    Any language can be bastardized - any program can be a crock of shit when looked at underneath - no matter the language used. It is the programmers and team that determine how well the system is put together. I have no doubt that well built systems can come out of using VB, give competent developers.

    With that out of the way, what are your options?

    Well, if you have to have an IDE, and you want the ease of BASIC, you might look into XBasic. If you are willing to give Java a go, get one helluva powerful computer and download the SDK and a copy of Forte CE - you will be pleasantly surprised (I liked it, except the machine I tried it out on at the time was too slow, and didn't have enough RAM, so it kept paging to disk for simple tasks, like opening up menus and such - blame that on Swing? - I dunno for sure if that was it, but something made it really slow - but the fastjavac compiler is great - Forte is VB for Java, certainly).

    If you really want to try something, give up on an IDE - grab a copy of NEdit, and start playing with Perl or Python (and if game coding is something you enjoy, PyGame looks real inviting). As another poster said, *nix is the IDE - a lot of neat things can come from the command line - a few term sessions, a copy of NEdit, and you are good to go. Actually, even using Java sans IDE (like Forte) isn't that bad - it actually makes you think about the GUI you are designing when you can't see it, when using Swing (and please, use Swing if you can, and not straight AWT).

    Anyhow, that is my recommendations...

    Worldcom [worldcom.com] - Generation Duh!
  • Isn't this an oxymoron?
  • I'd suggest getting the new Amiga SDK [amiga.com]. It's sort of like Java, but it's designed one hell of a lot better and it's more efficient.
  • you should probably start learning C++.

    Please NO! The last thing the world needs is another C++ programmer that doesn't know C (and doesn't understand pointers, for instance). Some people may argue otherwise, but I strongly suggest learning C before proceeding to C++.

  • What the hell is the point in learning C before C++?

    Because it's easier than learning assembly language before C++.

    The problem with many of today's programmers is they don't know how a computer actually works internally. They never deal with memory allocation, pointers, explicit variable declaration, abstract datatypes, locking, etc. When you don't know about these things, you make design decisions that result in inefficiency, buggy programs (including security problems), and ugly-looking code.

    The best high-level programmers I've met are the ones who are good at writing low-level code. I don't suggest that people never learn C++, but I do suggest that they learn C (or assembly, if they can handle it) so they'll know what they're doing when they write code in other languages.

    When you get experienced enough, you can learn any programming language in a matter of days. However, you'll only get this far if you've done both high-level AND low-level programming, and a lot in between. Since Josh Berkus has already learned a high-level language (VB), I am now suggesting a low-level language. I strongly suggest it because I've seen too many people who think "C++ is the best for everything", yet who have never actually made an effort to learn other languages.

    Regarding your insult to C programmers, you are plainly wrong. Every language has its benefits and weaknesses. I also challenge you to write a Unix-like kernel in C++.

  • Possibly because that wasn't my argument. I quote myself:

    The problem with many of today's programmers is they don't know how a computer actually works internally. They never deal with memory allocation, pointers, explicit variable declaration, abstract datatypes, locking, etc. When you don't know about these things, you make design decisions that result in inefficiency, buggy programs (including security problems), and ugly-looking code.

    Nowhere in there do I mention C coding. All I said is doing C coding helps you understand the computer, so you'll be a better coder in other languages, when you use them.

  • s/languages, when/languages when/

    I should go to bed now. It's late and I'm putting commas before my prepositions. Ugh!

    And Slashdot's lameness filter and 2-minute comment limit is really starting to piss me off... It should be pulled, or at least for people with a high enough karma. grrr...

  • I said it helps you understand the computer, not it causes you to understand the computer fully.
  • 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

    I wonder if that really is going to be the case..

    I've never used Borlands stuff, but I have toyed with VB a few times - and most of the people I know who use it are basically using it as a container for ActiveX controls, and the like.

    A large amount of Borland/Vb code is making use of ActiveX controls, and COM - which isn't going to be available for Linux .. surely that means that a lot of existing code isn't going to be easily portable to Linux?

  • > Re:Delphi is dead don't waste your time.

    I've had to put up with FUD like that from management types Since Delphi 2's days. Delphi 6 has just shipped, stronger than ever.

    Even if it was dead, which it isn't, I'd still code in it, because it is both productive and fun. Hm, maybe that's why it's going so strong.

  • > Its too easy to cheat with the language and revert back to "proceduralness"

    Excuse me, but C++ was *designed* to be a multiparadigm language (procedural, generic programming (templates/containers), AND Object orientated.) That is its strength, and what makes it so complex to learn.

    All 3 paradigms are orthogonal, and supported by the language. It is up to the programmer/designer to know what paradigm applies to the task.

    You might want to check out these books:
    Multi-Paradigm Design for C++ [amazon.com]
    http://www.amazon.com/exec/obidos/ASIN/020182467 1/

    Generic Programming and the Stl : Using and Extending the C++ Standard Template Library http://www.amazon.com/exec/obidos/ASIN/0201309564/ [amazon.com]

    "The issue today is the same as it has been throughout all history, whether man shall be allowed to govern himself or be ruled by a small elite." - Thomas Jefferson

  • It is only $79.99 and is reduced to $49.99 during the beta. The new beta coming out shortly will also include support for Ruby.
  • I second this. Even if you do decide to use one of those IDEs you've mentioned, you'll also want to become proficient in Linux toolsets if you're serious about development in Linux.

    Why? Because you'll need to perform setup and configuration that can only really be done effectively from something like Emacs and the shell.

    If you were developing to target the Windows platform, I wouldn't recommend that you use Cygwin as your primary toolset, similarly, I wouldn't recommend toolsets that are designed with Windows developers in mind as your primary toolset in Linux.

    Go ahead and use the IDE for what it's designed for, screen layout and class browsing and such, but don't come whining to us if there's some hot new tools that come out for Linux later that don't integrate well with your chosen IDE.

  • by Kidbro ( 80868 ) on Sunday June 10, 2001 @05:33AM (#162986)

    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...


  • Actually, the vast majority of Delphi components are written in native Delphi.

    There will probably need to be some modification of the code to move them to Delphi 6/Kylix, but on the whole it's supposed to be an easy transition.

    ---- Sigs are bad for your health ----
  • Pricewatch.com is listing 64MB DIMMS for as low as $9. That price seems to scale pretty well into the larger DIMM range. I worked out that you could put a gigabyte of RAM on your system for in the neighborhood of $400. I wouldn't let RAM slow you down.
  • by Greyfox ( 87712 )
    Others have said it, but I feel the need to chime in here too. Java's where it's at right now from a career perspective. When I was blasting resumes out 6 months ago, everyone wanted to know if I had any Java. Now I'm in a job where I'm working on it so next time I'll be able to say yes. From a career perspective, Java is a good move.

    From a language perspective it's a pretty good move too. A few years ago, Java was a major suckfest. It's matured a lot since then. You can do some really neat things with the language.

    I've never used VB, but I've used a lot of other IDEs and have in general found them to be a pain in the ass. You might need a form designer to do anything useful with the MS API, but you shouldn't need one in Java. Especially if you handle the GUI components in a suitably OO fashion. (This pertains to C++ with any of the C++ based widget libs out there, too.) Just design control widgets and drop them where you need them in your form. Having seen some IDE using java programmers try to make the transition from Windows to UNIX, I can guarantee you you'll be lost at some point if you don't know what's going on under the covers, and the IDE hides all that from you. I can move from UNIX command line to Windows command line with relative ease. My co-workers can not easily move from Windows GUI to UNIX command line.

    If you're not already into design patterns, you'll want to grab a few design patterns books too. Design Patterns will put you into a more useful programming mindset.

  • I think I did that calculation on the PC2400 DDR SDRAM, actually.

    Of course, the only AMD Motherboard I could find on Pricewatch that would actually take 4 DDR SDRDAM modules is the new Tyan dual-processor athlon board. So the board and hte RAM will be running you in the neighborhood of a grand by the time you're done. And by the time you add a 19" monitor, a Geforce2 ultra and a 32 GB Ultra160 SCSI drive, you're in the neighborhood of 2 grand. Ah the price we pay for progress...

  • Well, if you use ctags, emacs/jed, gcc, gdb, and a few xterms, I wonder what additional functionality you want in an IDE.

    The reality is that UNIX philosophy leads to small tools that do their jobs well. Hence, emacs, gdb, gcc, a few xterms... (actually, use vi or jed instead of emacs for the UNIX philosophy of small tools).

    This philosophy is useless under a Windows environment in which the standard shell is functionally broken by UNIX standards (no pipes, for example). Why would you need instant access to header files when you are using ctags ?

    So you might start by asking how you can maintain your Windows programming mentality under linux, or you might more intelligently ask what approach large projects take under linux. As a hint, GNOME and the kernel are mostly programmed with a few consoles, emacs/vi/jed, and SOMETIMES gdb and ctags. KDE has its own C++ builder, but I don't know how many people use it.

    The underlying tools take a completely different approach, which makes completely different programming approaches effective.
  • by S5o ( 102998 ) on Sunday June 10, 2001 @04:46AM (#163003) Homepage
    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.
  • I take your point about productivity, paying the bills etc but I doubt very much that that is what this poster is after. They (understandably) just want to broaden their skill set to cover more than just 1 platform (althought to call windows 1 platform is being a bit kind - I'd rather think of them as several closely aligned by slightly different in an annoying way). They're not really even sure which language they want to use, and there is no mention of commercial development just "looking to adopt a different, cross-platform" language in which case I would argue that it might not be such a bad idea if they did actually learn the language.
  • by MrBlack ( 104657 ) on Sunday June 10, 2001 @05:08AM (#163006)
    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.

  • actually Err.Number will return 0 for a no error function. Sometimes handy..
  • Rather than using Kylix / Delphi, consider the Free Pascal [freepascal.org] based Lazarus [freepascal.org] project.

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

  • by Aceticon ( 140883 ) on Sunday June 10, 2001 @12:46PM (#163023)
    You say that because you haven't saw the spell for starting to program in Java...

    It's unbelieveable the sort of things one has to do with dog's drool an optical mouse and a black chicken ...

  • by Aceticon ( 140883 ) on Sunday June 10, 2001 @06:07AM (#163024)
    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

  • by fm6 ( 162816 ) on Sunday June 10, 2001 @03:09PM (#163044) Homepage Journal
    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 [employees.org] 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.


  • by GodSpiral ( 167039 ) on Sunday June 10, 2001 @04:33AM (#163047)
    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.
  • by _ganja_ ( 179968 ) on Sunday June 10, 2001 @08:41AM (#163056) Homepage
    "expert Visual Basic programmer"

    That's got to be an oxymoron :-)

  • by Billly Gates ( 198444 ) on Sunday June 10, 2001 @06:18AM (#163067) Journal
    Go to www.yahoo.com and search through the classified sections with keywords "Java", "c++", "Visual Basic", "Perl", and "Python". Then count the amount of jobs available. Pick the one with the most jobs available. Remember, that software packages can be very expensive and you should purchase them as an investment that can pay off in your career. Also you may want to learn a new programming langauge for fun and thats cool but try to look at the big picture.

    Where I am in New York City, the number 1 langauge here is Java. This really supprised me. So, in my case when I am done learning python and Visual Basic, I will specialize in java. I will probably get a job as soon as possible with the best pay by chossing java over the other options. It doesnt matter how good the ide is as long as it basically works and you can learn the language. If you purchase RedHat 7.1 workstation or professional server, it will come with borland JBUilder and Fotre for java.

    They are only light ide's of the professional and enterprise editions of course but you can just manually type in all the code rather then have a push button do it for you. You will learn alot more the old fashoined way. Also if the 2 ide's are annoying, you can always learn Emacs or VI. The java sdk's are the full thing and are free so its not crippled unlike Microsoft products which try to force you into buying the enterprise editions. I switched to linux just because I was pissed at Microsoft crippling Visual C on purpose.

    Their are no jobs available for kylix so avoid it like the plague.

    I would also recommend that you check out what technologies the programming jobs use with a particular langauge. For example if most of the Java jobs (just an example) require SQL and are run in servlets, then learn SQL and specialize in writing servlets. If you going for a c++ job and you see alot of dcom/com or corbra skills required, learn them as well because just knowing c++ won't get you anywhere. Basically pick a language, and pick your speciality with what you do in that langauge. I am only an amuture programmer from a support backgorund so I might have the best idea's here. I just look at things logically.

  • by Tim12s ( 209786 ) on Sunday June 10, 2001 @05:18AM (#163077)
    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.

  • by update() ( 217397 ) on Sunday June 10, 2001 @06:34AM (#163081) Homepage
    Gideon (with that name, everyone's going to think it's a GNOME app, for better or worse) is far from usable.

    The current KDevelop, or the 1.4 branch from CVS, is definitely worth a look. It's free, is pretty full-featured, integrates well with the excellent Qt Designer and is quite competitive with the commercial offerings. (Although I haven't seen Kylix.)

    Also Qt is cross-platform (although the Windows version isn't under a free license) and it's superbly documented and supported, unlike most of the other Linux favorites.

    Unsettling MOTD at my ISP.

  • 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/.
  • by arbours ( 302317 ) on Sunday June 10, 2001 @07:30AM (#163121)
    This is the main queston. I was a VB programmer for 3 years, from VB 3 until VB 5 came out. VB is a disaster for writing database apps. I think you know how VB is compared to Access, since you say you are a VB expert. And VB doesn't come close to Access. And Access doesn't come close to Delphi.

    When i first tried Delphi, at version 2, it was light years ahead of VB 4 - real data aware controls you can use without tons of coding behind the form, visual form inheritance, which is a god-send, compiled speed (and compiling takes all of 10 seconds for a 30 form db app). Since then, i have quite 2 jobs where they wanted me to use VB 5/6 instead of Delphi - my life isn't worth wasting and losing weekends just to work with a crappy tool, when i know Delphi cuts the time by 90% - that is NOT an understatement.

    So, if you do db apps, you have to check if these tools in the Linux world have real database controls, grids, combo controls, etc which you can use without writing any code. I doubt it, i haven't seen any of the ones mentioned say they have this feature. So, use Kylix, it has all those features of Delphi, and within 1 day, you would have saved the cost of the $199, and from then on it will be gravy.

    And, you can just do a recompile and bring the app back into Windows through Delphi. And take a look at the feature set Delphi 6 has - it is enormous, and extremely powerful, especially DataSnap and WebSnap for Web Services, far outstripping what MS or anyone else has -- Kylix will get all this too. I've also worked with Jbuilder and it has good database tools too.

  • by kurt_cagle ( 410798 ) on Sunday June 10, 2001 @09:32AM (#163154) Homepage
    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
  • by blang ( 450736 ) on Sunday June 10, 2001 @05:32AM (#163157)
    • Purgatory?
    • Deprogramming?
    • VBA (Visual Basic Anonymous)?
    • Crack cocaine?
    • Kindergarten?
  • by IncarnationTwo ( 457191 ) on Sunday June 10, 2001 @05:21AM (#163162)

    Cons and pros, Of course most of these are generally on RAD tools, but these are what I have Learned by experience. (on the newest release by the forte page.)

    Pro Forte:
    1. Forte is pretty fast way of developing java applications that run on alla java enabled platforms. It can do all the java Swing and AWT functionalities and you can add new Beans to it if you reimplement Swing classes.
    2. On basis of 1. Forte is exellent tool for creating installation tools, as they do not need too complicated java, and run on java VM. (sybase installers are coded on java2).
    So this is where I see a chance to plot a linux world domination: If not so power user would have these easy and working installation/deinstallation wizards that would be similar to the other OS's ones, it could make the system more applicable... And admins of some software, like DBA:s etc. could teach them selves only one installation procedure for all platforms.
    3. It is free for non commercial use. (Learning Java!)

    Con Forte:
    1. Forte is not too stable. In win2k (for my work) platform it crashes especially on debug mode.
    2. As a java program it eats (if you let it) humongous amounts of memory in win2k (ok not as much as vb.net but 196megs is barely enough). There is nothing wrong with this if you use it at work and your employer pays the memory.
    3. As so many other RAD tools, its settings are pure blather to a newbie. An after one year of using different versions of it I still do not know if there is a way to make generated code editable in editor and not in popup box 4. It does much of the Java classpath and package stuff automaticly, and therefore developer's often get stuck with them on the deployement phase. (as you no not have to set any of the classpath thins as they are as Forte overrides enviroment variables).

    So I'd say its exelent RAD for Java for there is no real competition, to my knnowledge at least.

You can measure a programmer's perspective by noting his attitude on the continuing viability of FORTRAN. -- Alan Perlis