News Started an article series on advanced C++ topics on OrbiterWiki

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
38,965
Reaction score
3,937
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
This is essentially the result of the monolithic project thread. I welcome all other developers to contribute there.

http://www.orbiterwiki.org/wiki/Basic_C++_software_development

Again, please don't explain what C++ is or what the OrbiterSDK does in detail. Stay at the big picture. Explain it in Orbiter (there are many many tutorials about the general aspects in the Internet).

And don't rely that I will write a lot... I am a really poor author and a worse teacher.
 
Good idea Urwumpe, only wish I could contribute something!

I'm guesing it is not the place to ask questions? Its to be used for explanations and examples?

N.
 
Good idea Urwumpe, only wish I could contribute something!

I'm guesing it is not the place to ask questions? Its to be used for explanations and examples?

N.

You can always use the talk page of the article for asking questions (for any article at OrbiterWiki BTW).

I am not sure if watching an article at the wiki also results in the talk page being watched, contributors and interested users could then also get informed about changes there... but I will read the questions anyway because of my bureaucrat duties there.
 
That's a great initiative ! Thanks ! :thumbup:
 
C is already object oriented, C++ expands on it...

It supports objects-based-programming based on structs (grade up compared to Structural Programming), but it doesn't support classes with methods, nor polymorphism, therefore it doesn't support Object Oriented Programming per se.

---------- Post added 07-22-12 at 08:15 AM ---------- Previous post was 07-21-12 at 04:30 PM ----------

I've performed a brain dump into the article. Let's wait and see what happens :)
[EDIT] I've put some general topics after all. Guys need to know why they are instructed to do the things that we suggest. All the resons somehow converge into something that can be considered as Clean Code.
 
Last edited:
C is already object oriented, C++ expands on it...

C++ is barely OO, C definitely is not.
Also it'd be nice to have the general architecture of orbiter explained, things like how plug-ins work and how vessels/MFDs are registered. I could do it but I am not sure that article is the best place for this.
 
Last edited:
C++ is barely OO, C definitely is not.
Also it'd be nice to have the general architecture of orbiter explained, things like how plug-ins work and how vessels/MFDs are registered. I could do it but I am not sure that article is the best place for this.

Well, you could also start a new article there. The add-on lifecycle in orbiter is also interesting.

PS: C++ is perfectly OOP... but it has shortcomings in functional programming and some syntactic sugars that are known from other languages.
 
Last edited:
C++ is barely OO, C definitely is not.
Also it'd be nice to have the general architecture of orbiter explained, things like how plug-ins work and how vessels/MFDs are registered. I could do it but I am not sure that article is the best place for this.

I would like a general architecture article, sure others would too. Also, some descriptions of terms that regularly turn up in Orbiter dlls, callbacks, pre-step, post step.

In short, why was Orbiter core built like that, and how do I use it. I can read the api definition/help pages, but to a non C++ type, its not whats needed. Something more ...global?

N.
 
Well, you could also start a new article there. The add-on lifecycle in orbiter is also interesting.

PS: C++ is perfectly OOP... but it has shortcomings in functional programming and some syntactic sugars that are known from other languages.

I'll start a new article I guess. Also I meant that C++ is "barely OO" in the sense that it doesn't have dynamic typing, Garbage collection, and is not pure object oriented, just some things that people have come to expect from higher level OO languages now a days.
 
I'll start a new article I guess. Also I meant that C++ is "barely OO" in the sense that it doesn't have dynamic typing, Garbage collection, and is not pure object oriented, just some things that people have come to expect from higher level OO languages now a days.

It HAS the first thing (In the latest version of the standard from 2011), the second thing is not related to OOP and purity is for drinking water, not programming languages. You always need some compromise to implement a concept in reality.
 
Added tips on const-correctness and getters and setters. This is used in LaunchMFD.
 
Back
Top