Difference between revisions of "Developer Requirements"

From CEGUI Wiki - Crazy Eddie's GUI System (Open Source)
Jump to: navigation, search
(General)
m
Line 17: Line 17:
 
* What is the difference between .so/.dll (Linux/Windows) and .lib (both)?
 
* What is the difference between .so/.dll (Linux/Windows) and .lib (both)?
 
* Static vs dynamic linking. What is the advantage of static linking? [http://en.wikipedia.org/wiki/Static_library]
 
* Static vs dynamic linking. What is the advantage of static linking? [http://en.wikipedia.org/wiki/Static_library]
* What is usually included in an SDK? What is the difference between building CEGUI yourself and using it's SDK?
+
* What is usually included in an SDK? What is the difference between building CEGUI yourself and using its SDK?
  
 
Plus you have to be at least a little proficient in your work environment (be it a full fledged IDE - MSVC, Eclipse, whatever, or command line tools).
 
Plus you have to be at least a little proficient in your work environment (be it a full fledged IDE - MSVC, Eclipse, whatever, or command line tools).

Revision as of 09:38, 7 January 2011

This page talks about skills required from a developer before he/she can start messing with CEGUI. Helpful links how to get started on different topics are sometimes provided, if you aren't sure about many of these topics, please buy/borrow a book instead, recommended C++ books are at the bottom of this article. Unless you can meet all these requirements, you are less likely to get help on CEGUI forums or the IRC channel. You may still receive some help, but please understand that we are sick of answering the same beginner C++ questions all over again. Thanks for understanding.

General

  • updating to latest stable before reporting bugs/problems (it is likely that some bugs were fixed and memorising the changelog is a pain)
  • being very confident, knowledgeable and experienced on your platform of choice (knowing your way around files, folders and all that complex and confusing stuff ;-))
  • ability to search via Google and forum search (the answer is often already out there, finding it is usually faster than asking the question again)
  • able to try things out yourself, not asking about trivial problems every 10 minutes... You learn much more if you just try to make it work yourself...
  • not being scared of error messages, they are there to actually help you! Read them, not just copy paste them for somebody else to solve!
  • at least beginner level English (if you don't have that you don't understand this anyways, so it's probably pointless to write it here :-D)

C++

You have to be able to answer the following questions.

  • What is an include file? How is it related to include path? [1]
  • What is a symbol? How is it related to linking?
  • What is a compiler? What is a linker? [2] [3]
  • What is the difference between .so/.dll (Linux/Windows) and .lib (both)?
  • Static vs dynamic linking. What is the advantage of static linking? [4]
  • What is usually included in an SDK? What is the difference between building CEGUI yourself and using its SDK?

Plus you have to be at least a little proficient in your work environment (be it a full fledged IDE - MSVC, Eclipse, whatever, or command line tools).

Recommended books

  • C++ Programming Language, The (3rd Edition) by Stroustrup [5]
  • Effective C++ by Meyers [6]
  • C++ How to program by Deitel [7]
  • C++ templates by Vandervoorde and Josuttis, online for free! [8]
  • Beginning Visual C++ 2010 by Horton [9]