This is the first real program I have tried to make and I am a bit confused about what I ought to be using and what to avoid doing. What I want to accomplish is a base program with cross platform libraries for OS specific functions running in a gui-less application that supports a separate application containing the GUI for the specific OS. Should I program in C or C++ with possible C elements inside or is there a better alternative for Cross platform? The program itself will be quite extensive. The core program will run a Torrent client (Do not have one in mind yet) that is configured for trackerless DHT and supports streaming media files. The GUI application will connect to online Databases for extra functionality but the idea is that the program can function independently with reduced functionality which hopefully includes a basic way to search for magnet links in the DHT network. Is there any open source projects of torrents which supports streaming and can you efficiently search in a DHT network for keywords and return a meaningful list of magnet links and metadata?