Now, what?

I'm tired of C++. I want something more complete. What is the next step?
closed account (z05DSL3A)
"more complete"??
As Grey Wolf is alluding to, "more complete" is entirely dependent on your domain and needs. What are you wanting to work on that you feel C++ is not sufficient for?
Well, more "built-in" stuff. Eg.: the D language have itself independent code for sockets and stuff. Python, for example, have a lot of built in stuff, but its size kill my entire happiness. I want languages that are compiled into binaries, that have a good multifunctional Standard Library.
Last edited on
The good multifunctional library for C++ is called boost: http://www.boost.org
+1 for Boost. It adds a massive amount of functionality and is very well written to work seamlessly within the rest of your C++ code. It has an awesome asynchronous network module if that's what you're looking for. If you're unfamiliar with the async model, I highly suggest taking the time to get comfortable with it. It's very powerful.
If you really need to have everything built in, you could start using QT, which obviously adds graphics capabilities, but also a gigantic built in library.
Last edited on
Second Qt; so much built in stuff yet you use native C++.

The biggest thing to learn is the Signal and Slot system; think of it as the backbone of Qt.

After that you have to use Qt's datatypes for a lot of things (QStrings vs std::string, etc.) but their datatypes have been optimized for twenty (20) plus years and are pretty good.

Beyond that; depends on what you need.

What kind of programming are you doing? 3D graphics? Mobile? Plain desktop?

More information needed.
Thanks for all replies. I'm already using Boost and have already used Qt (I think it's too heavy). I have to say, the Signal and Slot system is beautiful. But... I don't know; I really want to learn another language, as I'm trying D by the moment. Good languages that I can also use with C++ are, for example, Lua. I tried it and I liked it. Any other suggestions? I have found an interesting option: Rust http://www.rust-lang.org/ .
Last edited on
closed account (z05DSL3A)
iQChange wrote:
I want something more complete...I really want to learn another language
I would suggest looking at the Microsoft .net framework and C#.
Hmmmm, then as another poster said you have to define what "complete" is.

What exactly are you looking for? A lightweight C++/etc. library that does everything Qt/.NET framework does but doesn't have the size or dependency requirements that those systems have?
Last edited on
D's standard library doesn't make it more complete. I actually am I quite befuddled as to the purpose of their "standard" library which includes things like CURL interfaces. They have SIMD interfaces... which is great since it allows compiler implementations to add compiler intrinsics to high level constructs right at the hands of the user. They have common memory manipulation functions that aren't easy to accomplish... like turning raw memory into a D type efficiently. Then they have things like sockets... which don't hold all use cases, are inefficient, have optional portions of the code that may or may not work, lacks support for efficient platform specific polling APIs, etc. It's not consistent at all... I dare say it's garbage.

The important thing to take away from the above though is that you don't need to use D's garbage sockets interface. You can use any other library or create your own. That doesn't make D any less or more powerful. I

More "things" does not make a language more complete which is an opinion that has only grown stronger over a lot of time. I do find the C++ standard libraries useful as a generic toolset. But to me, it's just a library that everyone likes to use and re-implement over and over.

There are times where the standard does not provide what I need. That doesn't make C++ less complete. As a matter of fact, I'm glad that happens. I can't stand it whenever people use the standard library in such an awkward way just to fit their specific needs instead of searching out a solution that's designed for their needs. I don't understand why everyone needs everything to be in a single place. It's very inflexible.
So pretty much you're saying:
I don't want to deal with the issues of using a relatively low level language!

Then use a higher level language. Try Java or C#.
Topic archived. No new replies allowed.