Special IDE specially designed for OS Developers!

All off topic discussions go here. Everything from the funny thing your cat did to your favorite tv shows. Non-programming computer questions are ok too.
LindusSystem
Member
Member
Posts: 63
Joined: Sat Apr 28, 2012 9:41 am
Location: Earth -> Asia

Special IDE specially designed for OS Developers!

Post by LindusSystem »

What do you think is missing in most IDEs?
What must a typical IDE designed for OS Developers must have?

What features do you recommend for a IDE which is designed for OS Development?
Anyone has a idea of making a ntfs bootsector?if yes PM me , plz.
User avatar
bluemoon
Member
Member
Posts: 1761
Joined: Wed Dec 01, 2010 3:41 am
Location: Hong Kong

Re: Special IDE specially designed for OS Developers!

Post by bluemoon »

At first I thought you come up weird idea of designed new harddisk interface #-o

I think it's good if IDE of OS development:
1. support syntax highlighting for revalant file types: asm, c, c++, Makefile, sh, ld-scripts
2. support make or custom build system specified by os developer.
3. easy to switch between writing code and test bed. Either easily switch between multiple targets with one of them "test", so a one-click "make test" launch a VM. XCODE is poor at this aspect as you need to go thru' a popup list to switch target, result in a few click-count; using "Build&Run button" you need to pull down the list, which is slow too.
4. support workspace (multiple projects)
5. Link to wiki.osdev.org in the HELP menu :lol:
6. Not necessary, but it's nice to have an optional companion package that bundle/download/setup a bare-bone environment, with VM, toolchain and hello-world kernel, so user can do File > New Project > Kernel Wizard and generate a blank kernel for starter.
User avatar
Griwes
Member
Member
Posts: 374
Joined: Sat Jul 30, 2011 10:07 am
Libera.chat IRC: Griwes
Location: Wrocław/Racibórz, Poland
Contact:

Re: Special IDE specially designed for OS Developers!

Post by Griwes »

In addition to syntax highlight, the editor should provide code hints while you are typing - autocompletion on KDevelop's level is perfect.
Reaver Project :: Repository :: Ohloh project page
<klange> This is a horror story about what happens when you need a hammer and all you have is the skulls of the damned.
<drake1> as long as the lock is read and modified by atomic operations
User avatar
Firestryke31
Member
Member
Posts: 550
Joined: Sat Nov 29, 2008 1:07 pm
Location: Throw a dart at central Texas
Contact:

Re: Special IDE specially designed for OS Developers!

Post by Firestryke31 »

bluemoon wrote:At first I thought you come up weird idea of designed new harddisk interface #-o

I think it's good if IDE of OS development:
1. support syntax highlighting for revalant file types: asm, c, c++, Makefile, sh, ld-scripts
2. support make or custom build system specified by os developer.
3. easy to switch between writing code and test bed. Either easily switch between multiple targets with one of them "test", so a one-click "make test" launch a VM. XCODE is poor at this aspect as you need to go thru' a popup list to switch target, result in a few click-count; using "Build&Run button" you need to pull down the list, which is slow too.
4. support workspace (multiple projects)
5. Link to wiki.osdev.org in the HELP menu :lol:
6. Not necessary, but it's nice to have an optional companion package that bundle/download/setup a bare-bone environment, with VM, toolchain and hello-world kernel, so user can do File > New Project > Kernel Wizard and generate a blank kernel for starter.
Although last I saw it was Windows only, Programmer's Notepad 2 does all but the last 2. You can bind "make test" to a hotkey (I use F5 because that's what Visual Studio uses). If the editor doesn't support a language you use you can add your own scheme to it. Plus you can customize the syntax highlight coloring.

All I think it would need is a port to Linux/Mac and it would probably be pretty competitive.
Owner of Fawkes Software.
Wierd Al wrote: You think your Commodore 64 is really neato,
What kind of chip you got in there, a Dorito?
User avatar
iansjack
Member
Member
Posts: 4683
Joined: Sat Mar 31, 2012 3:07 am
Location: Chichester, UK

Re: Special IDE specially designed for OS Developers!

Post by iansjack »

You all seem to be describing Eclipse. Works for me.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Special IDE specially designed for OS Developers!

Post by Combuster »

1. Fast and memory-efficient (GTFO, Eclipse)
2. Does not keep you from making it do what you want (GTFO, Visual Studio)
3. Does not require an OS upgrade for each new version (GTFO, Xcode).
</rant>
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Special IDE specially designed for OS Developers!

Post by Combuster »

berkus wrote:</pant>
:lol:
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
User avatar
AndrewAPrice
Member
Member
Posts: 2298
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Special IDE specially designed for OS Developers!

Post by AndrewAPrice »

There is really nothing unique about an IDE for osdev'ers vs an IDE for anything else. People have suggested Kernel Project Types, wizards and templates for interrupts, etc, but those things are boilerplate parts that once are mature you never touch again and make up very small part of your overall kernel.

If you're using C, use a mature C IDE. You get syntax errors underlined, possible function/variables names listed as you type, easy re-factoring of names, jumping to declarations/definitions, etc.

Me? I use Visual Studio and UltraEdit for nearly everything.

The debug/beta builds of Visual Studio are slow. Because of it's plugin architecture, I suspect every keystroke is sent through about 100 .Net subsystems until it figures out what to do, and there is a noticeable typing lag. The release buildings are a lot faster.
My OS is Perception.
TylerH
Member
Member
Posts: 285
Joined: Tue Apr 13, 2010 8:00 pm
Contact:

Re: Special IDE specially designed for OS Developers!

Post by TylerH »

Anything with make integration will do. Geany is my favorite for Linux because it has customizable buttons for executing make or arbitrary commands. I don't actually use IDEs too much though.
User avatar
NickJohnson
Member
Member
Posts: 1249
Joined: Tue Mar 24, 2009 8:11 pm
Location: Sunnyvale, California

Re: Special IDE specially designed for OS Developers!

Post by NickJohnson »

I really don't see the point of having a single button that does the whole build process. Using gvim in one virtual desktop and xterm in the other, I only have to do Alt-F2,<up arrow>,<enter> (4 keystrokes) to re-run my make command. With muscle memory, I'm pretty sure this is faster than one mouse seek and click. Both are smaller than the combined make+QEMU+guest OS startup time anyway.
JuEeHa
Member
Member
Posts: 30
Joined: Thu Mar 10, 2011 4:24 am

Re: Special IDE specially designed for OS Developers!

Post by JuEeHa »

I think biggest problem with IDEs is that they are so bloated. I use gnu screen running ed on lower region and build/test shell on upper region. If someone made IDE like Python IDLE I would probably at least try it and see is it worth enought to justify running X all the time and not just when I want to lauch qemu.
Using 700MHz Pentium III machine with 64MB of RAM because I feel like it.
ed implementation in C: main(a){for(;;;){read(0,&a,1);if(a=='\n')write(1,"?\n",2);}}
User avatar
gravaera
Member
Member
Posts: 737
Joined: Tue Jun 02, 2009 4:35 pm
Location: Supporting the cause: Use \tabs to indent code. NOT \x20 spaces.

Re: Special IDE specially designed for OS Developers!

Post by gravaera »

Tbh, I don't think there are any requirements that really differ for a general application dev IDE and a kernel dev IDE :|
17:56 < sortie> Paging is called paging because you need to draw it on pages in your notebook to succeed at it.
Kevin
Member
Member
Posts: 1071
Joined: Sun Feb 01, 2009 6:11 am
Location: Germany
Contact:

Re: Special IDE specially designed for OS Developers!

Post by Kevin »

And most of my OS development isn't kernel development anyway.
Developer of tyndur - community OS of Lowlevel (German)
User avatar
AndrewAPrice
Member
Member
Posts: 2298
Joined: Mon Jun 05, 2006 11:00 pm
Location: USA (and Australia)

Re: Special IDE specially designed for OS Developers!

Post by AndrewAPrice »

I see some people are anti-IDE. There are two reason why I like to use an IDE (can apply to any at all - Eclipse, NetBeans, Emacs, UltraEdit, etc):
  • File management. I love having all of my files in a tree-view on one side of the screen. If I wanted to quickly reference a header file without this feature I would either frustratingly:
    • Keep ALT+TAB'ing to find the right file manager window out of 10 open windows, go up 3 levels of directories then down a level just to open a specific file.
    • Do "cd.. cd.. cd.. cd include" at the command line to find my file then "cd .. cd src cd kernel cd processes" to go back too where I was.
  • The editor knows the overall scope of the code. I love being able to right click a function and "Go to definition". Bring up the "Find in Files" dialogue with a quick keystroke. Ctrl+Space and see a list of suggested functions/variables/classes - along with a tooltip showing the function's prototype or the variable's type.
I keep the Windows command prompt open in the background. I also do the ALT+TAB, UP, ENTER trick to compile because it gives me the flexibility to change the command - "make kernel" "make tools" "make iso", etc.

IDEs can't do everything, but Visual Studio + CMD + Virtual Box is more productive for me than Alt+tabbing between 20 text editors + 10 folders + CMD + VirtualBox.
My OS is Perception.
User avatar
Creature
Member
Member
Posts: 548
Joined: Sat Dec 27, 2008 2:34 pm
Location: Belgium

Re: Special IDE specially designed for OS Developers!

Post by Creature »

I agree with almost all of the standpoints previously mentioned in this topic. I too like to use an IDE, just because it's simple, but the currently available ones just don't cut it for me (note that I'm talking about real IDE's here, not plain text editors possibly supplied with some possibility to invoke make, cause that's not an IDE). IMO it's like all of the IDE's that come with upsides also come with major downsides:
  • Eclipse - Mostly the reasons Combuster mentioned.
  • NetBeans - Offers great functionality, but doesn't feel native (Swing?), even slower and more of a resource-hog than Eclipse.
  • Visual Studio - Offers great functionality and integration, but comes with a buttload of extra packages that you don't necessarily want (or need for that matter, Compact SQL Server, anyone?) for plain C++ development. Also what Combuster mentioned: always wants to put itself partially on your Windows drive, takes way too long to install, and so on.
  • Qt Creator - Entirely different way of developing than most IDE's and specifically aimed at Qt (IMO not very suitable for other C++-related tasks).
  • Code::Blocks and CodeLite - Don't even get me started on these.
And these are only the ones on Windows, the ones natively on Linux aren't much better. After being so completely fed up with all of these IDE's and switching all the time, I dumped all of them for a while and used a text editor with plain command line compiling. But for mostly the same reasons as MessiahAndrw mentioned, I like having an IDE. So because I pretty much have no choice left: I'm writing my own IDE that is specifically adapted to my own needs: almost everything is a plugin and can be disabled from loading, fully portable and fully natively 64-bit on Windows. May be a big pile of work for something as stupid as this, but it's been worthwhile up until now.
When the chance of succeeding is 99%, there is still a 50% chance of that success happening.
Post Reply