Related
I wonder if anyone knows any free alternative to VB6.
I need (or want), some easy gui building and ability to program.
I have no problem with learning any program language, I just want the gui building to be as easy as possible.
Thnx in advance
Sorry, I wasn't really clear before, I was trying to stay way from Microsoft... open source would be great, but freeware is also OK.
Why not try anything different? Do you know Delphi? Nice, clean and easy with a lot of adapters an wrappers. The free version is Lazarus.
http://www.lazarus.freepascal.org/
Visual Basic Express or C# Express perhaps?
A newer option we have is B4J, which is not open source but it is free.
The programming language is somewhere between VB and VB.Net, perhaps closest to the abandoned Jabaco language. It targets Java and JavaFX so the resulting programs are cross-platform, but the development tools require Windows today.
I never did to much GUI programming (besides a bit of QT and Delphi).
I need to write simple GUI app which would interactively visualize graphs.
Very similar tool to "GraphViz GUI for Mac".
What would you suggest?
Thanks.
I think it really depends on the platform that you're targeting. If you are writing native apps for the Mac, Objective-C is probably the best choice, as the APIs are built around that. If you're writing for Windows, you probably want C/C++ or C#, for the same reason. Cross-platform apps would make you choose a platform-neutral language, such as Java, or Python (as jldupont suggested).
I use quite a few and I'd say C# in Visual Studio on Windows (which is great, and free!), and something like C#+MonoDevelop (or equally a scripting language like Perl) and Glade/GTK on Linux/BSD/other UNIX's while on Mac OS then XCode and Interface Builder are the obvious choice.
I would say C# with Visual Studio Express is the easiest and XCode and Interface Builder have the steepest learning curve. I've not used QT though, so can't compare but imagine it's similar to GTK.
Thinking outside the box a little REALBasic is also excellent at getting the job done (if you can get past the fact that it's OO Basic). It's not free but they recently greatly reduced the price and it's really great to use for simple GUI app development.
Consider Python with PyGTK: cross-platform, documented, proven.
JRuby is a good choice - it's cross platform, and you get the double benefit of a large number of components available for java (for instance, someone probably has done an interactive graph visualisation panel already) and the ability to connect and use them from ruby (which is a great language to program in).
I need to develop a simple Windows application with 6 or 7 forms. Its main purpose is to manage files and launch a external program.
These are my wishes, in descending importance order
Free
Be Visual, I mean, the possibility to paint forms and object in the screen.
Possibility to carry it in a USB pen-drive.
I need a light/small size language, not a very complex one. My program is going to have very few forms and its functionality is simple.
Is there any language that meet this wishes? If not, is there any commercial one?
I would use Visual C# Express if I were you.
As others have suggested, C# isn't a bad choice.
Personally I'd use wxPython. If you want a GUI to help you lay out the forms, wxDesigner is very good.
Take a look at Visual Basic Express. IMNTBHO, the learning curve for VB.Net is shallower than the C# equivalent.
Failing that (as much as it pains me to say this) take a look at MS-Access (and a runtime install for carrying it around with you). It's not free, but it's also not terribly expensive. The learning curve is even shallower than VB.Net.
You mentioned wanting your program to be portable on a USB drive, so the previous answers suggesting C# and VB.Net are good as long as all of the machines you'll be using your program on have the .Net framework installed.
If you need to run your program on systems without .Net, you'll need to look at programming environments that can either make a native .exe or can wrap scripts in an executable. Which of those is right depends on your needs and programming experience, but I'd take a look at Lazarus/Free Pascal, C++, or Python (with py2exe).
Visual Studio Express editions seems good for your requirement.
Check: http://www.microsoft.com/Express/
Another vote for Lazarus/Free Pascal. It works from stick, and generates (on Windows 32/64/CE) standalone binaries, and you have full access to the windows api and other windwos specific gadgets (COM)
I'd recommend Turbo Explorer. It's a free RAD IDE that'll generate native win32 apps in C++ or Delphi without the need for a managed framework like .NET.
It couldn't be simpler to use. Just drag and drop your components on your form, compile, and run.
I'd ordinarily push for C# or something on the .NET framework but the stipulation of running on a flash disk means you need something that compiles natively. In addition to Lazarus/FreePascal mentioned above you might also want to investigate CodeGear Delphi
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I've been wanting to become proficient in a new language for a while. There are a few languages I want to learn but it's pretty important for me to be able to create a (Application) GUI. I work in C# so I have become very accustom to the GUI designer.
I would love to get better with C++ or Java (both of which I have a small amount of experience with). Other languages could be interesting too. I just really need to be able to make a GUI reasonably easily.
So what (non .net) language has a really good method of designing GUIs?
An extension to this question might be what are the most common GUI APIs/designers?
I would recommend you to look at Delphi. It's object pascal with a nice IDE and a nice community!
Take a look at www.codegear.com
CodeGear have also a C++ IDE, so you can have the bundle and put your hand dirty at Delphi and C++!
Hope his helps
vIceBerg
I agree with pmlarocque in that you should use NetBeans if using Java. It really makes GUI design easy.
As an aside, I also recommend pencil and paper. That really has helped me throughout the years, start making sketches of what you want it to be then replicate it in the IDE.
For GUI in C++ you should look C++ Builder, you can get Turbo C++ Explorer for free
I use both Visual Studio and Delphi, and the Delphi GUI editor is significantly better. It is worth a try. They make a free version.
May I recommend Flex? Flex Builder has a really nice GUI designer.
As for Java, both NetBeans and Eclipse IDEs are good choices.
To design GUIs in Java, you can use SWT, AWT or Swing widget toolkits.
I heard that some people experienced problems with SWT projects running on NetBeans. However, NetBeans comes with a built-in GUI Builder for Swing , a very powerful widget toolkit.
Of course, there's also a plug-in for Eclipse that allows you to build Swing GUIs, so it basically comes down to which IDE you prefer...
NetBeans has a great Swing GUI Builder (formerly Project Matisse). This is for Java, I think it was started by Sun but is an open source project. Very similar to Eclipse, but I found an advantage with NetBeans due to this GUI builder.
Check it out at: http://www.netbeans.org/features/java/swing.html
The cross-platform Qt GUI framework (which is mainly for C++) comes with Qt Designer.
Interface Builder and Qt Designer are by far the best GUI design tools I've ever used.
WPF/Silverlight: Expression Blend
Not as big as it used to be, but Powerbuilder.
Visual Dataflex has a decent GUI editor. It's a nice solution for building "database-agnostic" database applications.
Use Microsoft Expression Blend to layout your GUI.
WPF...
Before, I was using Qt Designer. First time I started using Expression Blend, I fell in love with it. So much easier to use than Qt Designer.
If your app requires high-performance, back-end it with some native-code language like C++.
If not, just stick with C# or Python.
Remember it's not just the tool that you use, but how it works as a whole
Too many combinations of different languages/vendors sometimes just makes you want to pull your hair our!
Well, I have two options: Objective-C on the Mac using Cocoa GUI framework, or Java for everything (Mac, Linux, MS-Windows) using the Swing API.
If you want to program in Objective-C targeting Mac OS X operating system for Apple Macintosh, iPhone, or iPod Touch - then the Interface Builder that comes bundled with the Xcode IDE (part of the Developer bundle) is really good.
You will need a Mac, of course, to be able to use it. If you have a Linux or Windows PC already, then you probably have a monitor, USB mouse, and USB keyboard. So you could get an Mac Mini for $599 and hook those up to it.
The Developer bundle is free. Just go to developer.apple.com and sign up for free Developer tools once you get your Mac.
If you are going to be a professional developer, then you might want to go there before you get your Macintosh and see if registering as a Pro and buying a Macintosh and stuff under that deal would net you more bang for your buck.
This Interface Builder of Apple's is pretty famous. It is what gave the NeXT computer is high reputation for being the way to create applications really fast. Wall Street financial firms, government agencies, and research types - plus a fair number of 3rd party commercial software developers - used it to create GUI applications very rapidly.
The name of Apple's Cocoa framework, by the way, used to be Next Step. When Apple bough NeXT from Steve Jobs, they renamed Next Step Cocoa. However, the classes still begin with NS as a little artifact of their heritage.
What people like about Interface Builder is that it has a very good layout manager and it lets you "wire" UI objects to other objects, making the latter "targets". Wiring them together this way creates a "connection".
So far this sounds very unexciting, I know. However, it gets exciting when you start doing it. You can design your actual runnable GUI in the designer and actually run it before you have written any code. Writing code lets you incrementally flesh out the user interface that have behavior more than UI stimulus-response behavior.
Anyway, the idea is that you can bang out a prototype extremely quickly, get feedback from someone based on this concrete GUI - and then fill in the details with Objective-C programming.
The most famous thing that was ever created with Next Step (Cocoa) is the World Wide Web (WWW). You may have heard of it. Well, the first web browser in the world was created by Tim Berniers-Lee at CERN in 1989 using Next Step, which had just come out the year before (1988).
He said he liked Next Step because it let him create his web browser very quickly. Even more impressively, his web browser not only allowed users to view web pages - his browsre also let users edit the web pages they viewed.
If you want to program in Java, NetBeans has a very nice Swing GUI designer.
It comes built into NetBeans. The GUI designer very easy to use and seems to have a full set of capabilities. My ownly dislike is that it puts commented sections in the code that you cannot edit. JBuilder did not put those annoying comments/restrictions in but JBuilder has pretty much faded from the scene these days.
Another downside of NetBeans is that it creates a .form file with the same name as the GUI class you are editing. Java code refactoring tools, other than NetBeans, are not going to know about this file. So, if you manually move the package the class is part of (or rename the class) - or use Eclipse or some other program to do it - you are going to have problems. You will need to be sure to use NetBeans to move/rename your class.
Eclipse had one in the form of an experimental plugin that was an okay start for a GUI designer called VE (Visual Editor) a number of years back. However, VE does not appear to have been updated in a couple of years.
I really like the true portability of Java programs. Java programs with GUIs are no exception.
I recommend adopting Java as your new language and using NetBeans as your first IDE, since you favor GUI program designs with a WYSIWYG editor.
Later, I suggest you also learn Eclipse. That way you will benefit from its more powerful code editing/refactoring capabilities.
You do not have to make an either-or choice between the two IDEs. With some caveats, like I have given - you can use both.
Netbeans IDE for Java as a sweet GUI designer.
Java Netbeans is good, and since java is fairly close to c# in syntax, it might make an easy learning experience
wxGlade is a GUI designer that can generate Python, C++, Perl, or Lisp and uses the wxWidgets library. And it's free.
IntelliJ IDEA for Java
http://www.jetbrains.com/idea/features/gui_builder.html
Here's a video:
http://www.javalobby.org/eps/intellij_ui_designer/
Vaadin
You can write business-oriented desktop-style web apps using only Java on the server side yet rendered automatically using Web standards client-side in the web browser.
The Vaadin Framework provides the magic of letting you define your desired fields, labels, buttons, and other widgets in a layout all using pure Java. By harnassing GWT technology, Vaadin transforms your Java code at runtime into the content for display in a user’s web browser. Your app is rendered using all the Web goodness of HTTP, HTTP/2, HTML, HTML5, CSS, DOM, JavaScript, WebSocket, Push, and so on… but does so transparently to the Java programmer. All that transformation is done under the covers. As a Vaadin programmer, all I deal with is Java coding.
I prefer using the well-documented API to programmatically layout the contents of my forms and widgets for the user-interface. You can do so free-of-cost using the open-source framework.
Alternatively, you can use their commercial product Vaadin Designer for a visual drag-and-drop layout editor tool.
Try the live Sampler and other demos such as Reindeer demo.
Since you mentioned you use C++, I'd recommend MatDeck(https://labdeck.com/comparison/). They offer a GUI Designer in their unique code. Their code is based on C++(It's called MatDeck C++ style code) and since it's specialized to their software it needs a lot less code to run. They offer much more and are a fully-fledged software. They also have a whole page that compares their code(https://labdeck.com/python/c-style-script/).
I'm teaching (or trying to teach) computer programming to a grad-student. Her previous experience amounts to little more than writing spreadsheet formulae. Which IDE or text editor should I recommend?
Please bear in mind that:
I only meet my student about once a week.
She uses Windows and I use Linux.
She doesn't have a community of users on hand.
She doesn't have much money to spend.
Edit: The languages she's learning at the moment are Perl and R. (Sorry ... for forgetting to mention them earlier.)
Edit: Thanks for all your answers!
The most highly recommended editors are jEdit and Notepad++.
If I can find a way to give my student adequate support for Notepad++ (e.g. by running it under Wine) or if I think that she can manage without support from me, then I'll recommend that. If not, I'll go for jEdit.
Apologies, once again, to those who saw the question before I got around to listing the languages that I'm teaching.
The Visual Studio Express products are all free. Unless the fact that you're using Linux changes things :)
Start off simple. Do not not scare her with an IDE! They are overwhelming at first and are not core to developing software. I learnt rudimentary Java with Crimson Editor.
If I started again I'd probably go for Notepad++.
Eclipse might be a good option (if a little overwhelming at first).
You obviously need to look at a cross-platform IDE. Eclipse is one of the best in this regard, as well as having support for many languages. It also comes with a good set of tutorials.
Since you didn't mention what programming language (guess it doesn't matter) you were teaching, I'll stick to something that supports multiple programming languages and multiple platforms. Given your situation, I would use jEdit (http://www.jedit.org).
jEdit is a programmer's text editor with hundreds of plugins, auto indent, and syntax highlighting for more than 130 languages and since it's written in Java, it runs beautifully on Linux, Windows or MAC. Hope this helps.
The best, most documented, IDE that is free in my opinion is Visual Studio Express. There are tons of blogs, howtos, videos, training, etc. You can find more information about them here:
http://www.microsoft.com/Express/
Also, if you are a student, Microsoft provides an entire stack of software free to students just for this purpose. This is through a program called DreamSpark. Included is an operating system, the professional version of the IDE, SQL Server, XNA Game studio and Expression. Any student can get this. More information is here:
https://downloads.channel8.msdn.com/
Hope that helps.
I have used Notepad++]1 a lot for various editing tasks, and I find it quite useful and competent.
Depends on the programming language. FoR C/C++ and anything .net Visual Studio is the way to go. The Express edition is free.
Eclipse or Jedit, if Eclipse is too complicated. jEdit is cross platform, free and supports a number of different languages.
Crimson Editor is also very nice; it's similar to Edit Plus. Syntax highlighting, tabs, etc.
Notepad++ for editing is awesome to me: it's Windows only, but maybe you can use it with Wine under Linux. But if you want someting more like an IDE, then Eclipse, or NetBean (both use java) can be very useful, although they are very resource expensive on old PC.
My suggestion is Textpad. You can teach her javascript, all the basic, and some advanced concepts are there. It's fun for the student see the output in a browser, and you can even teach a little HTML if the mood strikes.
Komodo Edit from active vision is free, open source, and available for Windows and Linux. Very nice features.
Otherwise, Emacs as it is available on both platforms and can be configured for CUA controls.
The Cream version of VIM is also a good option.
It really depends on the language you are teaching her.
EditPlus is a good simple editor. Free trial version and pretty cheap license.
Dev-C++ as a non-MS alternative.
Quote: "Bloodshed Dev-C++ is a full-featured Integrated Development Environment (IDE) for the C/C++ programming language. It uses Mingw port of GCC (GNU Compiler Collection) as it's compiler. Dev-C++ can also be used in combination with Cygwin or any other GCC based compiler."
Code::Blocks is also another good one, free and cross platform. Unless you need something for using VB / C# or other .NET languages as it is mostly C/C++. For the .NET languages on linux I would recommed MonoDevelop
Aptana is very handy for web-oriented programming.
http://www.aptana.com
That depends at least in part on the programming language you intend to teach her. That said, you might want to take a look at Eclipse. Though it started primarily as a Java IDE, it's been extended via plugins to support many others (including C/C++, Flex, Haskell, and ColdFusion, to name a few), and can fairly easily be adapted to a new language if support isn't already out there.
Add to that the fact that the IDE is cross-platform so you can both use the same tool on your platforms of choice, and it looks like this might be a good fit.
I'd recommend SciTE, as it's both available for *nix and Windows and free (as in beer). It supports pretty much anything you'd expect from a decent editor and, if she goes on to use it, quite customizable. It also isn't too complex, so it should be easy for her to get going with it.
+1 to the Notepad++ suggestion - Anything I do that's not .Net-related I do in that.
For Java, BlueJ is an excellent teaching IDE. It doesn't confuse the new student with a lot of advanced functionality (stuff they won't use for years to come). Eclipse is a great IDE, but there is a LOT of stuff there they could drown in. The same is true for Visual Studio, but I don't know of a simpler IDE for .NET languages.
You may also consider Ruby with Scite as a teaching option. The IDE isn't that fancy, but along with the ease-of-startup of learning Ruby this could work very well. Ruby certainly has some advantages over Java/C#/C++ for the beginning student (mostly in that you don't have to create a full class with a main method just to get a program running).
For the easy to teach Component Pascal language (a successor to Niklaus Wirth's Pascal and Oberon) try the free, open source BlackBox IDE and the book Computing Fundamentals by Stan Warford.
Regards,
tamberg
If you are writing software targeted at a Windows platform then Visual Studio is more or less the standard IDE. Since you are teaching a graduate student I would recommend getting the academic license for the professional edition if they are going to be writing a lot of software, otherwise the express editions should be enough for leaning purposes.
In terms of text editors, the one that I currently use the most is Notepad++ which is free, open source, and support a wide variety of features that are useful to software development. There are also also a number of useful plug-ins available for it as well.
I can't believe nobody has mentioned vi. I'll argue that the less your tool does for you in the beginning the better coder you'll be in the end. For a newbie, give them syntax highlighting and some helpers for dealing with blocks and lines. Something like vi is great, emacs is also fine, or if you absolutely must be on Windows, something like notepad++ or jedit will be decent. The main point is to learn to program before you learn to let your IDE insert code that you don't understand for you.
MultiEdit
Extremely powerfull (and extensible on emacs level) text editor with many IDE features (integration with compilers/debuggers etc). Beats all other suggested editors on every aspect.
Much easier to learn and use than editors with UNIX/terminal roots like vi or Emacs.
Not free (not too expensive though), and requires some learning to use effectively.
Another full blown IDE is SharpDevelop. It's OpenSource.
http://www.icsharpcode.net/OpenSource/SD/
Zeus - http://www.zeusedit.com
I have to mention PSPad.
It is very good, feature rich free editor. I have used UtraEdit and finally found free alternative in PSPad