Question:
I want to learn a Different Programming Language!?
?
2010-06-14 14:30:28 UTC
I program for hobby; I started out in VB.NET,
but was disgusted to find out that a computer had to have some very specific, narrow specification for the programs I made to even begin to run. (such as .NET Framework kept in the latest update. Almost all the computers I tried to show my program didn't have the .NET Framework 2.4.59884.6.4.6.2.3 (sarcasm), so it wouldn't run)

Does Win32 Application in C++ not have these problems?
Or other languages/platforms combination that would make my programs virtually run on any computer?

Thank you!
Three answers:
husoski
2010-06-14 15:36:33 UTC
Any application is going to be tied to some runtime required, and you may be able to minimize yours by compiling for a version of .NET that pretty much anyone will have. By now, 2.0 is a good bet. Go to project properties and see if there's a "Target Framework" setting in the "Application" tab. That's what I see for C# 2008 Express. Your VB.NET may be similar since both are .NET languages.



Speaking of C#, it gets my vote as the nicest .NET language to program in. It will have the same problem with requiring .NET to be available as with VB, though. It does have the advantage of being based on a language (Java) originally designed in the 1990s instead of a language (BASIC) designed in the 1960s.



The problem with C++ is that there's no standard GUI, so if you want to write apps with an interface other than the command like, you need to add some sort of framework. Microsoft offers either MFC (the old Win32 framework), native Win32 calls using the Windows OS as your "framework", or you can use a dialect of C++ called "Managed C++" and access the .NET framework.



MFC and Win32 programming are both discouraged by Microsoft for new apps, but both are still supported. For now.



Outside of MS, you could look at either Qt (pronounced "cute") or GTK for free cross-platform GUI frameworks for C++. Plan to do some fiddling around to get them set up for development under Windows, though. And plan to look around for support. I haven't used it yet, but the free Qt Builder IDE looks interesting, since it has the kind of GUI form-building tools that you're probably used to with VB.NET.



Java gets my vote for the nicest language-with-a-GUI. Combined with an IDE like NetBeans or Eclipse, you get all of the graphical form-design tools you need, plus the object code runs on any system (Win, Mac, Linux, Unix, AIX, Solaris, etc.) that has a Java runtime. But, you still need to have a Java Runtime installed on the computer for your apps to run; plus a front-end EXE or script for Windows to launch the app if the computer isn't configured to "do the right thing" when they double-click a .CLASS or .JAR file. This is mostly a problem for Windows. Linux and Mac systems don't have the "Microsoft hates Java, so they cloned it as C#" syndrome and don't seem to have a problem with "do the right thing."
Unca Alby
2010-06-14 15:04:10 UTC
I think what you may be looking for is a way to program for Windows without being locked int the .NET framework, is that correct?



What you might want is something that will compile directly into machine code, that you can recompile for different machines.



You might try getting something from Borland, or CodeGear or Embarcadero (not sure which company is still in business). Search for "borland turbo c", there might be something still available.



You might try looking up the Gnu family of compiler products, such as "gcc" etc. They practically wrote the book on making compilers work across different platforms.



The above might not have a good GUI option, if that's what you're looking for.



Or you can go the Java route, and lock yourself into a Java framework instead of a .NET framework. You're still locked, but at least it's a bigger cell.
loida
2016-06-04 06:18:02 UTC
You can't. Nobody starts programming and immediately makes money at it. Most professional, paid programmers spent years going through university-level computer science courses before they got to those positions. Occasionally there are young people who are able to make some money by programming mobile applications ('apps') and selling them, but even that field is rapidly climbing out of reach of amateurs as mobile devices get more powerful and the software they run gets more complex. Moreover, if you really believe that 'if you can't make money at it then there's no point', then you will NEVER be a really good programmer. The world of programming can be harsh and filled with frustration, and unless you genuinely enjoy doing it, don't bother. Go find something you really have some passion for, you'll thank yourself for it someday. With that said, if you DO enjoy programming for its own sake, then by all means go on doing it. Just don't get your heart set on going professional quickly. I've been programming for years, in about half a dozen different languages, and I've yet to make a cent from any of it. But has it been a fun ride? Hell yes, and I have lots of plans for what I'm going to do with it in the future. If you're going to go at it, then go at it with that outlook.


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