User:Callahanp: Difference between revisions

Jump to navigation Jump to search
m
no edit summary
No edit summary
mNo edit summary
Line 27: Line 27:
Heedless, I press on.
Heedless, I press on.


It should be obvious to all that this kind of endeavour requires a lot of work, and anyone undertaking it is going to need help at various points.  It's easy to get stuck on specific points, and stuck in ways that you don't know which question to ask first, and where to ask it.  You may be able to help.   
It should be obvious to all that this endeavour requires a lot of work, and anyone undertaking it is going to need help at various points.  It's easy to get stuck on specific points, and stuck in ways that you don't know which question to ask first, and where to ask it.  You, kind reader, may be able to help.   
 
== Flightgear - Study Group ==
 
 
I'm continuing to think about the idea of organizing and participating in a study group for flightgear coding, I want to consider current work on Flightgear proceeding on <nowiki>[http://gitlab.com/flightgear | FlighGear on Gitlab]</nowiki> as fodder for study.
 
I'm also thinking about the codebase itself and why I found it so difficult to understand.  
 
These points are challenges in learning how FlightGear works, writing code and documentation, and debugging.
 
* Object-oriented programming - Don't get me started.  I agree with Alan Kay. And I am not "a can of Coke*."
* C++,  when I learned C++, the STL was new. New as in "Do you need a container? Please feel free to write an implementation as homework".  There has been significant progress since then, but I never actually wrote any C++ professionally, so I'm catching up on the changes in C++98, 03, 11, 14, 17, and 20.
* Specific Aircraft simulations are implemented mostly in XML, AC files, and Nasal, not in C++.
* Nasal is an interpreted language with separate class structures, memory allocation, and symbol tables, inaccessible to debuggers.
* The property tree is a global data store used for most intercommunication between subsystems, but it has no concept of messaging or data flow management.  Everything is done with callbacks on individual properties.  It's like watching an ant colony.
 
None of the above should be taken as a suggestion that FlightGear development take any specific direction in the future.  That will come from me only after I've become a regular and signicant contributor of C++, Nasal and FlightGear data.  Nor should it be taken as criticism of what has been done so far in the 25-year history of the project.
 
 
<nowiki>*</nowiki> <nowiki>http://www.johno.se/book/oops.html</nowiki>


== Getting an Giving Help ==
== Getting an Giving Help ==
982

edits

Navigation menu