IDE
Re:IDE
UltraATA 100.
Of course, if you are talking about Integrated Development Environments, you may want to re-ask on the General Programming board, unless you were specifically asking in regards to OS development.
Generally speaking, I favor Emacs and a lot of Elisp code; while it isn't quite as visually exciting, it it more powerful and flexible than just about anything else around. It does take quite a bit of learning to use, however, and so I often just use Notepad (under Windows) or pico (under Linux) for quick editing jobs. For working on Windows apps, I use Visual Studio; when in Rome, as they say. However, the MS tools are very tightly bound to the system, and trying to use VC++ et al for OS development is a sure road to frustration. I have not tried Dev C++ to date, so I can't comment about it; perhaps I shall take a look at it. I've used NASMEdit quite a bit; it's quite spiffy, and a definite improvement over NASM-IDE, but it's very slow and limited, and has some definite rough patches.
There's also, DR Scheme, of course, but that's not going to help you unless your taste in languages runs like mine.
Of course, if you are talking about Integrated Development Environments, you may want to re-ask on the General Programming board, unless you were specifically asking in regards to OS development.
Generally speaking, I favor Emacs and a lot of Elisp code; while it isn't quite as visually exciting, it it more powerful and flexible than just about anything else around. It does take quite a bit of learning to use, however, and so I often just use Notepad (under Windows) or pico (under Linux) for quick editing jobs. For working on Windows apps, I use Visual Studio; when in Rome, as they say. However, the MS tools are very tightly bound to the system, and trying to use VC++ et al for OS development is a sure road to frustration. I have not tried Dev C++ to date, so I can't comment about it; perhaps I shall take a look at it. I've used NASMEdit quite a bit; it's quite spiffy, and a definite improvement over NASM-IDE, but it's very slow and limited, and has some definite rough patches.
There's also, DR Scheme, of course, but that's not going to help you unless your taste in languages runs like mine.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IDE
i'm aspirant to the grade of Member of St Gnucius Church, so i observe Stallman's #1 commandment :
"thou shalt not use another text editor than emacs" :-p
Query-Replace, two-keystrokes search (forward & backward), integrated DIFF between files, and the ability to perform any keybinding (global-set-key '[F12] goto-line) and writing "background operations" like loading a file which name has been written somewhere by another program just makes me happy.
Command-line invocation of "make all" is just fine for me ... and an IDE is pretty toyish when you come to OS dev (as the debugger will probably not be able to run your kernel and the Classes Library Documentation don't apply to your libraryless code
Finally, [Esc+X] speedbar also gives me the power of most of the IDE file picker, so i'm just glad with it
"thou shalt not use another text editor than emacs" :-p
Query-Replace, two-keystrokes search (forward & backward), integrated DIFF between files, and the ability to perform any keybinding (global-set-key '[F12] goto-line) and writing "background operations" like loading a file which name has been written somewhere by another program just makes me happy.
Command-line invocation of "make all" is just fine for me ... and an IDE is pretty toyish when you come to OS dev (as the debugger will probably not be able to run your kernel and the Classes Library Documentation don't apply to your libraryless code
Finally, [Esc+X] speedbar also gives me the power of most of the IDE file picker, so i'm just glad with it
Re:IDE
Command line for 'make all'? Whatever happened to M-x compile, followed by C-x ` to jump to each error in turn?
I only really have two problems with emacs. One, M-C-v for scrolling the other window doesn't work in KDE (the WM hijacks the chord), and two, I keep hitting C-a instead of C-x and vice-versa (I run everything in a screen session these days), although this did show me vertical-split emacs windows (C-x 3), so I'm happy about that...
Of course, I don't use this setup for OS dev, since my OS has been almost completely self-hosting for the past several months, but this is what I did use until it was self-hosting, and probably what I will use for my next OS project as well, at least until -it's- self-hosting.
I only really have two problems with emacs. One, M-C-v for scrolling the other window doesn't work in KDE (the WM hijacks the chord), and two, I keep hitting C-a instead of C-x and vice-versa (I run everything in a screen session these days), although this did show me vertical-split emacs windows (C-x 3), so I'm happy about that...
Of course, I don't use this setup for OS dev, since my OS has been almost completely self-hosting for the past several months, but this is what I did use until it was self-hosting, and probably what I will use for my next OS project as well, at least until -it's- self-hosting.
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:IDE
The reason why i don't use stuff like M-x compile or Visual Studio is that my makefile expect some environment variables to be set and it's easier to make sure those are set in a shell that in an IDE...
it may look weird, but that's mandatory to allow compilation independently of whether Linux or DOS is the host environment...
it may look weird, but that's mandatory to allow compilation independently of whether Linux or DOS is the host environment...
Re:IDE
can you configure microsoft's visual studio to run gnu make instead of it's own tools? or do you use microsoft's tools to compile? Right now I use a visual studio project to edit my code and for searching through files and basically everything expect compiling. For that, I go to a DOS window and run make. Is there a way to run make with F7?
Re:IDE
bkilgore: Sure you can. One of the options for a new projects is a Makefile one, where you can enter the command lines for Debug and Release, Build and Rebuild All.
Visual Studio 6 seems to lose any environment variables when running make, so it's best to write a batch file that sets up PATH etc. and runs make. Visual Studio.NET handles it much better. Note that gcc's error message format is incompatible with VC++'s, so although you'll see error messages in the Output window, you won't be able to double-click on them.
Visual Studio 6 seems to lose any environment variables when running make, so it's best to write a batch file that sets up PATH etc. and runs make. Visual Studio.NET handles it much better. Note that gcc's error message format is incompatible with VC++'s, so although you'll see error messages in the Output window, you won't be able to double-click on them.
Re:IDE
I guess my setup is a wee bit "sick"... I'm running Win2k using UltraEdit as editor (gasp - no vi, no emacs!) and Cygwin for bash / as / ld / gcc / make.
Reason is basically all the other stuff I'm running which wouldn't work under Linux (I tried!), like sync'ing my HP 720, using my WLAN card, or working with my favourite file manager (Directory Opus).
For the stuff where Cygwin doesn't do the trick, I keep a Knoppix CD close at hand. (Too scared to build myself an ELF target gcc cross-compiler, basically. )
Reason is basically all the other stuff I'm running which wouldn't work under Linux (I tried!), like sync'ing my HP 720, using my WLAN card, or working with my favourite file manager (Directory Opus).
For the stuff where Cygwin doesn't do the trick, I keep a Knoppix CD close at hand. (Too scared to build myself an ELF target gcc cross-compiler, basically. )
Every good solution is obvious once you've found it.
Re:IDE
OS: Gentoo Linux (2.4 kernel)
Editor: ViM (and occasionally Emacs... I think I'm switching)
Compiler: GCC
Assembler: NASM
Though really, you can't beat *nix for OS development. I highly recommend using *nix. I don't think I'd be able to stand using anything but command line tools. GUI IDEs are too clumsy
Editor: ViM (and occasionally Emacs... I think I'm switching)
Compiler: GCC
Assembler: NASM
Though really, you can't beat *nix for OS development. I highly recommend using *nix. I don't think I'd be able to stand using anything but command line tools. GUI IDEs are too clumsy
Re:IDE
OS: WindowsXP
c compiler: DJGPP gcc
assembler nasm
editor: Microsoft Visual Studio (w/ Visual Assist)
I think graphical editors like visual studio make life much easier, especially with a plugin like visual assist. I don't think unix boxes are a must for devving at all, as I have always used my windows box, and tools like cygwin and djgpp make it to use what one were usix-only programs. Although I have found Linux quite handy, when looking for examples of how to do what I'm trying to do with my OS.
c compiler: DJGPP gcc
assembler nasm
editor: Microsoft Visual Studio (w/ Visual Assist)
I think graphical editors like visual studio make life much easier, especially with a plugin like visual assist. I don't think unix boxes are a must for devving at all, as I have always used my windows box, and tools like cygwin and djgpp make it to use what one were usix-only programs. Although I have found Linux quite handy, when looking for examples of how to do what I'm trying to do with my OS.
Re:IDE
Really, at first you look at a program like Emacs and think "how is this better than [some IDE]?". Then you realize that it has everything that IDE has, and possibly more. And if it doesn't come with the default config, chances are someone has written a plugin.
Abbreviations? Integrated debugger? Integrated RCS/CVS? Code completion (including the nifty hippy-expand)?
Whoever said bloatware was bad?
PS. Emacs is my friend now... I wrote TopCoder (www.topcoder.com) last night using it, and it completes me
Abbreviations? Integrated debugger? Integrated RCS/CVS? Code completion (including the nifty hippy-expand)?
Whoever said bloatware was bad?
PS. Emacs is my friend now... I wrote TopCoder (www.topcoder.com) last night using it, and it completes me
Re:IDE
The thing I dislike about either vi or emacs is the steep learning curve.
In UltraEdit, I have a GUI, and menus. When I feel the need for a new feature, I usually scan the menus for it. Once found, I know roughly where to find it again. If used often, I'll memorize the keyboard shortcut printed alongside the feature in the menu.
With either vi or emacs, if I need a feature, I have to look it up or ask someone proficient.
Get me right, I use vi every day alongside UltraEdit (quicker to invoke, for small changes etc.), but for the real editing I prefer UE because I simply hadn't found the time to check out how to do e.g. block mark / cut / paste in vi.
vi and emacs, imho, are a self-fullfilling prophecy: They're everywhere, so everyone learns how to use them. Somewhat like Windows: It's high time for something better, but the inertia of the market won't let this happen.
In UltraEdit, I have a GUI, and menus. When I feel the need for a new feature, I usually scan the menus for it. Once found, I know roughly where to find it again. If used often, I'll memorize the keyboard shortcut printed alongside the feature in the menu.
With either vi or emacs, if I need a feature, I have to look it up or ask someone proficient.
Get me right, I use vi every day alongside UltraEdit (quicker to invoke, for small changes etc.), but for the real editing I prefer UE because I simply hadn't found the time to check out how to do e.g. block mark / cut / paste in vi.
vi and emacs, imho, are a self-fullfilling prophecy: They're everywhere, so everyone learns how to use them. Somewhat like Windows: It's high time for something better, but the inertia of the market won't let this happen.
Every good solution is obvious once you've found it.