Question:
Programming Language?
2009-11-06 18:57:06 UTC
I am currently taking a class in basic C but I want to learn another language to make some programs that are good for GUIs, What language should I look into? I have heard a lot about VB6 and VB.net. Whats the difference between them? And is java, php or asp worth looking into?
Eight answers:
husoski
2009-11-06 21:30:05 UTC
Very little GUI stuff is written in plain C these days--even though all of Windows application programming was to be done in C for the first decade or so. An object-oriented framework helps make GUI coding less tedious. Even better is an IDE, or Integrated Development Environment, with graphical tools to help you develop your GUI code components.



Microsoft's Visual Studio .NET is an IDE supporting GUI programming in VB, C++, C# and a Java-variant called J#. You can get free single-language mini versions of these, called Visual Studio Express Editions.



Sun's NetBeans IDE is free, period. You can develop in Java, C++, Python, Ruby and other languages, but only Java seems to be well supported for integrated GUI development so far.



My suggestion for a next language to get some GUI experience would be Java using NetBeans 6.5 or later, but there are many ways to go from here. In no particular order, these include:



C++ was developed as a type-safe extension to C++, adding object to accomplish this. As such, most C code will compile under C++ with few modifications. By the time the language hit the standards committee, though, the set of extensions was larger than the original language. Still, a C programmer will usually pick up basic C++ faster than other object languages, and good free compilers have been around since the inception of the language.



As far as the languages go, if you want to run on multiple platforms (Win, Mac, Linux), Java and NetBeans is the way to go. Java is an object-oriented language based upon C, but built new-from-the-ground-up to avoid some of the pitfalls of C programming. Java has it's own set of quirks, but a smaller set (IMHO) than C++. The Java Library includes a ton of well-documented classes for GUI, Graphics, Networking, etc. Pretty much anything except hardware intensive gaming applications.



C# is Microsoft's ripoff of Java. It was designed as a alternative to Java to be used on Microsoft's .NET platform, which was in turn a ripoff of the Java libraries. There is a supported free compiler and they seem to have avoided some of Java's quirks, but it is a language that locks you in to Microsoft. One area where C# in essential is in game development for Xbox and Windows portability. C# is the language of choice (the only one?) for use with XNA Game Studio IDE.



J# is even more of a ripoff. It's not Java, not C# and Microsoft-specific.



VB is old. It was based on an even older language, BASIC, that was old when Bill Gates made name for himself by making a BASIC interpreter for the Intel 8080 processor running CP/M. It has object-oriented extensions, but is not really object-oriented. It's very easy to whip up simple GUI applications, though, and it's probably nicer to use VB.NET than the older VB that I've used.



Python is a nice language for prototyping, and you can do some more-or-less platform-independent GUI programming with the tk/tkinter package that comes standard. There are other GUI options too, but tk/tkinter is the best documented. It's an interpreted language, which makes for a very flexible runtime environment, and tends to be a better scripting language or prototyping language than a robust application development tool. I haven't seen any free IDE tools other than NetBeans, maybe Eclipse, but I don't think either supports interactive graphical GUI development. Python was the language I chose to write my Sudoku solver in, with a little GUI for puzzle display and entry.



PHP is really only used for serving web pages, generating them or customizing them on the fly, and implementing the server side of a web application. It runs mostly on Apache servers and competes with ASP.NET on Microsoft servers. I only mention it because you did.
2009-11-06 21:06:25 UTC
You can build GUIs with C. Typically you'd use some other framework, like the MFC in Windows. There are also a number of multi-platform GUI toolkits that can be used with a number of languages. Qt, tk, and WxWidgets are all good examples. Typically C programmers don't use the same graphical form creation tools that VB uses, but such tools are available.



VB6 is extremely outdated. It teaches poor programming habits, and works on a dwindling set of computers. While it does get you building a graphical program early, it's really not worth getting into today.



The modern equivalent, VB.NET is a very powerful language. It's still relatively easy to build a graphical form (essentially you draw the visual interface with a drawing program.) However, this is not the key element of programming. Many VB programmers are really form artists, and have a difficult time thinking 'beneath the form.'



C# is functionally identical to VB.NET (they compile to exactly the same object code) but it follows the C++ / Java school of thought.



Java is an extremely capable language. It can be used for just about any kind of programming. Java does have quite good GUI characteristics (in fact it ships with two GUI engines - AWT and Swing) If you use the free netbeans editor (or a number of others) you can build a graphical form for Java just like you do in VB.NET / C#. The Java Syntax is verbose, but that's because it protects you from being lazy.



PHP and JavaScript are important languages in web development. These two languages are typically used together to build web applications. Both use HTML / XHTML and CSS as the user interface environment, so if you know HTML, you can build a 'GUI' for a PHP / JavaScript app.



ASP.NET is an old Microsoft technology that was supposed to compete with PHP. It didn't. Now ASP.NET technology uses C# or VB.NET on the server to provide a very capable server-side solution.
2009-11-06 19:25:25 UTC
I don't know much about Java but if it's as similar to C++ when making GUI as most people say, then I wouldn't recommend it for someone who wants pretty GUI(without a crap load of work), asp and php are for interactive web pages. VB.NET is just the updated VB6, VB.NET makes about any GUI you want without ANY work.

It literally allows you to pick from a selection of different "thingies" (text boxes, buttons, picture boxes, even timers which make animation so freakin' easy) and all you have to do is click and drag. Then double click and it automatically sets up a handle for the most commonly used handle for that type. ex. Double clicking an Input Box would result in it creating a handle for that txtbox that reacts when the text is changed.

If you learned even the most basic stuff in C then VB.NET will be the easiest programming you've ever done.
2009-11-06 19:15:48 UTC
I have heard a lot about VB6 and VB.net. Whats the difference between them?



VB6 and VB.net is a downgrade from C, so you probably don't want to learn them, unless you want to.

~~~~~

And is java, php or asp worth looking into?





Java, PHP and ASP are internet programing languages, which run the internet. They are not GUIs. If you want to make your own website (or make websites for other people), I would suggest HTML, CSS, PHP/ASP. If you want to make internet games and applications, use Java.
?
2016-05-23 05:15:01 UTC
He might be trying to say that you need to learn programming techniques and logic, rather than languages. This really is important, too. For instance, being able to hold a conversation in 15 human languages doesn't mean you can write an outstanding work of literature in any of them; and a really well written program is much like a really well written book, in that it needs to have many parts that fit together in non-obvious but effective ways.
Ratchetr
2009-11-06 19:33:26 UTC
C#



It's based on C, so you'll already know the basic constructs of the language from what you learn in the C class.



While you're learning C, you may come to the conclusion that programming is hard and frustrating.



Learning C# will teach you that it doesn't need to be.
2009-11-06 19:04:40 UTC
It really depends on what type of GUI applications you plan to develop. C/C++ are commonly used for creating professional software, especially games. If you don't plan to do very complicated stuff, you might want to do VB. If you want to do a more web-based type things you should use something like Java, Flash, etc.
Royal100
2009-11-06 19:03:00 UTC
VB is simple, easy to learn. But it is, very crude.



You should try Delphi, much more powerful than VB.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...