[FoRK] Fwd: Ask Slashdot: Is C++ the Right Tool For This Project?
Stephen D. Williams
sdw at lig.net
Wed Jun 24 11:06:43 PDT 2015
I didn't answer the question; I provided a more nuanced set of choices and reasons for choosing them. Teach the person to think...
C++ and Qt is cross-platform, high function
by sdw (6809) <sdw@@@lig...net> on 2015-06-24 11:03 (#49979249) Homepage
My preferred general purpose C++ solution would be to use Qt when possible. It already has virtually everything you would use in an
operating system with baseline networking, GUI, etc. already wrapped for cross-platform use in a clean, powerful way.
If you are writing a utility or a service, there are other choices. If you think you need the widest range of features, you might
need a native GUI, GPU access, etc., Qt is the only real choice.
Depending on what you are trying to accomplish, Node with C++ modules provides a nice base. It is even used as the basis for desktop
WebSockets for bidirectional communication, etc. Nginx is another possibility for something like that.
You could use Java or C# for portable-ish apps. In some ways, Qt seems even more portable now, especially for GUI and OS-specific
features. Java and C# also don't make for great UI without a lot of work, and then it tends to be sluggish. For UIs, you want either
a modern web UI, or a well-designed Qt UI. Interestingly, Qt includes a modern web capability embedded. Even the native Qt GUI is
styled using CSS.
may be OK. Perl, Ruby/Rails, Drupal, WordPress, etc. all seem to be fading for app framework use because of developments in
On 6/23/15 11:40 PM, Joseph S. Barrera III wrote:
> See: https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines
> ---------- Forwarded message ----------
> From: <slashnews at pestonia.com>
> Date: Tue, Jun 23, 2015 at 11:30 PM
> Subject: Ask Slashdot: Is C++ the Right Tool For This Project?
> To: slashnews at pestonia.com
> Posted by: Soulskill, on 2015-06-24 06:13:00
> ranton writes: I am about to start a personal project which I
> believe should be done in C/C++. The main reasons I have for this are
> the needs to manage memory usage and disk access at a very granular
> level and a desire to be cross-platform. Performance is also important
> but I am unlikely to spend enough time optimizing to be much faster
> than core libraries of higher level languages.
> On the other hand, network access is also a critical part of the
> project and I am worried about the effort it takes to make cross
> platform code for both network and disk access. I have been working in
> the Java / C# world for the past decade and things like TCP/IP and SSL
> have just been done for me by core libraries. Do libraries like Boost
> or Asio do a good job of abstracting these aspects away? Or are there
> other options for doing granular memory and disk management with more
> high level languages that have better cross-platform library support? I
> am willing to brush up on my C/C++ skills if necessary but want to
> spend as much time as possible developing the unique and potentially
> innovative parts of my project. Thanks for any advice you can provide.
> 1. http://slashdot.org/~ranton
> FoRK mailing list
Stephen D. Williams sdw at lig.net stephendwilliams at gmail.com LinkedIn: http://sdw.st/in
V:650-450-UNIX (8649) V:866.SDW.UNIX V:703.371.9362 F:703.995.0407
AIM:sdw Skype:StephenDWilliams Yahoo:sdwlignet Resume: http://sdw.st/gres
Personal: http://sdw.st facebook.com/sdwlig twitter.com/scienteer
More information about the FoRK