Click here to Skip to main content
15,885,980 members
Please Sign up or sign in to vote.
1.67/5 (3 votes)
See more:
Now i have a question to the professionals. Till 3 months ago i didnt knew anything about programming i thought this is just for very smart heads. I knew some things about Batch and VbScripting but then i found out by watching youtube that even "ME" could be a software programmer. I watched a tutorial about VB.NET and loved its syntax and wanted to buy Visual Basic Net Compiler, then i remembered that I had accidentely downloaded a year ago a large file by mistake which is called VisualStudio 2010 Net. Then i knew thats it and opened it and started programming simple things through watching online tutorials.

I have about 3 months VB.NET experience and as i said before i love its syntax, but the problem is with "Net Framework". Im sick of it, i dont want that the enduser of my software needs to install net framework before, and on macs it doesnt run too.

Now im searching another language to learn where my compiled file doesnt need anything to be preinstalled on the endusers computer, such like a microsoft net framework. i heard C++ doesnt requiere Net Framework, altough this language is listed too on my Visual Studio 2010 Compiler which is a .NET oriented Package.
And C++ didnt show any errors at syntax like vbnet or c# does, for me as a newbie very hard to deal with it.

Please Reply and let me know about your recommendations
Thanks in advance, begi
Posted

In my opinion, OriginalGriff has given a very good description what awaits you with C++ and .Net. But before you decide, which programming language to pick as your first one (others will follow!) consider the following:

- The programming language is most often the easiest part to master. Learning what the libraries that come with it have to offer and how to effectively use them is a much bigger task. That's where the beef is! For example, writing in C++ you will probably have to use the C runtime library, plus STL, plus MFC or WTL or ATL or Qt.

- After mastering one programming language, others will be easier to pick up, because you know the underlying concepts. So starting with C++, it will be relatively easy to switch to C# or Java -- language wise; again, adapting to the different sets of libraries is the bigger effort.

- Even more fundamental than to master programming languages and libraries is to understand general concepts of data structure (like lists, queues, deques, arrays, trees, ...) and entire branches of technologies (like databases, communication, object models, etc.).

You see, picking the "right" programming language to start with is to a certain degree arbitrary. It depends a little on how deep you will want to get involved and how serious you are about it. C++ is one of the more difficult languages, but once you mastered that, many others will come to you as easy. And using Microsoft's Developer Studio is a very good choice, as it offers a very nice and handsome environment.

If you want to stay an occasional programmer, Visual Basic or even a simple environment as Python will do the job and get you up and running faster.
 
Share this answer
 
C++ comes in two main flavours: one which uses .NET (and needs the framework installed to work) - this is the CLI version - and one which is Native, but which needs the C++ runtime in order to work. Admittedly the C++ runtime is a lot smaller than the .NET framework, but...

It's a big but. Very big. Vista included .NET 2.0 in it's standard installation. Win7 includes .NET 3.5 in it's. So if you are targeting machines from Vista and on up, then provided you stick to V2.0 (which you can select in your project properties for all .NET languages) you need not install .NET at all. If you stick to Win7 and above, then the same applies for .NET version 3.5. >NET can also run on Mac, and Linux and Android via various flavours of Mono.

And it gets bigger. In order to use Native C++, you are going to have to learn a lot. To do what you do in a .NET language in Native (be it MFC, ATL or Win32) is possible, but completely different (and a lot more powerful for some things). A Native App also can't run on Mac without additional frameworks, and / or a lot of extra hassle with VMs.

It is possible to make the switch. But if I was you, I would want a much, much more compelling reason than "i dont want that the enduser of my software needs to install net framework" particularly since it isn't necessarily true.
 
Share this answer
 
Comments
Rahul Rajat Singh 5-Apr-12 14:32pm    
My 5. A really balanced and juditious answer
[no name] 5-Apr-12 14:35pm    
QUOTE:
"It is possible to make the switch. But if I was you, I would want a much, much more compelling reason than "i dont want that the enduser of my software needs to install net framework" particularly since it isn't necessarily true."

Can I do it some way to include the net framework runtime necessarily files into my software without need to install the whole framework?
And yes i know that vista and 7 comes with net framwork 3.5 preinstalled, im using 7 and im a big fan of it, but in my country people dont have all fast computers which could run with win7, they use the classic one XP, which i think has only net framework 1.1 on it.
OriginalGriff 5-Apr-12 14:59pm    
The .NET framework is not installed as standard on XP (except Media Center edition at SP1, which includes .NET 1.0) - it is included (at V1.0) on the disk and can be installed by XP at SP1, SP2, and SP3 but it is not installed at all by default. You cannot rely in any way on any version of .NET being installed on a XP PC.

The .NET framework doesn't have a set of runtime necessary files - it is all or nothing! :laugh: You can't just pick out a couple of dozen megabytes and install that - it is all interrelated.
nv3 5-Apr-12 15:57pm    
That really gives a fair statement for both C++ native and .NET. My 5.
You can use C++ without .NET. It predates .NET by a few decades. You also don't have to use Visual Studio for C++, or anything even created by Microsoft. You can choose from a range of IDE's.
 
Share this answer
 
Comments
lewax00 5-Apr-12 15:35pm    
Pretty sure (if you make it with MS's compiler anyways) there are still some additional files needed to function properly (i.e. the Visual C++ redistributable packages). Other compilers may not have this requirement though, I've never tried.
Pretty much stuck with C++. You can use Java also, but need to have Java installed, and to get the type of capability you see in .NET you will have to include add-ons that will also increase weight. Simplest is just C and live with a console application.
 
Share this answer
 
Comments
Mohibur Rashid 6-Apr-12 0:59am    
Really? C only can produce console application? ouch..........
Clifford Nelson 6-Apr-12 1:26am    
Don't be stupid. If you minimize the wieght of the framework, what do you get????? A console application. They wanted something that had no weight. Well, you minimize weight by not having the weight of everything else.
Finding a language that requires no additional packages is pretty hard, the only solution I can think of off the top of my head would be writing HTML/Javascript apps that are run in a browser (as long as it's all client side code there's no reason you couldn't distribute an app this way, but functionality will probably be very limited).

However, you there are some redistributable packages you can include with your software (for example, .Net 2.0 Redistributable Package[^]) to install it on the end user's machine.
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900