Best Programming tools?

Nahuel3d

Active Member
I want to get into real programming, and i tought about learning C and Visual Studio.
What do you guys recommend? I think those are the most powerful tools, but i need some advice since i never used VS.
Also, if i make something in C, i can switch it to other IDEs, right? (Like Visual Studio to MonoGame and viceversa)
 
Monogame isn't an IDE. Don't have time to write a full response apart from that...

Visual Studio C# is pretty much my life, so I'd suggest that you use that. VS is also good for C++, though I haven't done much on that front apart from debug and modify some modern emulator code.
 
QtCreator is quite nice, if you're writing code in C++ using Qt framework. For web/java stuff (unless you're into asp.net), I'd suggest some of the tools from JetBrains (who also made wonderful ReSharper plugin for VS, you should try it guys). I use PyCharm for over a year now and I'd say it's the best Python IDE I ever used. Really good support for Django and virtualenvs, and I find it's UI quite comfortable. These are the IDEs I spent most time with.

For casual code-writing, I like Brackets. While it's web-dev focused, I used to write C code for my university classes, or simple Python scripts in that. It's a really nice text editor.

While I think you should be totally fine with VS when writing C code, I'm not sure if it's not an overkill though. Sure, it's a powerful dev tool, but I would avoid using it for things like Hello world and stuff, you'd waste more time on starting it up, creating new projects etc. than writing the code itself IMHO.
 
For general purpose text editing, I use Sublime Text. It's great for Javascript, straight C (no ++), and I also use it for java (when I can't be arsed with eclipse) and formats like XML and JSON. I extensively use Find In Files to search through the exported "text SimAntics" from ea-land to find uses of specific primitives by name. For live debugging, I've never had a better experience than with Visual Studio. Everything else just seems hacky and weird in comparison.

Don't ever program in functional languages like haskell, unless you want to see why you shouldn't program in haskell.

A good starting point nowadays is Javascript. It's quite easy to draw things on a canvas and see some cool results quite quickly. Draw every 1/60 second and you've got a game... Definitely worth a shot.
 
Thanks a lot!
Let's say...if I make a Javascript game in an IDE that doesn't support compiling to Android devices, can I move it to another IDE that supports it?
Also, what's the difference between C, C++, C#, etc.?
Oh, and what are functional languages?
What's Monogame exactly?
 
Last edited:
If you use JavaScript, you probably just run it in the browser (unless we're talking about node.js or something). And if you really need it, there are quite a few tools that help you pack that web app into an Android app afaik (Cordova? PhoneGap? Totally blank here, never used these). These tools also give you quite a few programming interfaces so you could integrate it with the OS.

C, C++, C#?
C# is something completely different, I often call it "Java that's not fucked up by design". It's a language, it compiles to byte code and runs on Mono/.NET. It's sort of cross platform, so you can, for example, take FreeSO executable and run it on anything that has Mono/.NET on it, +/- minor adjustments to code. Oh, and it's object-oriented, just like Java.

C++ is basically C + more stuff. The difference is, C++ comes with:
OBJECTS!
CLASSES!
POLYMORPHISM!
INHERITANCE!
METHODS!
and all that stuff that let's you write OOP code (you should totally google this up, if you don't know what I'm talking about). Both C and C++ compile to binaries, you can't just run them on random OSes, but unless you're using non-cross-platform libraries, you could grab the sources and recompile it, so that's something. It's quite fast, since these are just binaries.

Monogame - framework for gamedev, it's compatible to some degree with XNA (which I guess was abandoned like 5 years ago?). It let's you code games in C#, obviously. @RHY3756547 and @zc456 can tell you more about it.
 
Yup. Rhys and I are pretty familiar with MonoGame. Rhys more then I, though.
Let's say...if I make a Javascript game in an IDE that doesn't support compiling to Android devices, can I move it to another IDE that supports it?
C, C++, C#?
C# is something completely different, I often call it "Java that's not fucked up by design". It's a language, it compiles to byte code and runs on Mono/.NET. It's sort of cross platform, so you can, for example, take FreeSO executable and run it on anything that has Mono/.NET on it, +/- minor adjustments to code. Oh, and it's object-oriented, just like Java.
Thank goodness Microsoft finally open sourced and made Xamarin free. So you no longer have to bother with Java on Android when you prefer C#.
 
I got to learn some C# and i'm making some simple apps with Visual Studio following Microsoft tutorials :D
Once i learn enough from the Microsoft tutorials i'll move to more advanced ones, but i'll take my time :p
Thanks a lot for the recommendations!
 
Back
Top