Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I saw a job opening where the requirement was for a developer to develop CAD tools using C++ and OpenGl libraries.

I am a civil engineer and want to be part of such a projects so I thought to learn C++ and some libraries which could help me to move forward for such job opportunities.

I know a bit of C++ but I am quite unfamiliar with these libraries(qt, openGL).

Can somebody tell me/guide me which is the most suitable library and most required library to develop such applications?

share|improve this question

closed as off-topic by gnat, GlenH7, MichaelT, thorsten müller, Thomas Owens Jan 20 '14 at 18:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, GlenH7, Community, thorsten müller, Thomas Owens
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 5 down vote accepted

Since you'd be working for a company, your employer will specify the libraries used. You might want to get familiar with OpenGL and Qt, but if you have no experience with them your employer will not expect you to be good at them initially.

Another sort of library you're likely to need is computational geometry. That's another field you might want to familiarize yourself with.

share|improve this answer

Library usage is generally very straightforward, while software engineering is not. If you have little experience and want to work as a programmer, you will need to do lots of coding on your own and learn how to write large, correct, structured and maintainable programs.

Personally I would recommend starting by reading the following books:

Code Complete 2:

Effective C++:

Growing Object-Oriented Software Guided By Tests:

This doesn't really answer your question, it's just my advice for your situation. Language syntax/concepts and library usage is the easy part.. creating big programs that work well is the hard part in my opinion.

share|improve this answer
Thanks Magnus,I don't know which answer to choose both are pretty acceptable – mukesh May 18 '11 at 17:10

I am faced with a similar predicament. One library I found very useful is tetgen. One use is to break faces of 3D solids into triangles. 3D graphics libraries such as Direct3D and OpenGL require that surface meshes (outer surface of 3D objects) are specified as triangles. tetgen is also used in FEA applications to break down a solid into tetrahedra.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.