Questions about C++

Hello.
My name is John. I am blind. I use a computer with special screen access programs.
I'm interested in solving some tasks, and for this I'm interested in C ++.
I have a few questions about C ++. Who knows C ++ well, please help me!
1. For whom is C ++? Your opinion?
2. What are the best things to do in C ++? Your opinion?
3. If I do not want to develop from scratch. If I want to develop using libraries, engines. Do I need to know C ++ well? Can I limit myself to variables, conditions, loops, arrays, pointers, OOP? Or what do I need to add?
4. What are some simple books about C ++?
My tasks:
Development of audio games. To do this, I need tools to work with 3D sound, keyboard, etc.
Development of MUD games. MUD game is the server to which the client connects. I do not have to develop a client, there are already existing MUD clients. MUD game is an online text game. There are characters. There are locations. For example, the location "In the Forest Glade", which is located in the zone "Forest". When sending a command to the server, it does. For example, I write "North". The character moves north if the direction is available. For characters who are in the location where the character arrives, the following is displayed:
John came from the south.
Moreover, there is no need to develop a client. This only works on the server. The server receives the finished text, and sends the client ready text, which should be displayed.
To do this, you need to work with sockets, which is in C ++.
Interested in your opinion. Is C ++ good for me?
Thank you in advance for your reply!
I am blind
Yes, i guess it is an handicap, but not that much. Probably when it comes to comples graphic.

1. For whom is C ++? Your opinion?
Everyone should have this language in the portfolio. While it is not simple due to its degree of freedom it teaches you more than all other languages.

2. What are the best things to do in C ++? Your opinion?
I don't know. I use is for nearly everything: network, gui, web...
For almost everthing you have a good library starting with boost.

3. If I do not want to develop from scratch. If I want to develop using libraries, engines. Do I need to know C ++ well? Can I limit myself to variables, conditions, loops, arrays, pointers, OOP? Or what do I need to add?
The better you know c++ the more effective you can use it. Actually don't constrain yourself.
You should learn about smart pointer (instead of raw pointer), template, lambda functions.

4. What are some simple books about C ++?
Can't really say. My best bool is the internet since everything is there. You just have to find it.

Is C ++ good for me?
Well, that depends all on your ability to learn this. You might take a look other language like python, java, etc.
Hi, Jonikster

1. For whom is C ++? Your opinion?

C++ is generally said to be hard to learn because it supports many different programming techniques, so it takes quite a long time to get the hang of them. Most people think for professional programmers it can be a good choice, while for hobbyists it could be a waste of time.

2. What are the best things to do in C ++? Your opinion?

C++ is a general purpose programming language which can be used for a great variety of tasks. I don’t think that’s a proper answer for that question.
Let’s say there are programming languages which have been developed with a particular purpose in mind and perhaps they are more ‘friendly’ in specific fields.

3. If I do not want to develop from scratch. If I want to develop using libraries, engines. Do I need to know C ++ well? Can I limit myself to variables, conditions, loops, arrays, pointers, OOP? Or what do I need to add?

I’m a beginner, so I can only give answers from a beginner point of view. In my opinion, OOP itself is already enough to sink one’s teeth in for maybe years. Also, C++ standard library is based on templates and I presume you need to understand what templates are to use them correctly. But usually templates are studied after classes, which are the starting point of OOP, so... well, in my personal opinion to be productive in C++ you need to reach at least templates.

4. What are some simple books about C ++?
One of the most renowned is “Programming: Principles and Practice Using C++ Second Edition” by Bjarne Stroustrup. Let me warn you it is more than 1300 pages long.

Interested in your opinion. Is C ++ good for me?

Your tasks look quite complex and presuppose you already have some good knowledge in programming. Perhaps you could search for a book which moves from the languages you already know to go to C++.
However you should consider a lot of people say learning C++ takes at least three years.

Good luck with your plans and happy coding!
1. c++ is for computer programmers. It is a powerful language that is well suited for high performance software. It can do anything that can be done on a computer.

2. c++ is my go-to language for everything but I mostly do math or rather simple text processing tasks.

3. c++ has a ton of built in data structures that avoid low level re-creation of common tasks and a LOT of free libraries to do other things. So do most high level languages though. Everyone got tired of building their own bugged up containers a couple of decades ago.

4. I find the authors deitel (same name, 2 people) to have excellent introductory books on several languages including c++. I would wait to spend $$ and try some basic simple coding and learning for free off the web, to see if you want to pursue it.

I do not know much about 3-d audio. That is outside c++, you would get a library from someone, possibly part of directx / directinput for windows, for example.

Text games are a great place to start. I would start with a single player local system game and grow to learn the networking / multiplayer aspects later. You can re-use the early work or start over to apply what you learned that could be done better.


On a side note, you can do a lot with a little. You don't have to master the language to write a simple text game, for example: all you need are input and output statements with maybe some conditional statements. I remember playing for weeks on end text games that fit on a 1/4 mb floppy disk on an apple 2e -- before most of the advanced language stuff even existed, oop was a new, half baked idea at that time.


Last edited on
I think the de facto cross-platform standard for 3D audio is OpenAL, which is usually used with a C or C++ interface, but certainly has bindings for any popular language. I have not used it.

https://ffainelli.github.io/openal-example/

Hi John, I really like the idea of audio games, good luck with that!

Whether C++ is best for you... it's pretty opinionated. Of course, we're on a C++ website, so my bias will lean towards C++. It can do all the client/server programming you want. And there's already so many libraries that exist that are written for C or C++, so you usually don't need to re-invent the wheel unless you want to.

Learning the C++ core language features + standard library features is just as hard as learning any other language + standard library, whether Java, C#, Python, etc. Some extra features might complicate it a bit more than your average language, but modern C++ can be fast and safe.

But there are, for example, sockets libraries for any popular language. I would either go with C++, C#, or Java. All three can be cross-platform in their own ways.

Here is Bjarne Stroustrup's list of C++ applications
http://www.stroustrup.com/applications.html
Last edited on
Topic archived. No new replies allowed.