I am starting to learn to program in C# and I was wondering what is currently the best compiler and what IDEs have built-in C# compilers. I am 11 years old and starting to learn to program and need to choose a compiler.
New programmers find it difficult in selecting c/c compiler or ide which provides them a user friendly programming environment. So EFYTimes.com offers top 10 C/C Compiler And IDEs list along with their features. Programming languages are crucial in today’s computing environment. There were many programming languages that surfaced from the first generation of PCs.
I know about the MS Visual Express ones, but I want to know what are there good and bad things about it.
Also, is there a way that I can download Visual C# Express Offline? I can't use the web installer.
vaxquis8,06055 gold badges4040 silver badges5858 bronze badges
BennyBenny1,00322 gold badges1111 silver badges2121 bronze badges
closed as primarily opinion-based by Artjom B., Hamid Pourjam, Lrrr, Dour High Arch, Nikolay KostovJun 14 '15 at 19:01
Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.
7 Answers
It sounds like your question is more like, 'which IDE should I learn with?'.
I would suggest MS Express editions for C, C++, and C#. It's high quality, free, has an intuitive interface, and has a very large community for support.
vaxquis8,06055 gold badges4040 silver badges5858 bronze badges
tenfourtenfour27.5k1212 gold badges6262 silver badges124124 bronze badges
C# / .NET
Visual C# Express 2010 should give you everything you need to learn to program in C#.
If you really want to learn, especially on your own, you'll need interesting projects.
I don't think you should overlook doing some Windows Phone 7 Development to get familiar with the language and libraries in a fairly constrained environment.
If your high school allows it, see if you can set yourself up on DreamSpark.com and get yourself the XNA stuff, which (last time I checked) included a free membership that will allow you to develop stuff for the Xbox 360.
Microsoft's Coding4Fun blog might also be inspiring, although it seems to me that a lot of the projects are so esoteric that they probably won't teach very much, nor will they be interesting unless you have that specific piece of hardware.
C
Learning C is probably best done on a Unix-like environment as this is where the language has its origins. A modern GNU/Linux distribution will give you everything you need (you may have to install the development packages yourself) which is basically:
- a text editor (choose one; many like Emacs, Vim and Scite)
- a C compiler (GCC)
- a debugger (GDB)
Any distribution should have packages for these available.
Challenges
Try solving the problems from Project Euler in whatever languages you are trying to learn. Solving these will help you think analytically as well as teach you language constructs and certain library features. Ask your mathematics teacher for help if you are stuck with the maths side of those problems.
Best of luck!
JeffyJeffy
I have found Compilr which is a online IDE and is free for 3 projects and includes a number of langues.
BennyBenny1,00322 gold badges1111 silver badges2121 bronze badges
My sugestion is Mono
From Wikipedia:
Mono is a free and open source project led by Xamarin (formerly by Novell and originally by Ximian) to create an Ecma standard-compliant, .NET Framework-compatible set of tools including, among others, a C# compiler and a Common Language Runtime.
The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers.[4] Mono can be run on many software systems including Android, most Linux distributions, BSD, OS X, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.
The logo of Mono is a stylized monkey's face, mono being Spanish for monkey.
SwitchSwitch1,73011 gold badge1212 silver badges2929 bronze badges
for c definitely go for ICCC# I might guess you go for VS 2010
Syntax_ErrorSyntax_Error2,2221010 gold badges3737 silver badges6060 bronze badges
I would say get yourself a copy of linux and gcc. Ubuntu is a nice way to get going.
Dhaivat PandyaDhaivat Pandya5,56244 gold badges2323 silver badges4141 bronze badges
You're talking about three different languages. C++ is an expanded version of C and although it is its own language completely, C++ compilers can also compile C code.
If you're looking to learn programming I recommend C# and Visual C# 2010 Express edition.
Andrew NoyesAndrew Noyes4,10111 gold badge1313 silver badges1313 bronze badges
Not the answer you're looking for? Browse other questions tagged c#compiler-construction or ask your own question.
I'm fine working on Linux using gcc as my C compiler but would like a Windows solution. Any ideas? I've looked at Dev-C++ from Bloodshed but looking for more options.
Community♦
mario64mario6471433 gold badges88 silver badges1111 bronze badges
closed as not constructive by Bo Persson, Eng.Fouad, Martijn Pieters♦, pmr, tchristSep 22 '12 at 14:00
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.
22 Answers
You can use GCC on Windows by downloading MingW (discontinued) or its successor Mingw-w64.
BaseZen7,10322 gold badges2323 silver badges4141 bronze badges
Ben HoffsteinBen Hoffstein91.8k88 gold badges9494 silver badges114114 bronze badges
You can get Visual C++ Express Edition straight from Microsoft, if you want something targeting Win32. Otherwise MinGW or lcc, as suggested elsewhere.
Alex MAlex M
GCC is ubiquitous. It is trusted and well understood by thousands of folks across dozens of communities.
Visual Studio is perhaps the best IDE ever developed. It has a great compiler underneath it. But it is strictly Windows-only.
If you're just playing, get GCC --it's free. If you're concerned about multiple platfroms, it's GCC. If you're talking serious Windows development, get Visual Studio.
George Stocker♦46.4k2929 gold badges157157 silver badges220220 bronze badges
Kevin LittleKevin Little9,35344 gold badges3030 silver badges4646 bronze badges
UnkwnTechUnkwnTech
44.2k6161 gold badges171171 silver badges219219 bronze badges
There is another free C compiler for Windows: Pelles C.
Pelles C is a complete development kit for Windows and Windows Mobile. It contains among other things an optimizing C compiler, a macro assembler, a linker, a resource compiler, a message compiler, a make utility and install builders for both Windows and Windows Mobile. It also contains an integrated development environment (IDE) with project management, debugger, source code editor and resource editors for dialogs, menus, string tables, accelerator tables, bitmaps, icons, cursors, animated cursors, animation videos (AVI's without sound), versions and XP manifests.
URL: http://www.smorgasbordet.com/pellesc/
HideoHideo
I personally have been looking into using MinGW (what Bloodshed uses) with the Code Blocks IDE.
I am also considering using the Digital Mars C/C++ compiler.
Both seem to be well regarded.
Philip TinneyPhilip Tinney
You may try Code::Blocks, which is better IDE and comes with MinGW GCC! I have used it and its just too good a freeware IDE for C/C++.
yogeeshyogeesh
GCC is not technically a linux specific compiler. Its a standards compliant c/c++ compiler, and I use it for windows programs on a daily basis. Its probably best that you use it until you become more comfortable with something else.
I recommend that you use the MinGW distribution of GCC. That will compile your programs natively for windows, using a standard library, etc.
If you're looking for an IDE, I have two recommendations. Visual Studio is the Microsoft version, and although it has its issues, it is an excellent IDE for working with the code. However, if you're looking for something a bit more lightweight, CodeBlocks is also rather good, and has the added benefit of being able to use basically any compiler you have installed (including several forms of GCC and the Microsoft Compiler that comes with Visual Studio) and being able to open project files fro other IDEs. Plus, it runs on linux too, so you could make that transition even easier on yourself.
I personally prefer GCC, but that's just me. If you really want the Microsoft Solution, VS is the way to go.
Nicholas FlyntNicholas Flynt4,0331010 gold badges4444 silver badges6666 bronze badges
MinGW would be a direct translation off gcc for windows, or you might want to check out LCC, vanilla c (more or less) with an IDE. Pelles C seems to be based off lcc and has a somewhat nicer IDE, though I haven't used it personally. Of course there is always the Express Edition of MSVC which is free, but that's your call.
mjardmjard30122 gold badges66 silver badges1212 bronze badges
Most universities give you access to Microsoft Dreamspark.
If you're using GCC/Linux in class, just install Ubuntu. Windows is a terrible platform for C development.
Matt JoinerMatt Joiner58.1k7878 gold badges295295 silver badges466466 bronze badges
Be careful to use a C compiler, not C++ if you're actually doing C. While most programs in C will work using a C++ compiler there are enough differences that there can be problems. I would agree with the people who suggest using gcc via cygwin.
EDIT:
http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B shows some of the major differences
tloachtloachhttp://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B shows some of the major differences
7,56211 gold badge2929 silver badges4343 bronze badges
GCC works fine. Note that MSVC is not necessarily a valid solution because it does not support C99.
Dark ShikariDark Shikari7,24533 gold badges2222 silver badges3737 bronze badges
MezMez16.8k1313 gold badges6262 silver badges9090 bronze badges
I'm late to this party, but for any future C folks on Windows, Visual Studio targets C90 instead of C99, which is what you'd get on *nix. I am currently targeting C99 on Windows by using Sublime Text 2 in tandem with Cygwin.
John RuizJohn Ruiz1,58822 gold badges1313 silver badges2929 bronze badges
Cygwin offers full GCC support on Windows; also, the free Microsoft Visual C++ Express Edition supports 'legacy' C projects just fine.
mdbmdb45.1k99 gold badges5858 silver badges6262 bronze badges
There have been a few comments pointing out that C is not C++. While that's true, also true that any C++ compiler will also compile C - usually the compiler mode will be automatically selected based on the filename extension, but every compiler also has an option to force C or C++ mode regardless of the filename.
So choose the free C++ compiler that you're most comfortable with gcc, VC++ Express, Digital Mars, whatever. Use the IDE you like best emacs, vim, VC++ Express, Code::Blocks, Bloodshed - again whatever.
Any of these tools will be more than adequate for learning. Personally, since you're asking about Windows, I'd choose VC++ Express - it's a great IDE, it's free, and it'll compile C programs just fine.
Michael BurrMichael Burr288k4141 gold badges446446 silver badges680680 bronze badges
Visual C++ Express is a fine and free IDE for Windows which comes with a compiler.
If you are more comfortable with commandline solutions in general and gcc in particular, MinGW or Cygwin might be more up you alley. They are also both free.
HankHank1,90733 gold badges1515 silver badges1414 bronze badges
It comes down to what you're using in class.
If the labs and the assignments are in linux, then you probably want a MinGW solution. If they're in windows, get Visual Studio Express.
Joel CoehoornJoel Coehoorn317k9999 gold badges504504 silver badges738738 bronze badges
Can't you get a free version of Visual Studio Student Addition from your school? Most Universities have programs to give free software to students.
Charles GrahamCharles Graham13k1313 gold badges3838 silver badges5555 bronze badges
You mean Bloodshed's Dev-C++? It's a nice visual IDE for C++ which uses MinGW's gcc for Windows as the back-the-scenes compiler. The project's been abandoned for a while (in my opinion, using Delphi to develop a C++ IDE is a very stupid thing to do to draw developers' attention), however there's nothing that stops you from using it and updating the version of MinGW's gcc it uses to the latest one - besides it's GPL-licensed.
Joe PinedaJoe Pineda3,56233 gold badges2626 silver badges3838 bronze badges
I use either BloodShed's DEV C++, CygWin, or Visual C++ Express. All of which are free and work well. I have found that for me, DEV C++ worked the best and was the least quirky. Each compiler has it's own quirks and deifferences, you need to try out a few and find the one with which you are most comfortable. I also liked the fact that DEV C++ allowed me to change the fonts that are used in the editor. I like Proggy Programming fonts!
Michael BrownMichael Brown1,94611 gold badge1515 silver badges3232 bronze badges
Must Windows C++ compilers will work.
Also, check out MinGW.
nsandersnsanders9,20822 gold badges3333 silver badges4545 bronze badges