Free programming software?

Malak

Lifer
Dec 4, 2004
14,696
2
0
I was looking for a useful piece of software only to find the type of software I'm looking for has only been developed for MacOS, Blackberries, and of all things PSP's. Since I am unable to find a Windows version of this software, I figured I could just cook it up myself. Anyone know of free programming software similar to visual basic? The underlying code is irrelevant, I can learn any language, but something visual makes it go faster. I just don't want to purchase a programming environment or compiler and I don't know of anything free off the top of my head. Any suggestions?

The software I'm going to develop is extremely simple, should be easier to create than a basic calculator in C++.

Moved from SfW to Programming
-ViRGE
 
Last edited by a moderator:

Leros

Lifer
Jul 11, 2004
21,867
7
81
You can get free basic version of the Microsoft Visual Studio for C++, Visual Basic, or C#.
http://www.microsoft.com/express/

I would suggest C# personally.

If you're needing a UI, I would look into learning WPF. WPF is a combination of C# code and XAML (similar to HTML). It makes defining your UI really.
 

Malak

Lifer
Dec 4, 2004
14,696
2
0
You can get free basic version of the Microsoft Visual Studio for C++, Visual Basic, or C#.
http://www.microsoft.com/express/

I completely forgot about this! Should do just fine.

I would suggest C# personally.

Any particular reason? It really is going to be a very simple program and from what I remember of visual basic, should take me more time ripping off graphics and getting it to look just right than to actually program the functionality.

If you're needing a UI, I would look into learning WPF. WPF is a combination of C# code and XAML (similar to HTML). It makes defining your UI really.

I think you meant to say more here, I'm guessing "easy"? I've never heard of WPF, do you have any other info on it? Although I may stick with visual basic since I've actually made utilities for games in it before back in college.
 

Leros

Lifer
Jul 11, 2004
21,867
7
81
Any particular reason? It really is going to be a very simple program and from what I remember of visual basic, should take me more time ripping off graphics and getting it to look just right than to actually program the functionality.

Out of the three, C# is the easiest. Its has managed memory and very clean syntax. If you're familiar with VB, then use VB. You still have access to the same .NET library functions.

I think you meant to say more here, I'm guessing "easy"? I've never heard of WPF, do you have any other info on it? Although I may stick with visual basic since I've actually made utilities for games in it before back in college.

Here is a simple tutorial to show you how WPF works:
http://msdn.microsoft.com/en-us/library/ms752299.aspx

Basically instead of writing C# code (I'm making up functions here as an example):
Rectange rect = new Rectangle();
rect.width = 100;
rect.height = 100;
Grid g = new Grid();
g.add(rect);

You would write XAML:
<Grid name="g">
<Rectangle name="rect" width="100" height="100" />
</Grid>

It is very similar to XML or HTML. Writing code for a GUI is logically a hierarchal thing (For example: A frame contains a grid, which contains another grid, which contains a rectangle). You don't see that structure in code. Writing XAML makes that structure obvious. Plus, you get a live rendering of what your GUI will look like as you edit the XAML.

Once again, if you know enough VB to do what you want, stick with it. If you're going to have relearn, you might as well learn C# and WPF.
 
Last edited:

DaveSimmons

Elite Member
Aug 12, 2001
40,730
670
126
For Visual C++, MFC "dialog-based app" project is a lot like VB, you drag and drop controls onto a dialog box resource, then use ClassWizard to add message handler functions for the button presses.
 

Cogman

Lifer
Sep 19, 2000
10,284
138
106
For Visual C++, MFC "dialog-based app" project is a lot like VB, you drag and drop controls onto a dialog box resource, then use ClassWizard to add message handler functions for the button presses.

I never really liked the MFC... it always felt like too much of a hacky way to get around the fact that C/C++ was built for RAD.

C# has a much more natural feel to its windowing features.

http://qt.nokia.com/products/

Qt is pretty snazz, and makes cross platform a joke if you ever want your app to run on a different OS. And it's open.
It is probably just me, but for cross platform windowing stuff I prefer the GTK over QT.
 

doh123

Member
Apr 28, 2010
25
0
0
wineskin.doh123.com
Not locking your code down to one OS is the best way to go.

simple stuff.. thats not very demanding on the hardware.. is always good in Java. Full GUI stuff is built in and can look like native windows on whatever OS you run it on... no recompiling needed, just move it from OS to OS and run it.

Now if you needs to get all the performance out of what your doing.... I like using C++ and Qt... easy to keep it ready for a recompile and run on other OSes. You can also do the same with C# and Mono with GTK. I just recommend if you do any C# code that you make sure its Mono compatible... if you stick to only .NET, then its stuck on Windows... where Mono runs on other OSes.
 

tatteredpotato

Diamond Member
Jul 23, 2006
3,934
0
76
Not locking your code down to one OS is the best way to go.

simple stuff.. thats not very demanding on the hardware.. is always good in Java. Full GUI stuff is built in and can look like native windows on whatever OS you run it on... no recompiling needed, just move it from OS to OS and run it.

Now if you needs to get all the performance out of what your doing.... I like using C++ and Qt... easy to keep it ready for a recompile and run on other OSes. You can also do the same with C# and Mono with GTK. I just recommend if you do any C# code that you make sure its Mono compatible... if you stick to only .NET, then its stuck on Windows... where Mono runs on other OSes.

I wouldn't say that's a global statement. I've written plenty of C# that needn't (and probably won't) run on Mono because it wasn't part of the spec. Plenty of projects don't need to be cross platform for either development or deployment.
 

Cogman

Lifer
Sep 19, 2000
10,284
138
106
Not locking your code down to one OS is the best way to go.

simple stuff.. thats not very demanding on the hardware.. is always good in Java. Full GUI stuff is built in and can look like native windows on whatever OS you run it on... no recompiling needed, just move it from OS to OS and run it.

Now if you needs to get all the performance out of what your doing.... I like using C++ and Qt... easy to keep it ready for a recompile and run on other OSes. You can also do the same with C# and Mono with GTK. I just recommend if you do any C# code that you make sure its Mono compatible... if you stick to only .NET, then its stuck on Windows... where Mono runs on other OSes.

I pretty much completely disagree with this. The vast majority of applications developed are single platform applications that are meant to serve a specific purpose. Trying to make everything cross platform is neither feasible nor desirable in most cases. Video games, database management tools, business tools, etc. You name it, and it most likely doesn't really need to be cross platform.

That isn't to say their aren't situations where the ability to move software easily across platforms exist; rather, it is something that just isn't a real requirement in most situations.

Also, you do realize that mono is a cross platform .NET implementation, correct? Coding in .NET IS coding for mono. Mono is behind because the .Net library is very large.
 
Last edited:

doh123

Member
Apr 28, 2010
25
0
0
wineskin.doh123.com
sure... many programs do not NEED to be cross platform... but why waste you time writing tons of code that you cannot easily move to another platform? What is the actual benefit you get? In most cases... none.

I never said Mono was different than .NET, just that for cross-platform, make sure it runs on Mono correctly, because you can make a .NET app that will not run on Mono right now.

Just because you do not see the benefits of learning to use cross platform tools, and want to stick to completely re-writing all code from scratch to support multiple OSes, thats your choice. "Its always been done that way, so its best" is not a valid excuse.

Of course if your idea of "cross platform" means "runs on more than Windows" then I'm sure you wont agree with what I'm saying. They say it sometimes takes generations to bring about change, but thats usually because you have to let all the elders who are stuck in their ways die off.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
sure... many programs do not NEED to be cross platform... but why waste you time writing tons of code that you cannot easily move to another platform? What is the actual benefit you get? In most cases... none.

Well the benefit you get is that the program runs and looks the way people who use your target platform expect it to. Not to denigrate Java, but nobody thinks Java programs running on Windows look or behave like Windows programs. They look and behave like Java programs running on Windows .

The real world is way too complex for a simple principle here. You have to break it down. At the very least you have to look at server, desktop, and browser-based application environments separately.

On the server-side cross-platform portability of components is desirable. Your binaries and your process architecture are going to be platform dependent, but there's no reason that foundation libraries can't be portable.

Browser-based tools are platform-portable by nature, and this slice will continue to grow at the expense of the last one, which is...

Real desktop applications, i.e. thick client binaries installed and running on the client side, utilizing the native windowing, input, and messaging facilities. If you need to write one of these, I would say there is almost no benefit to trying to make it portable. What you would do is make the windowing system as thin as possible, and make as much of the guts portable as you can, but use the native windowing facilities because that's what your customers expect.
 

Markey

Junior Member
Sep 28, 2010
20
0
0
Another vote for C#. It's free, and you can cook up quite a powerful app in less than an hour.
 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |