Where Do You Go After Visual Basic?
"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?
Tooheys, Fosters, Swan, XXXX, Crownies... Sorry...
or you can skip the high license fee and use what essentially amounts to forte with netbeans. Its open source and free and written in java. In short its brilliant. Find it at netbeans.org
Well, no, ActiveX components aren't used very often with Delphi/C++Builder. Deverlopers rather create native VCL controls - which should be pretty easy to port to CLX. Up to a certain degree, CLX and VCL are source code compatible.
I must confess that I am a bit biased here, since I'm a Delphi fan of many years. However, I've also dabbled in VB for a few projects at work. I think that, in terms of similarities at the IDE level, Kylix is the way to go. There is also good information at the Borland website for VB coders interested in migrating to Delphi/Kylix. Among these tips is a comprehensive white paper describing the Delphi equivalencies to most-used VB functions. I would recommend Kylix with Delphi 5. Delphi 5 is much cheaper than Delphi6, and you can probably still pick it up at computer stores. I find Kylix to be strickinly similar to Delphi 5, and I think that they must be largely compatible. I use both, and recently ported one of my old Delphi 5 apps to Kylix. It was surprisingly painless. My app is a graphics-intensive program and I ended up modifying less than 3% of my code, to get it to work in Kylix. Basicly, all I had to do was remove some Win32 "units" (routine libraries) and replace them with their Qt-equivalent units. In many cases, you can get away with simply adding compiler directives that define sections of code belonging to one, or the other OS, in the same code base. A GPLd version of Kylix is coming out in late Summer 2001. If you can wait until then, you will have an opportunity to check out Kylix first-hand, and make a decision about it. Good luck in your search. Bob
More importantly to the original question, REALbasic is rumored to be bringing Linux support in version 4. So, with 1 source code you can complie for Mac 68K, Mac PowerPC, Mac OS X, Windows 95/98/Me/NT/2000 and apparently Linux very soon.
Kick ass!
If you're doing it purely for the money, then I'd say you should specialize in some highly technical area (speculate on what's going to be popular in a year or two), become a known leader in that field, and then charge up the yang for consulting, or better yet start a consulting company. There's not, for instance, the same amount of jobs for a Haskell programmer, but when a company needs one, they open the wallet.
And I suppose I should add here that if you're not doing this for fun at all, and you're only learning new things to advance in your career path, then learning a new language is probably the wrong focus for your attention. Development is horizontal; technology companies across-the-board need it in some form to remain in business. A B2B startup needs it just like a Telecom giant, just like an oil refinery, etc. I'd suggest studying more about the vertical markets - pick one you'd like to see yourself in for the next twenty-odd years. If you know alot about telecom, learn something new about VOIP or SS7; if you know alot about medical, learn more about patient care databases or HIPAA. You're much stronger as a developer if you've been in the same market for the last gibble years and you know how that industry works.
BTW, that was a really cheap shot on Kylix, and IMHO you're an asshole for saying it. The same thing could be said for any new language of technology that hasn't had time to develop a user base.
Thanks so much for your advice! I appreciate the input.
First, some clarifications in case I ever have to work with any of you in the future: I am a SQL/database architecture/accounting system expert. I currently use VB to build quick, easy, user-friendly UIs on top of my databases.
This is the reason that the IDE is all-miportant to me ... it is important for me to spent the majority of my time on business logic and high-level design issues, and a minority on developing the UI code. Thus I'm really looking for a sophisticated IDE with a good widget/forms set, backed by a powerful scripting language. If the application requires more than that, I hire other programmers to do the servlets/C++ middleware/CORBA implementation/whatever.
Again, thanks!
-Josh Berkus, San Francisco
You say you are looking for something cross platform. One obvious choice is Java. Many vendors have IDEs that will run under Linux. NetBeans is an open source project under the Sun Public License, which is the basis for Sun's Forte product (very much like how Mozilla is a basis for Netscape). Forte Community Edition is free to download and try out. Borland offers JBuilder, with a Foundation Edition available for download. I'm sure there are many others with run under Linux, but this will get you started.
Kylix isn't restricted to Intel. I'm running it on my AMD Athlon just fine!
... just couldn't resist! :-) )
(yeah, sorry, I know
---
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.
---
Then how do you explain THIS?
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.
---
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.
---
--
Forget Napster. Why not really break the law?
"Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
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.
Contrary to the popular belief, there indeed is no God.
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.
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
All rights reserved.
I think you need to look at AxKit instead!
AxKit.org
It's like cocoon but written in mod_perl (using Apache) and is much easier to get along with if you're not familiar with Java.
-Dom
Like someone else mentioned, many frown on Java here , but Borland's JBuilder has a Foundation edition that's free (as in beer). You can bump up to the Professional edition for yourself for around $400 (competitive upgrade) or if you've got the $$ to spend the enterprise for $2000 per seat.
It runs quite well on both Linux and Windows, as long as you have some memory, and has many of the IDE goodies you're probably used to (auto-complete, code templating, symbol browsing, etc.). It's also got an API for extending it called OpenTools that lets you plug-in additional functionality -- many good-to-excellent free (as in beer and speech) tools are available.
ChrisChris
M-x auto-bs-mode
Why the heck did you let them just up and change the requirement to Access2K?
It's not enough to bash in heads, you've got to bash in minds. - Captain Hammer
I guess you'd have to call it a relative term. :)
_____
Sam: "That was needlessly cryptic."
Sam: "That was needlessly cryptic."
Max: "I'd be peeing my pants if I wore any!"
Pico sure isn't a programmers' editor - with features like word wrapping, it tries to be smart but fails. I much prefer vim or gvim (Vim with a Gtk+ GUI) for pounding out code - syntax highlighting is your friend. (Don't say Emacs. I'll have to find you and hit you. Hard. Many times. In the head, even.)
_____
Sam: "That was needlessly cryptic."
Sam: "That was needlessly cryptic."
Max: "I'd be peeing my pants if I wore any!"
You want choices of IDE development environments? I've catalogued about a hundred of them 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 Moenrick@linuxmafia.com
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.
What is so ridiculous about "require" and "use"?
They are the standard way to get the perl runtime to load perl code, just like Java's Class.forName() does (which invokes the Java class loader).
So, if you have a string containing a OO package (class) name, and if all the prospective classes you might load have a method with a common signature for instance creation ('new' is the usual convention), then the following will do it:
my $class = "Some::Perl::Package::Name";
eval "require $class;";
my $obj = $class->new;
Who needs 30 lines???
--
An esoteric scratched itch:
Homeworld Map Maker Tool
Yes. But that requires the target environment to have the full JDK (and not just the JRE) to be present. Of course that's the same issue with using Perl at all, which is why we have never shipped Perl code to clients at my company, even though we use it all the time for in-house projects.
--
An esoteric scratched itch:
Homeworld Map Maker Tool
I've programmed somewhat in VB myself. I guess you could call it my primary language at this point.
:)
.Net is obviously where it's at.
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,
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.
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.
While your at it you should consider kdevelop which I think is the best and most integrated of the Free IDEs.
Kylix is also excellent in it's own way and perhaps forms the best transition tool fr a Visual Basic developer. I.e. Burland has competed for years with Visual Basic on Windows so they know how to design IDEs.
--= Isn't it surprising how badly I spell ?
I think it is at least important to know what your customer/(potential)employer wants. With Kylix/Delphi you probably have best chances to get a profitable job.
If you are self-employed and work for customers who dont care about the language and tools you use, check out the usability and look&feel of the applications you produce. This is, for example, the knock-out criteria for GUI Java development because the UI is soo ugly, especially with Swing. TK (AFAIK the most widely used cross-platform toolkit for Python) does not look very nice on Windows, too.
>>In fact, now that I think of it, if you really want to take the next step, grab a copy of CBuilder. You can make a gui program in about 5 seconds by dragging and dropping your components on the form, just like in VB, while learning c++ at the same time.
Be careful with that. C++ is quite dangerous. From my own experience, I would not recommend anyone to this. It is extremely easy to get yourself into trouble if you dont know the details of C++. If you want to learn C++, then read a few books and experiment in a clean (no foreign libraries, no code generators) environment where you have control.
Code generators just fool you into thinking that development is easy. But if you dont know very well what they are doing you are doomed later, when the software gets more complicated or you want to do things that the generators cannot do. Especially if they are used to hide a bad API like in VisualC++/MFC... (don't know Borland's)
I think you'll find you might have to. Kindergarten is the correct spelling (children's garden from German).
Cheers,
Rob.
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.)
Isn't it obvious?
You go to HELL! You go to hell and you DIE!
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!
---- Fight to protect your right to keep and arm bears! ummmm... ya I think that's right....
(Disclaimer: I used to be an IBM employee when I was an undergraduate student.)
IBM's VisualAge for Java is downright fantastic, once you get used to it.
It does take getting used to: for example, it does not use the regular file-based model for editing source code. And it is very heavyweight. Don't even consider using it with less than 256MB of RAM for any serious development.
It currently supports only JDK 1.2. Theoretically, you can just "drop in" any JDK version, but the built-in JDK is a version created by IBM, fully compatible with Sun's but more efficient and "intelligent" (since it is aware of certain aspects of the IDE, all without breaking any standard. JavaBeans, for example, have a built-in vendor-extension mechanism, and IBM uses it in full). Plus, the JVM used is also IBM's own, and (at least when comparing JDK 1.1.x and 1.2.x) it is significantly more stable and faster than Sun's JDKs (but that's before HotSpot. I don't have any updated comparison info).
The most basic version is available for free download, but it is rather limited. The high-end Enterprise version includes support for EJB, a Servlet development system (including a debugger), and more.
If you're coming from VB, VisualAge for Java will clearly not be as easy to learn as Delphi/Kylix. But I personally think it is worth the effort (even though I'm a great Delphi fan myself, for Win32-specific development. Didn't try Kylix yet).
Inside info: VisualAge for Java v4.0 should be available Real Soon Now (IBM Standard Time).
- Tal Cohen
Not enough is said for netbeans.
Think Forte is to Netbeans as
Netscape is to Mozilla
and what do we all like better? Mozilla...
Netbeans rocks and is always ahead of Forte.
I've used both and Netbeans rocks.
Use the Z-modem protocol between Information Superhighway routers to compress the plaintext. ~LordOfYourPants
I would have said that the opposite is true. In my experience, non-GUI computation in Java is close enough to compiled performance as makes no difference (for my needs, anyway).
On the other hand, Swing on my current machine (700MHz Duron, 192Mb RAM) is as sluggish as it was when the first beta for Java 1.1.x came out and I tried to run it on my 16Mb 486DX2/66.
I miss Meept.
I once saw some sort of client for MS SQL Server not only reformat, but substantially rewrite a query. It completely changed the order and some of the operators in the WHERE clause to suit whatever its own needs are, instead of letting the guy typing the query write it in the easiest way to understand and edit.
I miss Meept.
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.
--
--
Don't like it? Respond with words, not karma.
And when the dust settled, I wound up using Python + Tkinter (for the GUI stuff; you actually have a choice in Python - unlike VB).
You will:
-Miss the click VB IDE.
-Work harder to achieve database access.
-Need to read documentation.
-Find yourself in the middle of a very supportive and hard-working community.
-Be using a rewarding and structured language which achieves portability in most situations with great ease.
-Enjoy full OO and some functional language support.
-Wish you never had to use another language again.
You won't:
-Struggle with your code's maintainability.
-Be hemmed in by VB's language limitations anymore.
-Be worrying about licensing issues.
-Pay money for your tools, unless you want to.
-Miss VB.
Best of luck!
Please mod this post only if you think others should/n't read this. I have enough ego^H^H^Hkarma. Thanks!
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. (-:
Got time? Spend some of it coding or testing
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.
I've only heard of one of those things (Borland's) and seen none of them! Why not try something less - er.. obscure. Perhaps a language for developing apps that generates HTML and can therefore be used by any client that can render HTML. The obvious one being Java/JSP. My current fave is PHP - runs in the web server (well it does if your server is Apache anyway), you can knock up your forms in the HTML designer widget of your choice, and then edit the resulting HTML code to insert PHP, or write the whole thing in PHP and use style sheets and so on. Truly cross platform! JSP's offer similar flexibilty, but then who the hell wants to fight with Java to make an overweight, unstable and dog slow product? ;-) (hehe and yes that is a sweeping generalisation but my opinions can only be shaped by experience - I've been paged by monitoring software at all hours to beat some piece of Java based rubbish into life too many times. The PHP based sites running next to them have yet to fail...)
Hey there.
.http://www.roebling.de/buy.html
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:
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/
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.
I think you're miss-reading the other guy. He's not bashing C++, but pointing out that the complexity (ie 3 paradigms) does make it hard to learn. For example, it's quite difficult to write OO code without worrying about memory issues (virtual destructors, dynamic memory, handle classes). In languages that use reference counted or garbage collected handles, life is much simpler.
I've met very few people who are competent in C++, but several who are proficient with C. Then again, someone who is intelligent, motivated and willing to do some reading can learn it in a fairly short time frame.
Good books, BTW. Coplien is my favourite author.
fyi, vim also does things like keyword completion, and with the tags file you can "jump" to different functions, much like an IDE. One can use a seperate GUI builder (eg designer). The only thing I'd like that I don't have is a decent class browser.
...of Delphi had your friends been using?
Just wondering, because Delphi hasn't stood still since version 3 (or 2?) or whatever your "friends who used to be Delphi programmers" [emphasis added] last used it, either.
Christian R. Conrad
My ISP is the Saunalahti company, of Finland.
Christian R. Conrad
mail me at iki.fi ; same user ID as here
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
There happens to be an open source refactoring tool, called Transmogrify, that has been released.
Details are available at transmogrify.sourceforge.net
pooptruck
THREE years is far too short of a API transition period if you are catering ot the large (or "enterprise") market. It often takes three years for these guys just to develop and rollout a large client-server app, and having the "recommended" API change for no real good reason is just a pain in the ass and HUGE cost for these guys.
Microsoft needs to learn this if they want to play with the big boys (and they do). IBM supports APIs that are 10 or 20 or more years obsolete.
--
Business. Numbers. Money. People. Computer World.
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.
I've used IBM's VisualAge and have found it to be very useful for GUI design. The Linux version is free which is also very attractive. Having never done GUI design work before (and sick of trying to use Forte which won't even let you edit the code), VisualAge was a breath of fresh air.
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!
Only 'flamers' flame!
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!
Only 'flamers' flame!
Unix IS an IDE.
Help is at your fingertips, jumping from compile to debug to profile - it's all there.
If you don't have XWindows running, use EMacs for a closer integration.
Yeah, it takes a bit of effort to get really good at it, but how long did it take you to learn the details of VBasic?
Once you've learned Unix well, those skills are useful on the next language you need
It's all just a big festival of knowledge that builds on itself.
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
better.
Perheaps you can combine that with Glade (and possibly gladelib), and some graphical CVS client, too, and you have a really nice GUI-developement-suit....
--The knowledge that you are an idiot, is what distinguishes you from one.
no word wrap
JRE 1.3 and later use HotSpot by default and that makes a HUGE difference in performance. I have seen three fold performance increases without changing a line of code.
FYI
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...
-jon
Remember Amalek.
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.
-jon
Remember Amalek.
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.
-jon
Remember Amalek.
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.
-jon
Remember Amalek.
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.
-B
Ash and Hickory, straight-grained and true, make excellent bludgeons, dandy for the cudgeling of vegetarians.
"I have never used Borlands stuff but I've used VB". Well then you know nothing about Delphi.
Delphi components are generally written in Delphi, although it supports ActiveX and COM in addition, as well as Corba, XML, XTSL etc. Obviously the COM stuff isn't part of Kylix, but that doesn't make the product any less usable.
Borland says that if the program is written using the CLX components it will cross-compile between Linux and Win32 without modification.
Oliver
python runs on more and seems more consistant
wxpython and boa are pretty good
I can't believe you ask the slashdot community. Most of the guys here think C is a great language for application development and they think emacs, gcc and possibly a few xterm's is what it takes to make them the most efficient developers. Fact of the matter is that many of them have never done any serious work in an IDE using a higher level language such as C++, Java or Python. Unfortunately that doesn't keep them from offering their opinions about emacs vs IDEs and C for developing applications quite loudly!
Actually C++ is a multi-paradigm language which includes OO features. I wouldn't recommend it, especially if your experience is with VB, because you are likely to benefit from working with a less powerful, more OO-centric language, so you are less likely to develop strange styles and bad habits. Then, when you have developed a sound OO understanding and coding practice, you can move on to C++.
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.
Well, if that's really your picture, I'll switch to Postgres.
;-)
Jim
MMDC.NET
-- My Weblog.
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?
Cheers,
Jim in Tokyo
MMDC.NET
-- My Weblog.
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.
Sorry, but I'm forced to disagree with you.
After 10 years of programming with C++, working on projects big and small, my only gripe with the language is its complexity and the discipline required to truly master it. I started with 7 years of C before moving over to it and it still required tutalage and guidance to master it and without strict attention to OO concepts and details and a strong desire to learn "how to do it right" you consistently end up with piles of one-layer classes (translation: lots of classes which are actually just structs with getters and setters methods) and lots of procedural like flow wrapped in other classes. Its not that OO is particularily difficult, but the complexity of the language to achieve OO results tends to dissuade newbies from going to for it. Ever try explaining pointer to a novice, how about pointer vs references? The number of times I've seen object life-cycle (read memory leaks) handle incorrectly, even by experts (myself included) is daunting and learning how to use first collection classes for the first time can be overwelming, especially when confronted with obfuscated error messages.
Over the last few years, I along with many experienced cohorts have now come to shutter when confronted with new projects where management simply thinks a couple of weeks of guerrila programming classes will turn VB programmers into qualified C++ developers.
Its too easy to cheat with the language and revert back to "proceduralness" and the benefits of **REAL** OO are rarely apparent at first appearance. Couple that with management's usual push for "getting thing done a quickly as possible" and you more often then not end with quite a mess.
Java is much nicer to many reasons (including standardized GUI classes, memory management, etc) and requires less initial effort.
Delphi also quite nice but its the deadliest two edge sword I have ever seen. Too much of the language is tied to its development environment. Most coders simply utilized the "Automagical" code generation facilities and never really understand what goes on underneath and hence never really learn what OO is and what can be done with its concepts when software is crafted thoughtfully or correctly.
Just my $0.02
I think your missing my point. Yes C++ is multiparadigm (and I have used all 3 within the same architecture for reasons of speed, conherency and reuse, etc) but therein lies its weakness. It is a rather complex language to first learn and my experience has been that more often then not the majority of programmers will learn just enough to "get the job done" rather then work through the features of the language and do the best possible job with it.
To shift perspective, its much the same issue as having to study poetry in a foreign language. There is the barrier of the language itself and the metaphorical issues the poet is trying to present. It can be extremely difficult to get at the latter when confronted with the former and C++ for all its glory (btw its still my favourite development language) does itself present quite a steep learning curve, one that really must be surmounted before **really** appreciating OO.
Unfortunately the reality of having to timely deliver code in the real world more times then not prevents newbie programmers from truely exploiting the full potential of OO unless they have senior staff to guide them and understanding employers willing to make that investment.
With Respects.
J.
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.
A Government Is a Body of People, Usually Notably Ungoverned
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.
--
Evan
"$30 for the One True Ring. $10 each additional ring!" -- JRR "Bob" Tolkien
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.
You should not be limiting yourself on learning a language based on the IDE available. Learn C. Use an IDE if you wish.
No, but professional adults who make pedal-powered cars outperform amateurs in Porsche 911s may well do.
:)
Expert programmers use whatever is best for the job. If that is VB, then that's what's used.
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
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:
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.
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.
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.
Cross-platform, IDE that runs on Linux (and anywhere else Java runs), go with Java and Borland JBuilder. I've been using JBuilder 4 for some time, and 5 is out but I've not had a chance to try it. It's a free download. Also you could try Forte from Sun. It's pretty cool but you need a lot of horsepower to get the most benefit out of it.
Finally, learn to program without an IDE. Seriously. A text editor, a copy of the Ant Build Tool and you're good to go.
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.
++ Say to Elrond "Hello.".
Elrond says "No.". Elrond gives you some lunch.
Take a look at Forte For Java or Netbeans.
Netbeans is the basis for Forte, so it's basically the same. Both are really good Java IDE with Form design support (including GridBagLayout, the most advanced Java GUI concept).
They support a big bunch of functionalities: JSP, CVS, automatic doc generation, and many more.
If you're used to VB, Java is really easy to grok, many of the concepts are similar and the documentation is really good.
Hope it helps....
Quentin
Java is a pretty good cross platform environment.
In addition to Lazarus, there is fpgui. 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.
Also, the phrases "an expert programmer who uses Visual Basic" and "an expert Visual Basic programmer" mean very different things.
--
I found essentially the same para. in a different BorLink: http://www.borland.com/about/press/2001/kylix_rel
"A gun is a tool, Marian. No better, no worse than any other tool. An axe, a shovel, or anything." Shane (1953)
Which part? "Expert" and "Visual Basic programmer", or "Visual Basic" and "programmer"? Too many options!
I recently bought 512MB PC133 SDRAM for $150 (two 256MB DIMMS) from a local retail shop. I know of few programmers that can't spare $150 for a half gig of RAM. ;) Prices vary according to area (I live in Santa Cruz, CA, US) but even if it's double where you live, 256MB for $150 is still not that bad.
I say use whatever IDE the heart desires. Computer parts are cheaper than your time waiting for it process your source, forms, etc. And considering the fragility of Forte, for example, more memory helps (re)start times.
- I don't need to go outside, my CRT tan'll do me just fine.
As long as that C or C++ isn't learned with Visual Studio. While VS *can* do reasonably standards-compliant code, it is too easy to use a MS-specific API and assume that it is C or C++. Considering that MS has effectively stopped development for Java, it's less of an issue.
<rant>To all those folks who use the term C/C++ as though they were parts of the same animal, please stop. Sure, you can compile (pre-C99) C code in a C++ compiler, but then you're coding in C and not C++. C has only slightly more in common with C++ as C has with Java. C++ is more than a couple of new keywords for C.</rant>
Note: This is not an attack on James Foster, just a general rant.
- I don't need to go outside, my CRT tan'll do me just fine.
Beginners need to work too. ;-)
C++ or C is good for GUIs? Ummm... Which toolkit? Oh *that's* right! There are twenty billion of them and no cohesive patterns among them. Java's GUI toolkits (AWT and Swing) have their shortcomings, but at least they're consistent and encourage others to write consistent APIs when extending the built-in toolkits.
- I don't need to go outside, my CRT tan'll do me just fine.
Unfortunatly, i'm not a tcl programmer, but vtcl looks a lot like Visual basic, except it's tcl. The whole IDE is written in tcl itself, so of course you get the source. I poked around with it, and looked pretty nifty, but alas, i'm not a TCL coder, so I woulden't be able to tell you how good it is.
Why aren't you encrypting your e-mail?
And the number of posts pushing mindless pro-Linux advocacy are far outnumbered by the posts complaining about how /. is dominated by mindless pro-Linux advocacy posts.
Weird.
Just a few points of clarification. .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.
.NET platform will never support any language that MS does not like *cough* java *cough*.
.NET is not cross platform.
.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).
The VB from
Also the
And of course
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
War is necrophilia.
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.
War is necrophilia.
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.
War is necrophilia.
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.
War is necrophilia.
-------
CAIMLAS
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
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.
--
Patrick Doyle
I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
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.
/m
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 - Generation Duh!
Reason is the Path to God - Anon
I would say that IDEs are mainly useful for developing UIs, not necessarily for actual coding. I use Glade to design UIs in GTK, and then code the rest. GTK bindings exist for several different languages - C, C++, Guile (Scheme), Python, etc.
I was in the search for an IDE, kdevelop was ok. But a cvs repository, wel make make files, a sane ANSI-C compiler like gcc -Wall -Werror -ansi and good old vim with syntax highlighting is a joy to work with.
My less than $0.02
I have a little over two years of working with vb, vbscript, access/sql server, and asp. most of the corporate recruiters/HR people I've talked to around here (upper midwest/great lakes) want either visual basic or java, with the occasional c++ and/or c slot. rarely, a perl slot shows up. kylix/delphi rocks, but most suits I've encountered have never heard of it, because they couldn't care less about cross platform. everybody runs windows because everybody runs windows. from one place I talked to: "linux? yeah, we've heard of that, but it's not to the point where we're going to use it for a development platform. we use windows. period."
Karma only matters to me now and zen.
Isn't this an oxymoron?
I'd suggest getting the new Amiga SDK. It's sort of like Java, but it's designed one hell of a lot better and it's more efficient.
------
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++.
------
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++.
------
Well, Java is faster than C for computational stuff, as this Slashdot article (June 2000!) covers -- so if that isn't fast enough for you, then what is?
It is only "bad" in the eyes of FUD-spreaders who don't actually know much about it, and have the mentality BASIC = BAD. In fact it's a fine tool for Windows application development.
Of course the syntax looks stupid, if you're used to something else. What's all those dumb '$' and arrows and dashes and guff in Perl?
Another common red herring is that because a bad programmer uses VB, VB must be bad. In fact every language has its share of bad programmers.
You seem to have forgotten that '=' in BASIC has a different meaning to '=' in C.
Your example is like saying that French sucks, because in English you can say "Books are good", but "Livres are bon" is a syntax error.
Win2k is plenty stable - if not more than Linux. FUD point + 1 for you
Yeah, right. FUD point +2 for you!
// TODO: Insert Cool Sig
My early professional programming experience was with VB, and when I switched to Linux I was quite disappointed with the lack of any similar IDE.
:). This capability in, say, QT has been most useful for me, and changes the way you think about GUI design.
However, after I learned the standardized Makefile syntax, I found the unix style much more satisfying. It's much easier to share code, etc, because everyone has the same tools. It is a bit of a learning curve, but one worth following.
Another thing - while the VB style of drag 'n' drop GUI design is often extremely useful, it's also somewhat constraining. For example, you can't easily do "dynamic" GUIs, where you create a new element and bind it to a form at runtime (or, at least you couldn't in VB5
All opinions expressed herein are not my own; I haven't had free will since last year when aliens ate my brain.
The question remains: why aren't they simply calling it Delphi for Linux? After all, they didn't come up with different names for JBuilder for each OS...
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?
Steve
---
Wing IDE is quite a good development environment for python, it even hooks into Zope If you go the python way, you gain a few nice features: Code is portable to almost all known kinds of computing devices It's the lingo used in Zope, a great aplication server, if you don't wana do standalone apps Can be used with a fair number of cross-plattform GUIs, from with I would prefer QT, but that is of course a matter of taste
Correct
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.
Most components, when taken from Delphi 5 to Delphi 6, will work after being recompiled. With Kylix it's a different ballgame. Delphi controls mostly either wrap a Win32 API, or wrap and aggregate other delphi controls that do it. You'll have to thow them out and start again. Like Borland did with VCL: it isn't there at all in Kylix, instead we have CLX controls.
My Karma: ran over your Dogma
StrawberryFrog
Sorry, this is a terminology problem. Component in delphi means Descendant of TComponent. Almost all of these are visual, and most non-visual components really should just be TObjects. This isn't VB, we know how to use a constructor and destructor, we don't have to have it all dropped on the form.
The rest of your objects should compile and run just fine in Kylix.
I just wish Kylix wasn't restricted to the Intel platform...which I believe it is
Correct
My Karma: ran over your Dogma
StrawberryFrog
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.
My Karma: ran over your Dogma
StrawberryFrog
> Its too easy to cheat with the language and revert back to "proceduralness"
7 1/
/
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++
http://www.amazon.com/exec/obidos/ASIN/02018246
Generic Programming and the Stl : Using and Extending the C++ Standard Template Library http://www.amazon.com/exec/obidos/ASIN/0201309564
Cheers
--
"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
I can get 256 MB DIMMS for $75 Canadian dollars, so the way I figure it a gigabyte of RAM shouldn't run you more than $200 USD or so.
Maybe $400 was a typo?
Mozilla
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 fear you are mistaken, there is a version of DAO (DAO 3.6 if I recall correctly) which works fine with the Access 2000 version of Jet. I too am using Jet from VC++ , using both the CDaoDatabase and related classes and by #importing the DAO DLL (or maybe type library, I forget) - in different DLLs I hasten to add.
I have not found any problems with it (apart from it not working well with the Oracle 7 ODBC drivers for linked tables, but that's no great surprise)
You can also create Access 97 format databases even though you have to guess at one parameter of the Create statement, which is not a great leap of
If you are serious about this rather than pedalling FUD then drop me an e-mail and I will send you the relevant code, which is at work - undocumented Microsoft APIs are not something I carry around in my head.
Being a Java programmer I must say that I agree to this post 100%. Sure, this is a religious topic, but Java IS about as cross platform as it gets, you have quite a bunch of choices for development environments on at least both Linux and Windows (only two platforms I've really coded on).
Forte is free for non commersial use, and rather good.
--
May we live long and die out
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...
--
May we live long and die out
Yes, visual controls (ones that either directly or indirectly use the Win32 API) will likely have the most recoding required. Same is true for anthing that uses any DLL calls.
:)
However, there are tons of components & objects that aren't visual and don't rely on the existence of external DLLs. (Much of our business rules, interfaces & objects should translate without hastle.)
It's still easier and generally better than writing from scratch
I just wish Kylix wasn't restricted to the Intel platform...which I believe it is. Means that Java is still a better choice for us in the long run...platform independence wise.
---- Sigs are bad for your health ----
Give a hand, not a hand-out.
You actually had me going there for a second...I've obviously been working way too hard :(
---- Sigs are bad for your health ----
Give a hand, not a hand-out.
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 ----
Give a hand, not a hand-out.
Did you checked V 1.3 of Java? Swing got really performance there. The upcoming version 1.4 will be faster, too.
;-)
On Linux, Java isn't that fast in GUI because of the way it handles the graphics with X. Java 1.4 will get his own leap there.
I think JBuilder4 is the best example which can proof GUI-speed. And for me it's fast enough to develop with it.
OTOH Java-GUI's along their ideas are quite more complex to build than clicking some VB-Frames together (where you'll get more "what you expect to be get"). In Java it's useful to know what you would like to have BEFORE you'll begin with the GUI.
For the cross-platform: I don't know how "usual" we are, but we really need it to get it on more than one platform.
Okay, maybe a bank is not a usual case...
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.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
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'm trying to teach myself to set people on fire with my mind... Is it hot in here?
I use JRefactory with JBuilder myself, a highly recommended open-source plugin, give it a try!
"Naughty, naughty, naughty, you filthy old soomka !"
Yeah, right. You may be interested to know that C++ is actually on the decline in university courses, Java being the language preferred, having many advantages over C++ like real object orientation (rather than a C language "hack"), although it's not perfect (but the language is evolving, watch out for JDK1.4 release later this year).
"Naughty, naughty, naughty, you filthy old soomka !"
My blog: http://jkratz.dyndns.org/~jason/blog/
Doing a quick glanceover (at threshold 1) I only see one "Ha ha VB is stupid Micro$oft is gay" message! I remember a time when the slightest (Non negative) mention of MS products of any kind would get you flamed from pillar to post here. Is the user demographic of Slashdot shifting away from the anti-MS zealots? Or are people softening on vb? (Which seems to be improving as a language, version 7.0 makes major improvements from what I heard)
Time to learn Java it is good for app development like VB, but also good for server side development. As VB developer you're used to RAD inenvironment and they are available for Java such as JBuildler, and JBuilder is multi platform. Other's have mentioned Kylix, but first it is WAY TOO EXPENSIVE! Second its Object Pascal not exactly a mainstream langauge so not something that will help you find work in the future. Where Delphi and probably Kylix eventually is popular is consultants. They can develop app's fast like VB developers, but being it creates compiled executables with performace on a par with C/C++ it is popular. Drawback is it isn't as flexible as C/C++ due to being RAD. You can only do what it lets you. But that was also the paradigm of the pascal language.
Check out Java and JBuilder.
Which is quite nice and platform-independent, find it at : http://www.wxpython.org ( it's based on the good olde wxWindows project)..
I'd definately go with Kylix. Delphi 6 is shipping this week on the Windows side (Actually, I believe it was June 8th.)
/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.
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
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.
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..
Java has some advantages. For instance, it's a cleaner language (because it doesn't bother with the same backwards compatability and speed-concept tradeoffs that C++ offers). One of them is not that it is a "real" OO language. Compared to C++, Java is a significant step backwards, and C++ ain't that high up on the scale of OO languages.
If a corporation is a personhood, is owning stock slavery?
Claiming C++ is not an OO language because of '#include' is, well, stupid. From the programmer's point of view, "#include" is not much different than Java's "import" excepting for partial inclusions (that is, inclusions of classes). While it's not very pretty to use a preprocessor for these things, whether or not you can include a single entity from a file does not an OO language make or break. In fact, it has nothing to do with OO at all: that's entirely part of the module paradigm.
And then the "static compilation" thing is even more inane. Java supports static compilation. What do you think JIT compilation is? JIT is done at run-time, true, but it doesn't make use of run-time information and thus is static compilation. Now if you care to explain how having an efficient compilation scheme breaks OO, I'm all ears. In fact, if you care to explain what dynamic compilation has to do with OO at all, I'd be thrilled. Or, even more, why you think dynamic compilation precludes static compilation (mind you, these things are usually done together in systems that support dynamic comp., since it'd be inefficient to do at run-time what could be done at compile-time).
As it stands, I fail to see how your reply (1) proves Java is a "real" OO language, (2) is more of an OO language than C++, (3) shows C++ is not an OO language, (4) explains what the hell you're talking about, at all.
If a corporation is a personhood, is owning stock slavery?
Which is it? BASIC assigned-the-value BAD or BASIC is-equal-to BAD?
When you move on from VB to a new programming language, you find that it does matter.
Example:
if(BASIC = BAD) {
cout << "Remember kids: BASIC is always BAD!";
}
The assignment always evaluates to true when you code in C/C++.
OTOH, I have no specific grudge against VB as I've only touched it superficially. I just don't care much for the syntax.
Óli
---
WinDOS, you can't live with it, and you can live without it.
Works great on Unix and will still run on your Windows platform. Use a free IDE like Forte for Java, Community Edition.
"If I can see farther it is because I am surrounded by dwarves." -- Murray Gell-Mann
VB can't do everything that VC++ can do, but it can do a lot more than most people (including my fellow VB programmers at work) realize. It just does them slowly, with too much effort, and wastes RAM unbelievably.
VB encourages this mindset because the fantastic IDE is the only thing that makes the POS language tolerable. VB.Net actually includes directives to the IDE in the code (although it loses a lot of what was impressive about the old environment).
why
1) You are choosing Object Oriented Pascal (not a popular language)
2) You are looking at IDE's that are single-OS (Kylix for Linux, Delphi for Win32).
Go with Java. Not a great for the client, but similar to VB, object oriented, with multiple IDE's, some of which are cross platform, free, open source, etc. Look at Forte and Emacs. Look at Kawa, Visual Age, Visual Cafe, etc....
In addition, Java is not just a pretty GUI. The most widely used server-side technology is in Java - Enterprise Java Beans, Java Server Pages, etc. Ties between Java and XML are strong, and getting stronger. Java database support is phenomenal.
And finally, career wise, you couldn't pick a better thing to do. Demand for Java developers has not dropped. In fact, some studies say that the market for Java developers has gotten tighter.
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."
Don't forget Squeak which is open-source Smalltalk. A steeper learning curve than VAST or VW, but in a lot of ways much more interesting.
It's unbelieveable the sort of things one has to do with dog's drool an optical mouse and a black chicken ...
Next you get yourself a dry toad leg ...
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
"Rub her feet." -- L.L.
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
ohh... you said 'Turing machine' a cookie for you!
Turing Machine's have nothing to do with 'expressiveness', just calculability. And yes, some things really are easier to do in more powerful languages then in not-so-powerful languages. 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.
"and dear god does this website suck now." -- CmdrTaco
is a chunk of crap. Postgres is where it's at if you don't want to pay any money.
"and dear god does this website suck now." -- CmdrTaco
look at comment 200...
:P
What's funny is that right now at +2 your comments show up right after eachother
"and dear god does this website suck now." -- CmdrTaco
The good thing about VB is, simply by learning a few new objects, you can writing GUI apps, middleware components, server-side scripts, web apps, web services, DB apps, etc
a good programmer would be able to do those things without 'learning new objects' Visual basic is pure shit.
"and dear god does this website suck now." -- CmdrTaco
"expert visual basic programmer"
Well, that was good for a laugh in an otherwise boring day.
"and dear god does this website suck now." -- CmdrTaco
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.
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.
Trying to Learn C won't do him any good other then painfully making leaky programs.
"and dear god does this website suck now." -- CmdrTaco
I'd rather use echo commands then deal with the horrid obsolete chunk that is the "visual editor". I have no idea why people would want to deal with something like that.
Yeh, yeh, mod me down as 'flamebait' or whatever, but I just had to say that.
"and dear god does this website suck now." -- CmdrTaco
Actualy, BASIC wasn't intended to be an acryonim. Someone figured it out later (Josepha = Job Oriented System exicution prossesor - high availablity) , it spread. See the Jargon file for more info.
"and dear god does this website suck now." -- CmdrTaco
And better then you, I'd bet.
"and dear god does this website suck now." -- CmdrTaco
And what's the point in learning obsolete metaphores?
I won't expound that point since no one will read this of course
"and dear god does this website suck now." -- CmdrTaco
1. Swing can be slow (and is getting quicker), but java's considerable quicker than most people think. Most slow java programs are poorly written. 2. The drawing errors are due to DirectX and can be eliminated with a JRE switch. As for look & feel, you can very easily switch to Windows, Mac, or Motif (depending on the platform). 3. Try InstallAnywhere. Completely solves the JRE install problem. Also Java Web Start.
As we all know, VisualAge for Java is just a rework of IBM's SmallTalk environment and it manages to bring some of the niceties of small talk development to the Java realm. The built in code versioning is nice and the "working image" is kinda nice. It's debugger is sweet too.
I only used the freely available Linux version but there is an enterprise version. I believe the enterprise version has a network centralized class/code repository but I am not sure. It seems the product architecture was pointed that way and I always had the recuring dream of having the other developers in the dept. using VAJ and us all sharing a code repository.
In the end CVS and nedit/Visual Slick Edit/VI/notepad became the environment ( and probobly for the better, but VAJ is /really/ cool).
"A few great minds are enough to endow humanity with monstrous power, but a few great hearts are not enough to make us w
It has a few instabilites but overall it is usable. It also defaults to the "place" manager rather than the unprofessional-looking "pack" manager, although both of those and "grid" are available. It also defaults to bold fonts which are absolutely hideous.
It would also be nice if there was a version for Python/Tkinter.
Microsoft's VP of Customer Service is Helen Waite. If you are having problems with their products go to Helen Waite.
And files may be "quaint", but they're a well-established idiom for managing data. "Forget everything you know" and "you can't use any tools you're used to" are not things developers want to hear.
__
__
__
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.
__
Actually, I'd say that you're the one that doesn't know what you're talking about - "Require Variable Declaration" does exactly what it says on the tin - you have to declare variables, but if you don't initialize them VB will do it for you. You're right about variants though...
No your not missing anything. Its a long lasting tradition to snobishly look down on anything that has to do with BASIC as a language. Many of the people commenting have no programming experience of any kind, and are just repeating snobbish expressions they heard 5 years ago.
:= should be optional.
The fact that its MS only, that it can be tricky to compile 5 year old code, and so closed source 3rd party components are worth avoiding, and that its incredibly annoying to deploy are all extremely good reasons not to use VB.
However, much better programming tools would exist if more people realized that VB is in some ways the best language tool in existence. It has the best debugger, IDE has excellent code navigation, and the language is among the most readable, and correctly determines that ; and == or
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.
As you might have gathered from the other posts, IDEs is not really the *NIX way of doing things.
If you want to get cozy with some common *NIX programming tools but don't feel like leaving Windows yet you can try out cygwin. It includes bash, ('Command Prompt' replacement) emacs (versatile editor) and tons of other stuff.
If your goal is multi-platform (Linux/Unix/Win32/MacOS) dev; client-side and/or server-side; GUI or not; net-enabled or not; IMHO you won't find another tool that MAKES YOU as capable, as QUICKLY, as MC can. The "key features" page on the MC Corp. site is worth a look:
http://www.metacard.com/pi2.html
At the risk of upsetting the slashdot community, i believe we are focusing on the wrong thing. It's not the IDE, it is a) THE LANGUAGE, and b) THE LIBRARIES.
You want something that will compile more or less unmodified on different platforms. The IDE is inconsequential. It would be nice if it looked and feel the same, but who cares. Could always use a makefile.
So, I haven't seen kylix. Is the VCL library portable between Linux and Windows, or do you have to make a ton of changes? How about the BDE layer (I assume that if you use ADO you are screwed).
If either MFC or VCL have been ported to use with GCC, there is your answer. Your cross platform development tool is GCC. If you use kdevelop it even feels a little like Visual C++'s IDE.
Sad thing is, its still pre-Alpha, with only 4 developers signed up at sourceforge...
Damn, if I were a less-sucky coder I would devote all my free time to this...
------
C'mon, flame me!
No sig for the moment.
Comment removed based on user account deletion
Java is cross platform, has a few good IDE's (such as JBuilder, or the better netbeans - see http://www.netbeans.org/). As far as the job market goes, Java jobs pay better than C++/VB (in the UK finance industry anyway), and its much nicer to program in than VB.
That's got to be an oxymoron :-)
A journey of a thousand miles starts with a brutal anal raping at airport security
If I were you, I would take a look at getting involved in the GnomeBasic project. This project is very exciting, they are in the process of writing a 100% language/syntax compatible visual basic compiler to run on GNU systems. It is also capable of parsing ASP pages when combined with Apache! Although an IDE is not currently on the books, if you were turning to C/C++ then this is a great project to be active with!
You can get to them at http://www.gnome.org/gb/. See also http://www.ximian.com for more details.
CyberKnet
---
Video meliora proboque deteriora sequor - Ovidius
Sleeping during the lecture on turing completeness, were we?
Go Kathryn Thurber!
No, C++ isn't an object oriented language because of the phrases '#include' and 'static compilation.' (which strips away any hope of OO during name mangling and creates one big .obj (note;not .object) glob) You should look them up.
Go Kathryn Thurber!
As someone who regularly codes in VB (and perl) I can say yes VB is not even in the same league as perl, IDE or not. My misfortune is I still use VB for GUI applications and pull my hair out because it doesnt offer the power i'm used to in perl.
Anyway what i'm here for is to say: It doesnt mattter a lot what language you program in, what matters is being able to creatively solve problems , how do I solve this - how do I make this run faster, easier to use. Spending hundreds of pounds on VB (or not spending hundreds of pounds on perl) will not give you a magical ability to solve things you can't otherwise. The skill that as a programmer you will take from language to language is the way you can think through a problem to achieve what you want. This is the reason that elitist views about programming languages are flawed.
--
no sig.
This is a great slashdot poll idea.
After Visual Basic Programming?
- purgatory
- Deprogramming
- VBA( Visual Basic Anonymous)
- Crack cocaine?
- kindergarten
- Cowboy oneal's toolshed
:-)
http://saveie6.com/
You know all these college professors have some freshmen students learn gwbasic for a semester to learn some basic programming, and the students think thats all basic can really do. That is total bs! Its only true that Microsoft crippled basic in the early pc world. Basic before then had its own libraries, structures like stacks, binary tree's, and even assembler code. Thats right you can program assembler in basic, as long as you had a good compilier and not hte shitty Microsoft one for the early pc's. My father use to be a program mannager and he hired some programmers to develop a program in basic which ran on an embedded device which scanned inventory items. Alot of the code in there was written in assembler. I believe bad compiliers, and a few colege students who only used basic for introduction to programming who thought thats all basic could do, is why basic has gotten a bad rap. Also I can write com objects, ado, and even MTS objects and create enterprise apps really quickly with vb. I even created a database app in less then 2 hours. Lets see you do this in c++? Sure its proprietary, but its made specifically for windows development. I admit alot of vb programmers may not be good in writing in assenbly but the point is helping your employer make money by inreasing efficieny and retrivieing information for all its employee's. That is the name of the game. Its not to hack but solve bussiness problems. Microsoft talored a langauge specifically for that task and should be commended. Linux is still trying to catch up wiht its own versions of basic. Bill just say the problem and built a solution which is bussiness oriented and not technical oriented. Oh and I can still write stacks, binary tree's and other structures in Vb like I can in c== or any other langauge. You can still apply good software engineering principles to VB.
http://saveie6.com/
I know this is a stupid question but I just bought 3 college level intro to programing books a month or two ago. I bought Prentice Hall "How to program .." c++, Java, and VB6 by Deitel & Deitel since they are used in college. I tried Java at first but it was a little difficult, so I decided to use VB6 to start out with and then switch to c++/java later on.
My question is how is VB bad for standard programming and software engineering?
The only negatives I see is that variable declarations are not required but you can enable it if you like by "Option Explicit", and I also notice each function in c++ returns a value so you know if their is a bug when executing a particular function if it does not return 0. Vb doesn't seem to have feature. I heard vb.NET will. Besides these 2 things, how is Vb somehow inferior?
I am just curious.
http://saveie6.com/
Well I am in silcon alley in New york so perhaps that could be a reason for java in my area.
http://saveie6.com/
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.
http://saveie6.com/
Why don't you just stop being so smug, and offer a helpful suggestion.
- Ando
You are the weakest link, goodbye.
I, too, have a heavy VB background. RAD is a wonderful thing. I've been looking for the right cross platform tools for web development, but it looked as if I'd have to go back in time and hand code everything. I began to tach myself Ruby (awsome language by the way) and then I discovered ZOPE! The free web RAD. If your interested in web application development, ZOPE is it!
:T:R:A:N:S:
slashdot has done it again, another stupid question.
1 - if you've been programming VB and never realised you were doing microsoft stuff(exclusively) then kill yourself. shoot your weener.
2 - otoh if you've decided msft is not good enough, then learn C and you'll be ready to program for any platform out there
3 - uh, what the heck...you dig VB...well just shoot yourself anyway
4 - GOTO 1
END
Broken Hearts are for Assholes. - Frank Zappa
This press release (under "Pricing and Availability") points out that Klyx will be available for a free download for anyone developing open-source or free software "mid 2001". But you make no mention of it.. has the situation changed? Or can I still chant "Go Borland" under my breath when I think about the role the Big Boys play in open source?
---------------------------
'No rational religion claims "supernatural" exists, that's an atheist slander.' - seen on slashdot.
In addition to what you said, one of the things that bugs me most about VB is the automatic formatting of code. For those of us who care about the visual style of our code, this is intolerable. It is Visual Basic after all. This was brought up on a VB list at one point, and someone from MS gave some lame excuse why this is, the way it is.
I know of no other language that has this insipid feature.
As far as I know, Kylix is the best choice for you. If you want all of the simplicity of VB. It has a nice form desinger which makes it very easy to create a quality GUI, code completion/hints... It really is a lot like VB IDE. You also get the source to all of the libraries/components (at least they said so). Soon, there should be a free version of Kylix available so you can try it out and use it for non-commercial programs.
I have downloaded a free version of Komodo, but it still seems to be very buggy. It supports code completion for 3 languages and sintax coloring for a few more of them. But on win32 it was a pain to find, download and install correct versions of all language interpreters it needs to function correctly.
If I were you, I would go with Kylix.
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.
It would be nice if you'd back up this comment. Sounds like a troll to me. The fact is, for the purpose in which it was made, there are few better languages than PERL. Specifically, I use perl to grok around databases and use the regular expressions to help clean up foreign-key relationships that would be hard in other languages. Again, comparing the two is like apples and oranges; VB is typically used as a GUI language, PERL is used primarily as a powerful scripting language.
To Copy from One is Plagiarism; To Copy from Many is Research.
I agree, but unfortunately, the state of software development over the past decade has defied this process. Everybody I work with wants to get their apps into production on too short a timeline to design a prototype & then program it more professionally. Instead, they either dive straight into coding the app in C++, or they do like the story poster & stick with a more flexible IDE all the way through. And the better than Moore's law progress of hardware has meant the users can't tell the difference.
Some turn out well, like Pronto written in Perl.
I used to program in Visual Basic, but then quickly was frustrated with the functionality of the language itself.
If I was going to switch to another language, I would have to say "Switch to C++!" because it is object oriented, great portability, and very fun to use.
Also, C++ is supported greatly on Linux/Windows/BSD/MacOS!
NO! I will not fix your damn computer!
--If only there was a license required to use a computer.
It tries error-checking and fixing on its own. No more warnings when you fail to initialize a variable... VB does it for you!
By default, yes, but you turn on "Require Variable Declaration" or set Option Explicit in Declarations and you will be forced to declare and initialize your own variables. It's actually bad programming practice to let VB declare your own variable, because then they're declared as variants, and are slower and take up more room than native types.
Sounds like someone doesn't know what he's talking about...
Sorry man, but it must be pretty sad to be an expert visual basic programmer since VB was only ever ment as a prototyping tool; where you ironed out your algorythems and designed the user interface. After visual Basic you would normaly go to a language like C or C++
I've been using C/C++ for the past few years (self-taught) and now I've started VB in school.
It pales in comparison.
The syntax for a start is simply horrible. It doesn't use any curly brackets to indicate where loops or 'if' statements start and end. Instead it uses "then" and "endif". Tedious to type and also horrible to read.
It tries error-checking and fixing on its own. No more warnings when you fail to initialize a variable... VB does it for you! All variables default to 0. If that's not encouraging bad programming practices, I don't know what is!
VB is pretty much "Programming for dummies". Unfortunately its pretty popular amongst many companies.
After Visual Basic you should generally attempt to forget as much as you can.
Forget the bad programming practices, forget the awful syntax, and the image that you're an expert programmer because you're real good at Visual Basic.
Pick up a cross-platform language. Something that can be applied in both Microsoft's OS's AND Linux and hopefully other OS's too. Languages that come immediately to mind would be C/C++ and Java.
Stop and consider why there are 1,500,000 programmers using a trash language like Basic:
Microsoft put many fancy features into Visual Basic, and kept them out of Visual C and C++. So, to get speed of development, people were led into using Visual Basic.
Microsoft's real opinion of Basic is clear from the fact that Visual Basic is written in C and C++. (Someone at Microsoft told me this.).
Apparently Microsoft wants everyone else to use a poor language. Apparently Microsoft doesn't just want customers, the company wants inferiors.
In my opinion, the 207 pages of descriptions of abuses listed by the U.S. Justice Department in the Court's Findings of Fact are just a small part of the company's total abusiveness. This anti-trust case focuses mostly on Microsoft's mistreatment of large companies, but it is the abusiveness toward small companies and individuals that is most destructive.
Bush's education improvements were
As a cross platform developer, my choice is Java. Java has excellent widgets, it's a nice structured language and can be used for making stand alone applications, applets for browsers, server side programs, etc, etc. Last but not least: java has excellent support for communication with all kind of database managers like Oracle, SQL Server and MySQL. I use Borland JBuilder 4 for Linux instead of Forte. Forte is Ok, but for me JBuilder is a bit better. This is my personal opinion.
Gilbert
to one of the nine layers of hell. I'd look up which one, but I can't find my MSDN DVD anywhere....
+++ UGUCAUCGUAUUUCU
You've already been to hell... What's next?
I do everything the voices in my head tell me to...
The biggest difference is that VBscript doesn't allow you to type when you DIM an object, so the old:
Dim rstRecordset as New recordset
is invalid. You need to DIM and then set the objects in another line. Eg:
Dim rstRecordset
Set rstRecordset = CreateObject("ADODB.recordset")
Sorry I can't remember offhand what the ProgID is for DAO stuff, although I guess you could give 'DAO.recordset'
Or you can just make sure all the source is compiled in a 97
Trolls throughout history:
Trolls throughout history:
Jonathan Swift
Careful, going too far past VB can cause a burning sensation when peeing and lead to a trip to the Free Clinic...
"VB"++ = VC
"VC"++ = VD
I miss Meept
You miss that self righteous SOB? WHY!?
Javascript + Nintendo DSi = DSiCade
They are usually a bit spoiled by the ease of GUI development and writing to an event model. A good Java IDE will help with that. A year ago, we used Visual J++ which let us interoperate with our COM objects. I basically told them, "Look, its the same code as you have been writing, just add a semicolon at the end of each line." Which was true for COM calls anyway. The other syntax differences were sugar-coating and we had a number of reference cards. This gets them started.
Recently, we've moved over to a combo WinNT and Linux development platform. To keep everything consistant, we chose Forte 2 which is Open Source. I think it is an excellent IDE with most of the features you need. Check it out at Sun's Forte for Java site.
I was aware of the Integra stuff, and probably would have persued that path when we made the move to Solaris and Linux. But by then all the main COM objects (which just called SQL Server sprocs,) had been rewritten to use this German JDBC driver pkg that worked great with SQL Server w/o needing the ODBC bridge.
Smalltalk is very RAD; it's a pure object oriented language + IDE which does away with those quaint source files. In general the GUI code is not transportable across vendors. Domain code is allmost cross-platform, often porting between vendors is trivial.
Some cross platform Smalltalk versions are Visual Age Smalltalk by IBM (needs to rebuild the app for each platform, uses native widgets) and VisualWorks by Cincom (binary portable, uses emulated widgets).
Both have a code revision system, IBM has ENVY as an option, VisualWorks comes with STORE.
More Smalltalk info at WhySmalltalk
Things to think about when coding in Access: Prepare all your code, and coding datatypes and functions for an easy upsize to SQL Server. This means start using ADO now. So many companies do the quick dev hack and use the easy route with Access which bogs them down later for that unexpected upsize. Take my word on this one.
Frankly I'm of the opinion that people who use these tools as the sole source of thier interface design mechanisms shouldn't be programming at all. Because thier too stupid to work out the right way to build the application, rather than using the cookie cutter method. Oh, and actually thinking about what one is doing usually cuts down on development time. Believe it or not, it's true. Or it maybe the case that people are tired of reinventing the wheel and spending literally thousands of lines of code just to display one dialog box on the screen. Or it maybe the case that people are tired of these snobs who claim that C should be used for everything when most people use it in a way that just gives the impression it's the most hideous jumble of cack ever invented. But then, you're not a real programmer since you don't use dip-switches, a-la PDP-8 to enter your code, now do you?
Yes, if you're an expert on VB it does.
Read again what I am saying - if you're an expert on VB, well, then you are. What's so strange about that? If he says he's a VB expert, then he doesn't say he's a programmer that knows all languages, right?
It is impossible to be an expert at VB exactly... how? You can be an expert at C++, Java, Access... right? Or am I missing out on something here, cause english is not my first language. I am actually wondering if I am misunderstanding something.
What exactly do you consider a "hack" language?
That is what the acronym (used to) stand for. So you're saying you are an expert at a beginners programming language. In the english language, expert means to "have much training and knoweledge in some special field". Therefore, it is what is known as an oxymoron, hence why it was humorous.
As an aside, I'm very disappointed to have received my first -1 moderation ever on Slashdot. Therefore I will qualify my opinion a little. My problem with Visual BASIC is that it's a Windows only thing, therefore it serves little purpose for me. Therefore, most people who use it are Windows people. Windows people, especially someone who has the nerve to call themselves an expert Windows user, is probably an idiot. Those terms, as well, just don't go together. Windows is designed for idiots, therefore I don't see how you could be an expert (as define above) at it.
Do you understand my reasoning yet?
Cheers,
^_^
VAJ is an IDE for Java and it's also a RAD tools. Professional version for Linux is available and you can download community version for free.
Note that VisualAge IDE is not only for Java only. It has VA for C++, Smalltalk, etc.
Kindergarten?
Look like someone really needs to get back to kindergarden.
Sorry, couldn't resist...
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/.
Top Most Bizarre/Disturbing Error Messages
If you find the language that suits you and your needs you'll find the IDE for it just after that.
I'd suggest Java. It's solid OOP without the difficulties of C++ (garbage collection and the like).
BTW: Kylix is somewhat unstable and slow. Steer clear! You can get Visual Age for Java for Linux from IBM for free if you sign up as a Linux-devloper. If you're so focused on non-GPL IDEs. Once you know Java (with IDE or not) you'll learn everything else in no time.
We suffer more in our imagination than in reality. - Seneca
try the Boa-Constructor http://boa-constructor.sourceforge.net/ this one really rules ! python is the best language for RAD anyway and together with the wxWindows toolkit it is perfect.
Sad fact is is that there isn't an environment like you describe. The closest thing is probably Java, but one has to wonder about its longetivity as well. Hate to say it, because their should be an alternative, but you should probably start learning C++.
Hate to burst your bubble, but there's a hell of lot of Linux beyond sucky old ia32. Kylix won't do a do any good if you want your app to really step up and play ball. Or if you should want to scale down and take it mobile. Kylix will keep you from being able to use huge Sun and Alpha servers, cool and quiet Motorols-based systems, and teeny little embeded MIPS and ARM based embededs.
Just something to keep in mind should you wander into othe wide range where ia32 is out of place.
i waited to make my final opinion on VB for version 5, and when i saw that it still had the same awful data aware controls, meaning that they were useless and you had to code all of your insert, update, delete functionality, i was so glad i had gotten out of there.
I spent a couple of weeks last winter with a friend at work using VB 6 - what a bloody nightmare. All the damn coding he had to do just to put up simple data-entry forms - nothing had really changed in VB over all those years. It took him 2 months to write it, while I could have done it in a week with Delphi. That's how far superior Delphi/Kylix is. Download the free versions and you will see.
And as for ADO, it seems ok. First, it was DAO in VB 3, and that got chucked for RDO in VB 4, and then RDO got chucked for ADO. What a mess MS made of things
As for Access, it has always been infinitely easier writing database apps with it than VB, even going back to Access 2.0
I could go on and on how crappy VB is and how it leads to bloated budgets, late deliverals, bombed projects, and DLL hell on the installs. Guess that's why MS is ditching it for C#, which they are, if you take 2 seconds to read between the lines. VB will go into maintenance mode, and MS will push people to C#, their Delphi/Java clone.
alex
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.
alex
I would say that JBuilder is definitely a serious competitor to Forte. They have a free edition which is not too bad, and they also have a professional and enterprise edition which have lots of useful features. JBuilder was voted best IDE on the JavaOne conference last week. You need at leas 256MB though...
There's also NetBeans, which is based on Forte (or the other way around), and which is open source.
By the way, if you're a VB developer, why not move to .NET? Then you can easily switch between different languages like VB, C# and Eiffel# (and there are more languages coming up).
The nice thing about standards is that there are so many to choose from. - ast
www.realbasic.com Cross-platform on the two OS's that actually have a competitive desktop and user base. OS X and Windows. You won't really have 'cross-platform' solution if you exclude the MAC community.
Visual Age for Java is my favorite IDE, and you can get a free version for Windows OR Linux. The Professional version is less expensive than the other tools you mentioned. Forte and NetBeans are free and worth a look.
If you'd like to learn how to write your own components visit my website.
I gave up on Visual Basic and switched to Java back in 95. The language has improved a lot since then, and I haven't looked back.
Sorry... wrong-o pal... .NET also comes with VC++ and Visual Fox Pro.
VC++ can run in 'protected' and 'non-protected' mode (jit and no jit respectively)...
http://msdn.microsoft.com/net/ would be a good place to start.
That said, as a matter of professional interest, C/C++ is a serious option as far as computationally demanding applications are concerned (e.g. server side work, systems programming, medium scale embedded systems etc.) - This is likely to be particularly valuable as it is within this paradigm that a vast quantity of existing software has been written, but IMHO anyone deciding to use C/C++ to write GUIs these days require their head examining. As mentioned in previous posts, Java is a serious player in the marketplace, and I was very impressed with Jbuilder 4.0, the least comprehensive version of which is freely available. C# has also been mentioned, and while I feel this development is not without merit, I am concerned that its proprietary status may draw programmers into the same "dead ends" as VB. Python, to me, falls into the same basket as TCL/TK did several years ago - a scripting language which is not directly comparable with the other suggestions here.
If this post is asking about "cool" languages to try out, you could go much further astray than to consider ML, (an established and capable functional language) or maybe Smalltalk There are a whole host of alternatives out there, and it's silly to pick your language before you pick your problem.
This sort of thing depends on the particular Smalltalk that one is talking about. Every one that I know about has support for Sockets. I've never really looked for serial port support. Squeak seems to have it. Dolphin doesn't, I think, but classes are available to add it, I'm fairly sure. I'd be pretty surprised if it weren't in VW and VA too.
He could look at GnuVB
It's not ready for prime time yet, unfortantely.
You might get a chuckle or two here, BTW.
Personally, I think that moving from VB to Delphi or Java shouldn't be too hard for an experiance programmer.
--
Two witches watch two watches.
--
Two witches watched two watches.
Which witch watched which watch?
The good thing about VB is, simply by learning a few new objects, you can writing GUI apps, middleware components, server-side scripts, web apps, web services, DB apps, etc....
Possible in C/C++ as well, but not nearly as easy - good if you're into pure performance, not so good if you're mainly concerned with data access, business logic, and usability. And I'm sure other languages have such capabilities, but I doubt any are so well supported.
If you want to switch to a cross-platform language with similar capabilities, I'd recommend Java/Forte. It's capabilities are as broad as VB, the IDE is pretty good, it's a fairly beautiful language, and, job-market-wise, it's hard to beat.
--
Convictions are more dangerous enemies of truth than lies.
Convictions are more dangerous enemies of truth than lies.
- Nietzsche
Wrong, an expert programmer is one who uses a variety of tools to efficiently complete a required job. No matter how much you despise VB you must admit that sometimes it is the best tool for the job.
A lot of posters are recommending Java. As a VB programmer you are most probably programming the GUI front end. Java is fairly a poor choice for GUI (slow). It's strength lies in server-side computing (EJB/j2ee/servlets). Why do you want to go cross platform? I assume you are doing this for your work. It's probable that your employer is not rolling out Linux or unix desktops and will be sticking with Winblows for the foreseeable future (some industries are an exception). Java is a poor GUI choice unless you truely need it to be cross-platform, which is usually not the case.
A /. article in which, not only is the article informative, but most of the posts are more so!
I implore you, valiant editors of slashdot - we must defend the "/. is mindless entertainment" meme from the grievous threat of articles such as this and the second article on unicode - Act now! Your country needs you! Once more into the breach!
There's no $$$ in 'team'...
www..--..net - for incisive, w
Just a terminology clarification: you folks are talking about RAD (rapid application development) tools -- the sort of thing where you drag GUI widgets around to make your interface.
Visual Programming means that the programming language itself is graphical (e.g. Prograph). See the com.lang.visual FAQ.
In spite of its name, Visual Basic is not a Visual Programming language. It is a RAD tool.
1) Java is SLOW, in the purest sense of the word. The interpreted bytecode setup they have going just doesn't work well and doesn't run fast. For some programs this isn't a problem (ie database frontends) but is killer for programs that do lots of client side computation. Also because of this Java isn't great for operation on older systems because even if your specific program isn't processor intensive the general overhead of the GUI will drag things down and make the whole app feel slow to the user. Using the Java Cisco Switch manager on older PIIs is painfully slow. This is probably the biggest problem at this point.
2) Java is still a bit buggy, espically Swing (the GUI libraries). If you've ever played around with most Swing apps for extended periords of time, you'll notice they they have some drawing errors from time to time. Not a mjaor thing, however it does give you app less of a polished look. Along those same lines all the cross platform Swing stuff uses the Java "metal" look which really doesn't match the look and feel of the target operating system. There is something to be said for polished, professional apps that "feel" like Windows (or MacOS or Linux or whatever OS they are running on).
3) You have to have JRE on a system to use a Java program. Doesn't seem like a big deal, HOWEVER if you are trying to distribute a program to the world, this can be a problem. Remember that for many users even the easy of InstallSheild is confusing. The extra step of having to install Java can be too much for some and limit your potential market. This isn't major, but something to keep in mind.
Now this isn't to say Java is useless for cross-platform development, but I'd caution people to look at their other options and see if perhaps something else is better. Also, in my experience the RAD in Java isn't quite as easy as in some other languages. I've used both Forte and JBuilder and neither are as easy as CBuilder or Delphi when it comes to the IDE. On the other hand, it is nice in that when you design something in the IDE, it actually writes out all the source for you which you can go and later modify and, barring using any components specific to that RAD compiler, you can actually take and compile using the Sun command line compiler.
I've been using the Aonix toolchain for Ada95 for a couple years now. It works great.
I'm able to develope apps in half the time it was taking me in C/C++, and the run-time checks and compile time checks used in the compiler are usually able to hammer out over %80-90 of the bugs.
Personally Ada95 with either the Aonix or Sparks toolchain has been the best thing that's happened to me.
Oh, I can also compile my Ada95 code directly to Java bytecode. Also, the code is portable across both the Linux/Unix and Win32 platforms without modification(well, it rarely needs modification.)
Check it out at www.adapower.com
McDoobie
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
-- Another senseless waste of fine bytes.
Hahahahahahaha, that will be the day, Unix has been around for ever, there is no way it will die, unless the entire computer world dies =P
These days, unfortunately, we don't really have the time in a project with normal deadlines to explore all the esoterica of a language. If you have no deadlines, by all means, be a University-style programmer. If you want to deliver a product before a deadline (and, thereby, keep your job and help keep your company afloat), you really don't have an IDE available for any language that is open-source, cheap, and works as well as required. The real world requires tools like IBM Host Publisher and NeuVis NeuArchitect that take the drudgery of programming connections, etc., & put in 'em the IDE, where they belong. (Why spend days playing with building a GUI, for pete's sake?!!) The bad news is that we only get to use these awesome tools because our company can affort them. I wish I were wrong. It do pay the bills.
As someone who was head-hunted as a "Pascal Guru" in the pre-Windows days (yup, I'm old!), the important thing is not to specialise too far. The Pascal market in the U.K. disappeared almost overnight in the late eighties and I went from Guru to unemployed very fast, because I had too few in-favour alternatives.
My favourite choice for Windows would be Delphi/Kylix due to my early days with Pascal - and it craps all over V.B., but I use V.B. for my main contracting role (people want it, so I write in it).
I use Delphi/Kylix for my own projects, Java, ASP, PHP, etc. where appropriate; hell, if it pays the bills and gets me the new car and holiday, I'll even revive my Cobol skills... as long as I'm having fun!
C/C++ is still a good career choice but the learning curve is very steep and the market a bit 'snobbish' with the new kid on the block.
What is important it not to narrow down your skill set but to build it up. Keep your V.B. skills up, learn Delphi/Kylix and Java and go with the market. Remember that programming techniques are the skill to be learnt, languages are just syntax.
In an ideal world we could choose the best tools and everyone would love us for it - welcome to reality, it doesn't happen that way.
Shit, I really do sound like an old fart, don't I?
Go permanent? In your dreams and my worst nightmares.
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.
In dream society, people could be given the ability to mod replies. In real life, it would be disaster.
Personally, I wouldn't recommend going with a closed source IDE or language, as you really won't get a language that is as fast or secure or constantly changing like an Open Source language is. On the plus side, however, Python comes with a rather nice IDE.
"I don't know that atheists should be considered citizens, nor should they be considered patriots." - George Bush
GNU Basic (www.multimania.com/sxpert/gnuvb/ for the goat wary)
Gnome Basic (www.gnome.org/gb for the goat wary)
KBasic (www.kbasic.org for the goat wary)
______________________________________
______________________________________
Ever notice how fast Windows runs? Neither did I...
maybe he just want to do more server side stuff eventually. or make a nice little gui interface for a new server type application that for big enterprises are likekly to have a scalable *nix implementation.
this comment should be modded (Score:2,Funny)
Ive benn to places were a vc++ was a total disaster. it more depends on the skill of the progrsmmers realisitc requirements and good project management. "faster" tools also does not necesarrily mean stable code either. and that becomes worse
The Horror!
uh VB is a hack. and it cant do server side stuff. Its just for GUI's
My opinion is that you must choose a FREE enviroment for develop FREE software. We must defend the GPL way of make software. What do you think about it? Jose Luis Alarcón Sánchez.
If the goal is to go cross-platform while maintaining (improving, even) ease-of-development, check out Revolution, it lets you easily target Linux, BSD, Solaris, Windows, and Mac, in an environment that is easier than Visual Basic, but just as powerful. Also consider Revolution's older brother, MetaCard.
I would definitely look at Java and JBuilder. Not only will this allow you to target Linux and Windows, but add Mac, Solaris, Free BSD, SCO Unix, Tru64 Unix, Palm OS, Nokia Cell OS, Motorolla OSes, IBM's AIX, AS/400, and OS/390. That should just cover about anything. Please none of the old arguments, Java is too slow.. Try it on a Pentium class machine with 128 meg of Ram, and you will find that using the latest JDK and Hotspot or the IBM JIT, it offers quite acceptable performance (about as fast as native compiled code back in the 486 days, using a P200 with 128 meg Ram, which is less than an entry level machine today). It is as fast as 90% of Python programs would be. Plus, with the new Java Web Start technology and of course the legendary Servlet, JSP, EJB, and applet support Java will handle most any kind of application task you can think of. When you need to integrate with legacy code, you have JNI. JBuilder is one of the easiest and most Robust Java IDE's to use as well. Net Beans isn't bad either. JBuilder 4 Foundation is a free download. So is Net Beans. Both will run on Windows,Linux, and Solaris. JBuilder also has a Mac OS X version. For JBuilder, go to www.borland.com/jbuilder For NetBeans, go to www.netbeans.org
I helped field test Delphi 6 and have used Kylix. As an avid Delphi for Windows fan, I think this Kylix/Delphi combination is going to be an extremely cool and productive combination for developers. For example, it is easy to create a project on either Windows or Linux, FTP the code over, and recompile on the other platform. Most of the hard work has been done underneath for you, or by the component developers. As an application developer or web developer, you can create apps for both platforms easily, quickly, and with the power of Object Pascal. Just my two cents.. put it this way, it kicks the a-s out of VB.