Seeking Advice on Windows IDEs, Cygwin, Windows versions, et. al.

Started by
8 comments, last by Nypyren 10 years, 3 months ago

I am trying to write hobby games for Windows / PC. When I used Visual Studio Express 2010, I am frustrated with restrictions placed on being able to add IDE customizations. For example, the code snippets tool doesn't natively support C++ unless I upgrade to Pro. For the same reason I can't add 3rd party extensions, like Snip2Code, unless I shell out some cash. From what I've read, and I certainly can be wrong, is that if I wanted Visual Studio with C++11 my best route is to install either Windows 7 or Windows 8 ($100-$200). But would I need to get Pro and shell out another $500? Does anyone have opinions and experience here? Like I said, I'm currently only a hobbyist. Spending $100 for a new OS is non-ideal but doable, but spending another $500 for a license on software that might be replaced a year later is asking too much. If I upgrade to a new tool is there typically a savings involved? Are add-ons difficult to code up? Are 3rd party applications typically expensive?

I do enjoy the features of the IDE, especially the Intellisense and pre-compilation error detection. However, I do not enjoy hunting through GUI menus to add libraries, include paths, etc. Maybe my experience would be a little better if I could control all of these build options from a text file and command prompt instead. I feel I'm giving up some control by just letting the IDE handle the build flow. I see CMake is touted in these forums so I may head that way. Is Powershell a worthwhile way of running on the command line?

In exploring alternatives I ran across Cygwin. Since I program on Linux for my day job this discovery was serendipitous. I've download the environment, copied source code from one of my Windows projects, created a Makefile, and after a bit of tinkering I got a natively compiled Windows program working without using any Cygwin DLLs. I use Xemacs / Emacs and I also uncovered CEDET: http://cedet.sourceforge.net/. Maybe I can have the best of both worlds?

Is using Cygwin a dangerous path to travel for programming Windows applications? Is there anything to be wary of? I'm looking for other user experiences.

Thanks!

Advertisement

Visual Studio is an Amazing C++ IDE.

By far the best C++ IDE I have encountered anywhere.

That said, getting the full experience is very expensive. (Even after you but V.S. you still need to shell out for some good plugins).

If you are a hobbyist, and are not ok with the express edition, don't use it.

If you are looking for alternatives, you can use Eclipse CDT or Netbeans.

Disadvantage is, they are very slow and poor in features.

Also, they were originally designed for JAVA, so some of the design seems clunky.

The advantage is they are free, and come preloaded with alot features such as refactoring.

Also, they work with several compilers: Cygwin, Ming32, etc...

Always use an IDE, preferably with an integrated debugger. Even when working with Linux.

My Oculus Rift Game: RaiderV

My Android VR games: Time-Rider& Dozer Driver

My browser game: Vitrage - A game of stained glass

My android games : Enemies of the Crown & Killer Bees

Either you use the crippled demoversion, pay or you find some other IDE. But you seem to know that already.

So I would say try out some free noncrippled IDE's first and then decide if thats good enough?

For example you can look at http://www.codeblocks.org/ or google a bit and you find like a dozen others.

I'm very much a fan of Visual Studio. Because I'm a student I can make use of the Ultimate release for free. I'm not sure what your exact predicament is but if you don't release your games for money and you're also a student I'd recommend attempting to get a copy. The extra tools like static analysis and profiling are certainly very, very educational.

MSBuild is also a nice tool once you start to learn it.

Failing that you could just install GCC and use CMake to automate building. You're then free to use whatever text editor you like. Sublime (http://www.sublimetext.com/) is pretty cool.

Wanting to be able to add extensions to an IDE, versus wanting to compile on the command-line, seem like two contradictory preferences to me.

I'll echo the previous answers stating that MSVC is an awesome IDE; even the Express versions are full-featured enough for most hobby projects and the features you're missing - while useful - by no means render them "crippled".

Generally you'll set your include/lib directories once and make them a global setting, so that all projects can use them. Have a read of this for one way of doing it.

Regarding IDE versus command-line, one big secret of MSVC is that you actually can compile and link on the command-line too; in fact all of the tools are actually command-line tools that are spawned by the IDE with their output just displayed in the IDE's output window, but they're also fully accessible from the more traditional command-line as well. The IDE itself is useful for the reasons you've mentioned, as well as for organizing the files in your project, and it integrates very well with the debugger (which is really the best in the business).

You say that you program on Linux in your day job, so it doesn't seem good to me to also do so (or similar via Cygwin) for a hobby - your hobby will become more like work and you'll be going home from programming on Linux to more programming in at least a similar environment. That wouldn't appeal to me (in fact coming home to any programming at all wouldn't appeal to me).

It would also be good for you to broaden your experience, and using an IDE on Windows would be one way of doing that.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

Thanks all for your suggestions.

I'll post more to this thread with my experiences. Perhaps I'll sign-up for Gdnet+ and create a journal/blog. In the end I've decided against Cygwin. I ran into too many setup issues. The housekeeping would be too much work.

The Windows version of Emacs includes the full CEDET environment so I'm reviewing that environment.

For now I'll stick with the IDE and deal with some of its annoyances (for me, that is). The integrated debugger is certainly a strong case for using the environment. Getting rid of bugs using that tool can be an almost enjoyable experience, as far as getting rid of bugs goes.

I do realize that the IDE generates all the build scripts where the appropriate compile commands are issued. So if I want to tinker with build flows at least that option is available. With the third party add-ons I probably can write some of my own tools. AFAIK I won't be able to directly integrate them into the IDE but I'm sure I can find some hooks, whether it be as simple as the clipboard, or writing files into the project directories, etc.

Thanks again.

Unfortunatly there isn't any really good free IDE out there, QTCreator and Visual Studio Express are both decent but neither is great. (i prefer QTCreator over the express edition of VS though)

If you want a great texteditor i'd recommend looking at sublimetext, even though its not free($70) it is the only editor that managed to turn me away from vim. (it also has plugins to integrate with gdb which is quite nice)
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

Apart from what others have said in this topic, Visual Studio is no longer as expensive as what it once was:

http://www.visualstudio.com/products/visual-studio-online-professional-vs

Visual Studio 2013 has went to a subscription based model much like Adobe Creative Suite has in recent times. Additionally, newer versions of Visual Studio come with Addons that can be added to enhance the IDE and development experience, most do not cost anything.

Can you create a makefile based project with the MSVC Express edition?

I use cygwin on Windows to set-up a make-based build backbone.

We then support a range of IDEs & debuggers such as Visual Studio, Eclipse, Code-Composer, & Sublime.

If it can shell & run a batch file then we can set-up the environment and launch cygwin/make.

Most IDEs let you type in a regex to parse warnings & errors .. except MSVC.

So we use sed in the build process to reformat compiler warnings & errors into the MSVC style.

Check out Sublime if you want something free. Eclipse is just too ... much of a pig or something, I dunno but I can never stand using it. Maybe it's the silly long startup time though MSVC isn't exactly fast either.

- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara

Can you create a makefile based project with the MSVC Express edition?


My install of VS2013 express includes the "C++/Makefile" project template still, so I assume it still works (I have not actually used it though).

This topic is closed to new replies.

Advertisement