ReactOS programming language

If it doesn't fit anywhere else, drop it in here. (not to be used as a chat/nonsense section)

Moderator: Moderator Team

wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

ReactOS programming language

Post by wimc »

Would like to learn more about what is commonly used to develop ReactOS and/or software?

Thank you

I know some visual basic 6, even my 3 completed files/programs work with ReactOS, as long you install vbrun60sp6.
Last edited by wimc on Mon Nov 19, 2018 6:06 pm, edited 1 time in total.
PurpleGurl
Posts: 1790
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Ideal ReactOS programming language

Post by PurpleGurl »

The primary language of ReactOS is C. There is some C++ when com objects are involved, and assembly for some of the kernel files.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: Ideal ReactOS programming language

Post by wimc »

Thank you very much for the information. Suppose what you use depends on specific tasks or goals.
karlexceed
Posts: 531
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: Ideal ReactOS programming language

Post by karlexceed »

wimc wrote: Sat Nov 17, 2018 10:05 am what you use depends on specific tasks or goals
Absolutely.

I do most of my programming in Python. Mostly small command line tools, etc. It's powerful; I could make a 2D game with it, or a web app like twitter/tumblr/etc, but I'd never try to build an OS with it. It's just not the right language for the task.

I'd say that C/C++ is going to be what you find 90+% of OSes are built with. It's highly portable, efficient, well understood, and has no problem working with low-level hardware.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: Ideal ReactOS programming language

Post by wimc »

Thanks for the information also. Lots and lots to learn.

As of this post I am almost 54 years old, lots of time left.

Add: I'll probably look into C/C++, or at least C. A question, what program/tool for writing code.
karlexceed
Posts: 531
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS programming language

Post by karlexceed »

wimc wrote: Mon Nov 19, 2018 4:22 pm what program/tool for writing code.
Assuming you want something with features beyond what Notepad can offer...

The obvious choice is VisualStudio, but other IDEs exist and are well-liked: Eclipse, NetBeans, and Code::Blocks are probably going to be towards the top on any lists of "Best C/C++ IDE".

Or, if you don't need/want an IDE, and just want something to write code in, Notepad++ or jEdit are strong contenders with features like syntax highlighting.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: ReactOS programming language

Post by wimc »

Used Notepad++ in the past, actually very long time ago. Thanks for the hint.

On my primary computer, I use gEdit - configurable syntax highlighting for various languages (C, C++, Java, HTML, XML, Python, Perl and many others).
karlexceed
Posts: 531
Joined: Thu Jan 10, 2013 6:17 pm
Contact:

Re: ReactOS programming language

Post by karlexceed »

I really like the simplicity of gEdit when I'm running Linux, but find myself using jEdit more often because that's what I also use in Windows. It's comfortable to keep the consistent UI no matter what machine I'm on. Haven't really used a proper IDE since working with Java in Eclipse at university.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: ReactOS programming language

Post by wimc »

Luckily jEdit was listed in Synaptic Package Manager, downloaded and installed. Looks promising, will try that.
User avatar
gonzoMD
Posts: 1077
Joined: Fri Oct 20, 2006 7:49 am
Location: Germany
Contact:

Re: ReactOS programming language

Post by gonzoMD »

You can also try atom. It's also listed in Synaptic. And has some nice features like "open directory as project" or git integration. But it is also simply usable for what an editor is - editing text files.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: ReactOS programming language

Post by wimc »

Thanks for the Atom recommendation, never heard of it before, along with jEdit.

Probably install that soon, and see what program suites me. Perhaps use all 3 mentioned, don't know.
learn_more
Developer
Posts: 246
Joined: Fri Dec 19, 2014 10:00 pm

Re: ReactOS programming language

Post by learn_more »

On windows, there is no excuse not to use visual studio.
On linux, the closest you will get to that is probably 'Visual Studio Code'.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: ReactOS programming language

Post by wimc »

My old computer in my signature was Windows XP Professional, now ReactOS. Actually considering dual booting (Win XP and ReactOS), if that ancient hard drive can handle it. Never ever done virtual anything or similar since playing with computers.

My primary (roughly 2 years old) computer has only Bodhi Linux 5 on it, was Windows 10 when I bought it. Hated Win 10.

learn_more, will look into Visual Studio Code.
wimc
Posts: 34
Joined: Tue Oct 30, 2018 3:08 pm

Re: ReactOS programming language

Post by wimc »

Found out the hard way that dual booting won't happen.

1. Wiped hard drive clean with zero's* and partition*, split a 40 GB into 30 GB and 10 GB.
2. 30 GB allocated for Windows XP Pro, 10 GB allocated for ReactOS.
3. Installed XP and whatever updates I had on C:\ drive.
4. ReactOS recognized both drives (C:\ and D:\), installed ReactOS on D:\ drive, rebooted, failed to load either OS.
5. Had to use the partition floppy to recover MBR to get Windows XP to load.
6. No matter what I tried, could not get anything to work.

* separate floppies to write zero's and partition, software from Western Digital, ancient stuff.
PurpleGurl
Posts: 1790
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: ReactOS programming language

Post by PurpleGurl »

Just as long as nobody asks how to compile from inside Notepad. ;)

I've used DOS Edit and Tasm before. I'd code in Edit and then run Tasm on it. And I could have, if I wanted to, create a batch file as a wrapper to write both and use environment variables to pass parameters. Like if it was called Assembly.bat, I could have made it to where you type Assembly Foo, which would open or create Foo.asm and then exit to have the assembler (Tasm in this case), linker, EXE2BIN (if necessary), etc. to run, and end up with Foo.exe or even Foo.com.

I always wondered why .com files started at 100h, but the start of the available space (0-FF, or 256 bytes) is the command tail (what you typed to start the program, with any parameters you used). So you could set Org to 0h and declare those 256 bytes as an uninitialized string variable, then set Org to 100h and put the program main there, and if you need to read and parse the command line, you can read from that 256-byte variable. Thus there are no interrupts to call to access that.

I think I loved playing in assembly, and that helped make my Quickbasic programs better, since I could do things in assembly and call them in QB. For instance, writing mouse handlers was a good job for assembly. Sure, you could do that inside QB, but that brought in all sorts of extra code. I mean, there is the "safe" Interrupt routine you can call to proxy real interrupts, but why use that if your code is right? You'd have to create an entire struct to pass parameters to the Interrupt routine which would forward it to the real registers and call the real interrupt function, and then pass all the registers back with whatever the CPU returns. But then for writing mouse routines in QB, you'd have to convert between signed and unsigned numbers, and usually it requires using a long number, since integers would overflow as QB requires signed numbers. So that pulls in the long math library and possibly the FPU emulator package (remember 16-bit machines, often with no floating point package). To work with 32-bit numbers on a 16-bit CPU required about 6 pages of assembly code (which I didn't have to worry with, as the object code from that was automatically added). Now if you had a 32-bit CPU, you could replace the 32-bit emulation object code with a version that passed things to the extended registers and performed whatever action without emulation.
Post Reply

Who is online

Users browsing this forum: No registered users and 9 guests