OSD - IDE
Re:OSD - IDE
Ah, the other way round... you mean Literate Programming?
Every good solution is obvious once you've found it.
Re:OSD - IDE
Actually that could be quite useful. If, for instance, the IDE could hold an editor copy of the program which it splits automatically into source/documentation/whatever files as you edit the program.
Bad explanation. Here's a pseudo-example:
The combined file:
The Source file:
Everything marked as a comment link in the combined file would give the appropriate comment when clicked/rolled over/whatever.
The Documentation file:
Hello World
A simple program that prints Hello World! to stdout
1.0 Headers
Standard headers for libc functions used in the program
2.0 Functions
2.1 main()
Program execution starts with this function
The current position of the documentation output could be linked to the current position in the source file. So if you are working on a function and want its documentation you just switch windows.
Of course all this would be hidden away. You'd add a comment just by selecting the text to link and then selecting add comment from a menu. You'd add docs in a similar manner, just inserting new sections/subtitles/docs at whatever point you see fit in the code. So effectively all you see in the editor is pure code, with accessible comments and documentation in another panel/window.
Just an idea, one which needs a lot of polishing (XML maybe), but would make for a nice environment. Especially if you could distribute these combined files instead of source files.
***
As usually happens I had a cup of tea and thought of an extension. The comment/doc entries don't have to be text. They could be anything. So if you want a UML diagram to appear as a comment that would be perfectly possible. Could be fun, imagine having the option of running a video clip explaining 3D positioning from the function that does the 3D positioning.
Bad explanation. Here's a pseudo-example:
The combined file:
Code: Select all
{TITLE}Hello World{/TITLE}
{DOC}A simple program that prints Hello World! to stdout{/DOC}
{SECTION}
{SUBTITLE}Headers{/SUBTITLE}
{DOC}Standard headers for libc functions used in the program{/DOC}
{COMMENT 0}stdio.h includes the printf declaration for libc{/COMMENT}
{COMMENT_LINK 0}#include <stdio.h>{/COMMENT_CLINK}
{/SECTION}
{SECTION}
{SUBTITLE}functions{/SUBTITLE}
{SECTION}
{SUBTITLE}main(){/SUBTITLE}
{DOC}Program execution starts with this function{/DOC}
{COMMENT 1}Program execution starts at the main function.{/COMMENT 1}
int {COMMENT_LINK 1}main() {/COMMENT_CLINK} {
{COMMENT 2}Output Hello World to stdout{/COMMENT}
{COMMENT_LINK 2}printf("Hello World!");{/COMMENT_LINK}
{COMMENT 3}End program with error code 0{/COMMENT}
{COMMENT_LINK 3}return 0;{/COMMENT_LINK}
}
{/SECTION}
{/SECTION}
Code: Select all
#include<stdio.h>
int main() {
printf("Hello World!");
return 0;
}
The Documentation file:
Hello World
A simple program that prints Hello World! to stdout
1.0 Headers
Standard headers for libc functions used in the program
2.0 Functions
2.1 main()
Program execution starts with this function
The current position of the documentation output could be linked to the current position in the source file. So if you are working on a function and want its documentation you just switch windows.
Of course all this would be hidden away. You'd add a comment just by selecting the text to link and then selecting add comment from a menu. You'd add docs in a similar manner, just inserting new sections/subtitles/docs at whatever point you see fit in the code. So effectively all you see in the editor is pure code, with accessible comments and documentation in another panel/window.
Just an idea, one which needs a lot of polishing (XML maybe), but would make for a nice environment. Especially if you could distribute these combined files instead of source files.
***
As usually happens I had a cup of tea and thought of an extension. The comment/doc entries don't have to be text. They could be anything. So if you want a UML diagram to appear as a comment that would be perfectly possible. Could be fun, imagine having the option of running a video clip explaining 3D positioning from the function that does the 3D positioning.
Re:OSD - IDE
maybe this is something c/c++ osdevers should check out..:
http://osdever.net/forums/viewtopic.php?t=944
/ Christoffer
http://osdever.net/forums/viewtopic.php?t=944
/ Christoffer
Re:OSD - IDE
Pff... any C/C++ coder mature enough to do OS development should have outgrown MSVC. More like a yet-easier for the kids. (And I hear 'em crying for a VB.NET setup...)
Every good solution is obvious once you've found it.
Re:OSD - IDE
hehe, i was thinking about:And I hear 'em crying for a VB.NET setup...
that should compile a kernel and run BOCHS right from the IDE with CTRL+F5.
- Colonel Kernel
- Member
- Posts: 1437
- Joined: Tue Oct 17, 2006 6:06 pm
- Location: Vancouver, BC, Canada
- Contact:
Re:OSD - IDE
"And when I was young, we had to walk 5 miles to and from school everyday in the snow in our underwear, and it was uphill both ways..."Solar wrote: Pff... any C/C++ coder mature enough to do OS development should have outgrown MSVC. More like a yet-easier for the kids. (And I hear 'em crying for a VB.NET setup...)
There's nothing wrong with a little convenience. I use VS.NET at work all the time and it's the best IDE I've used by far. It has a really good editor with Intellisense and all that good stuff. It also beats the hell out of makefiles for whipping up large project structures with complex interdependencies.
Of course, for OS dev I would expect anyone using it to be smart enough to customize everything to use GCC instead of VC 7.x...
![Wink ;)](./images/smilies/icon_wink.gif)
I guess what I'm saying is (and I feel the same way re: the GRUB debate) -- mock the beginners all you want, but those of us who develop software for a living and have enough experience ought to be allowed a few conveniences without being labelled "lazy".
Top three reasons why my OS project died:
- Too much overtime at work
- Got married
- My brain got stuck in an infinite loop while trying to design the memory manager
Re:OSD - IDE
Luxury. We used to have to get out of the lake at six o'clock in the morning, clean the lake, eat a handful of 'ot gravel, work twenty hour day at mill for tuppence a month, come home, and Dad would thrash us to sleep with a broken bottle, if we were lucky!Colonel Kernel wrote: "And when I was young, we had to walk 5 miles to and from school everyday in the snow in our underwear, and it was uphill both ways..."
Nonsense. If it can't be done with a front-panel and a single digit LED then it shouldn't be done at all ;D.mock the beginners all you want, but those of us who develop software for a living and have enough experience ought to be allowed a few conveniences without being labelled "lazy".
Re:OSD - IDE
Yes, yes, funny... (you *should* hear the Three Dead Troll's interpretation of that though
)
Get me right, I'm using VS at office myself, and I don't say that there's something bad in having your recompile / image creation / Bochs cycle just a mouseclick away.
Hell, I even configured my UltraEdit to do just that.
But - and no offense intended to the original poster - that has nothing to do with OS development per se. Making it easy to start things (like recommending GRUB or writing a PD C library for everyone to use) is fine and well. But being able to configure your friggin' development environment to do your whim, that's not getting obstacles out of your way, that's basics...
OK, I shut up.![Smile :)](./images/smilies/icon_smile.gif)
![Wink ;-)](./images/smilies/icon_wink.gif)
Get me right, I'm using VS at office myself, and I don't say that there's something bad in having your recompile / image creation / Bochs cycle just a mouseclick away.
Hell, I even configured my UltraEdit to do just that.
But - and no offense intended to the original poster - that has nothing to do with OS development per se. Making it easy to start things (like recommending GRUB or writing a PD C library for everyone to use) is fine and well. But being able to configure your friggin' development environment to do your whim, that's not getting obstacles out of your way, that's basics...
OK, I shut up.
![Smile :)](./images/smilies/icon_smile.gif)
Every good solution is obvious once you've found it.
Re:OSD - IDE
This program would also include wizards for basic logical structures eg.
The might also be wizards for things such as bios print routines, color print routines, bios disk access routines, pmode routines, GDT/IDT Examples, Everything you would need
Have any of you guys heard of the Gold Parser Builder ???
This allows you to recreate programming language syntax's.
This would allow the manager to have language plugin's, in other words if the manager doesn't support a language you just download it an wham youve got syntax checking for the language you want...
Also the manager would chec org statements, locals, externals (Exports)...
Code: Select all
if ... then ... else
do ... loop [until ...]
[do ...] while ... wend
Have any of you guys heard of the Gold Parser Builder ???
This allows you to recreate programming language syntax's.
This would allow the manager to have language plugin's, in other words if the manager doesn't support a language you just download it an wham youve got syntax checking for the language you want...
Also the manager would chec org statements, locals, externals (Exports)...
- Pype.Clicker
- Member
- Posts: 5964
- Joined: Wed Oct 18, 2006 2:31 am
- Location: In a galaxy, far, far away
- Contact:
Re:OSD - IDE
<joke>
oh ... and i'd like to have a "smart assistant" too that could google for RBIL or redirect me to "HowToAskQuestions" when i'm wondering what's wrong ...
Something like a big book with glasses and mustache
</joke>
oh ... and i'd like to have a "smart assistant" too that could google for RBIL or redirect me to "HowToAskQuestions" when i'm wondering what's wrong ...
Something like a big book with glasses and mustache
</joke>
Re:OSD - IDE
IDE's are about automating, about metaprogramming, about code generation, about building from pre-made blocks.
OS design is about questioning other people's designs, engineering with atoms, about getting it to run with your own hands.
I simply doubt you can get the two to work together in any way that could satisfy a majority.
OS design is about questioning other people's designs, engineering with atoms, about getting it to run with your own hands.
I simply doubt you can get the two to work together in any way that could satisfy a majority.
Every good solution is obvious once you've found it.
Re:OSD - IDE
An IDE would be used to implament these new ideas into an existing os structure, providing useful code snippets and code wizards to do menial tasks...
The IDE would be to speed thing up, and help stop errors (with the wizards).
Also with a lot of hard work a code checker could be created to check for common errors, such as pushing values and then not popping them, or not setting the segment registers after jumps to other programs... ::)
The IDE would be to speed thing up, and help stop errors (with the wizards).
Also with a lot of hard work a code checker could be created to check for common errors, such as pushing values and then not popping them, or not setting the segment registers after jumps to other programs... ::)
Re:OSD - IDE
Code: Select all
PUSH EBX
PUSH EAX
...
RET