Here's another one using Dev-C++. I've been using it for years, even though I know it's not maintained anymore. The debugger tends to crash a bit too often for huge projects, but other than that as long as you keep your GCC up-to-date it's fine. Also, my first programming language was asm too, and still to this day I think it's an 'easy' language as soon as you have learnt the basic concepts of low level memory handling. It can also good to learn it first and then move on to C, since I've heard people without assembly knowledge usually go through trouble trying to understand how pointers and references work; if you do know asm however the concept is simple to understand (or so I think, it was easy for me at least)
This. (although I did it the other way around :v: ) A pointer in C can be compared to an address register (and once compiled, the ASM code will use an address register in most cases). Also, I definitely recommend Code::Blocks. I used Dev-C++ for a while and got really annoyed at the code completing constantly crashing.
I was using 4.9.9.2 (aka 5.0 beta 2). [slightlyofftopic]I don't get why some people don't like code completion. That might also explain why I don't mind long symbol names.[/slightlyofftopic] EDIT: It was not a "real" crash. The program caught the error and allowed me to continue using it, but the same error would pop up in my face every time code completion was invoked. It became frustrating and I found a replacement soon after.
In my case, because it decides to pop up the autocomplete thing right when I want to enter a newline, instead entering the autocomplete text when I press Enter and forcing me to delete it and waste time. Always happens to me, no exception. And long names can make code easily unreadable, watch out. It isn't fun when an identifier takes up the entire line :P
I hate autocomplete. For the reason Sik mentioned, but also because I think it's like a cheat. Real programmers didn't need all that automatic stuff back in the day. And they were better programmers than most of you.
Real programmers also never comment, if it was hard to write, it should be harder to read and impossible to change.... :P
Real programmers write their programs in machine code using butterflies to change the direction of Sun rays in order to write to the hard disk :P </xkcd reference>
Last time most industry programmers "back in the day" also didn't have nearly as much access to functional programming (there were basically lisp machines in the 80s and that's it), so I doubt that that's true (compared to today where many programmers, thanks to Moore's law, can feel free to write programs in languages like Haskell or Scheme and not worry about it never being used).
I prefer Geany as my IDE, but if you like Code::Blocks, you might try Code Lite, which is just a light version of Code::Blocks. By the way, Code::Blocks, Code Lite, and Geany are all in the Ubuntu repository, so you can install them with just the click of a button in Synaptic. I started out in assembly language and moved up from there. I think it makes a difference compared to starting in a high level language and trying to move down.
Best IDE in my opinion is Anjuta, it has some pretty useful features, and doesn't weigh you down with a bunch of junk. It also interfaces with Glade and although I almost never use that, it is nice to know that it can integrate with external tools as well.
I think efficiency is far more important than whether you're "cheating" or not. Real men didn't need wheels back in the day either, but you've got to admit it's made life easier. :P But yeah, autocomplete can be annoying for the other reason.
lol, Dev-C++. It's ancient and still uses GCC 3.4. I don't like IDEs that much, they slow me down. I usually have my projects using CMake with shellscripts for certain operations. My editor, is either Nano for small edits, or GEdit or Cream for writing long blocks. I use GCC 4 for C, and NASM for Assembly (AT&T syntax has no place on an x86 processor) .
You can change the MinGW it uses though (which is what I did back then). Code::Blocks also is using an ancient version of MinGW :\ (and in fact, it doesn't even use makefiles unless you tell it to use your own ) Something I never understand, why some people think that IDEs are a waste of time? I personally would prefer using them. Granted, I use IDEs mostly because I can press a button and they know what to compile and never use any of the other features (except editing, tab retaining (NOT smart tabs, they're annoying as autocomplete in some cases) and syntax highlighting). Which somewhat annoys me because finding a non-bloated IDE is hard (not like I try >_>).
Sik, it's personal styles. I just prefer to use Makefiles and CMake, and it's easy. One click is slow compared to typing "make". It also depends on the OS in use - subconsciously, I seemed to prefer IDEs on Windows, and Makefiles on UNIX-likes.
Ctrl+F9 is even faster than to type "make" :P Meh >_> That said, is there any good IDE that just does the basics and doesn't have any shiny features that in the end I'm never going to use anyways? :S
I'd like to know a good cross platform IDE as it happens - ideally OSS and supporting Python (and C but that's not a requirement). And ideally not Java based. =P