Pages: 123
@mathman normally the criticism I hear about perl is that it is so terse that it is incomprehensible. Today I wrote a C++ program at work today to concatenate a couple hundred files into one. I;m guessing it was 20 lines, in perl I could write it as one line and submit it to the command prompt. I only did it in C++ because I need the daily practice to get back up to speed.

@Albatross What I meant was the code you wrote 20 years ago would still compile today. I do use modern compilers and the c++17 standard. I don't use an IDE it is frustrating to use a different editor for every language you have to write in. I often have to write or edit programs in 3 different languages in any one day. Now granted the programming I do is always trivial compared to what professional developers do, but I am writing programs, macros, and scripts in multiple languages.

As for C++ on both machines my widows machine and my linux machine, I'm using makefiles and a text editor the same way a did 20 years ago. The only real difference is now I don't write my own makefiles I let CMake do that for me.
In terms of computer languages @mothman is best suited to this one:
Fair enough.

Are you sure those are beginner books? Animation is a complex topic, and Hands On C++ Game Animation Programming definitely seems to assume you have some prior skill as a developer, if not necessarily in C++:
This book is for professional, independent, and hobbyist developers interested in building a robust animation system from the ground up. Some knowledge of the C++ programming language will be helpful.

There are close to 50 languages that are really watered down c++ --- from java to ruby to pascal. Pick the one that removes the features you do not like, and use that one instead. It is why they exist; they were invented by people who do not care about performance or rich capability at the cost of having to learn something.

This is a common assertion that I regularly hear from C++ enthusiasts, and that I myself have probably been guilty of repeating a few times.

Sure, learning C++ is definitely valuable, as it teaches a skillset that's often neglected by other languages. However, the implication here seems to be that after learning C++, most of what you'll have to learn for almost any other language is the ecosystem, its syntax differences, and its limitations relative to C++, and that's simply not true (even if we count lack of direct memory management as a limitation). For some languages, the transition is fairly close to what you described, but for others (examples: Ruby, Rust, Haskell, Scala, any Lisp-family language, Prolog, Elixir, Ada, maybe Zig), that's not the case, because they make use of paradigms that are foreign to C++, especially idiomatic C++.

Also, it's false to state that most of those languages were created to be watered-down C++es that are easier to learn. To focus solely on your three examples, you might have an argument for Java, but Pascal predates C++, and Ruby has a gargantuan feature set, including a few that C++ definitely doesn't have (everything being an expression, metaclasses, first-class continuations, and a centralized package manager).

If anything, a number of languages were created not just to take some subset of C++'s features to make it easier to learn, but also to specifically avoid design defects in C++ (and yes, for all that C++ gets right, it does have some flaws — NOT features — that are now virtually impossible to remove without major backward compatibility breakages).

I didn't recommend that language to everybody Albatross. Are you embarrassed still or still cancel culturing or both?

Did you know Albatrosses stink like fish?
I'm presently unaware of a more productive way to respond to your posts other than reporting some of them, as warranted, and ignoring the rest. Should the quality of your posts improve, and should you gain an understanding of what cancel culture actually is, that will change.

Just a friendly reminder, you don't have to put up with it if you don't want to: http://www.cplusplus.com/forum/lounge/270432/
Albatross, a self appointed gatekeeper who fortunately rarely makes a contribution here and those that do occur are always ego-driven pontifications and self aggrandisement. Another one who hasn't written a line of code here.

Ignore me at will. I have no need for attention from a tediously boring and facile waster.
The script described at the above lounge post is very nice and really effective at cutting through the BS chatter.

I'd say it is much better than stuffing broccoli in one's ears. Cheese sauce not needed either.
Well, if you think c++ has too much garbage, you are in LUCK. There are close to 50 languages that are really watered down c++ --- from java to ruby to pascal. Pick the one that removes the features you do not like, and use that one instead. It is why they exist; they were invented by people who do not care about performance or rich capability at the cost of having to learn something.
I'm not sure you've ever written Ruby if you think its a more watered down c++.
@helios & @Furry Guy:
Thank you for the recommendation, but I usually don't use ignore lists or other functionality that prevents me from fully observing a conversation. Annoying as certain participants may be, I value having context for other participants' responses.

I'll just have to exercise some self control and give the posts no more acknowledgement than they deserve. Or I could modify the script to collapse the offending posts in a reversible manner, but realistically I'm sure I'll end up clicking on them anyway.

I offer suggestions as I see fit, you are free to accept the advice or not. :)

You have more self-control than I do. :Þ
Incontinence now? That explains the drizzle.
I think there is just this advice: Don't feed the troll.
You can't have a normal conversation with a troll. Things are only getting worse.
More drizzle.
OK people lets get back on topic.
Here is some code from the book Beginning C++ Game Programming, And yes this book is for beginners.

#include <iostream>
#include <SFML/graphics.hpp>
using namespace sf;

int main()
//Create a video mode object
VideoMode vm(1920, 1080);

//Create and open a window for the game
RenderWindow (vm, "Timber!!!", Style::Fullscreen);

I typed this program into Notepad++ and then copy/pasted into vs.
It mostly worked. It says that it cannot open sfml-kernel323.lib file.
Last edited on
Setting up a third-party library for the first time can be an ordeal on its own, so personally I wouldn't even try it until you resolve the other issues you're having.

But, if you want to use SFML:

You need to make sure your
(1) Include directories point to the /include dir where you downloaded SFML,
(2) Linker directories point to the /lib folder where you downloaded SFML, and
(3) you need to make sure you're linking with at least

If building in Debug, link with:

If that's actually what the error message says, then you probably mistyped something in your linker settings. Re-check them and see if you're letting the linker know about the aforementioned .lib files.

Last edited on
Reading the preview of Beginning C++ Game Programming suggests that it actually is intended for beginners. Which… is definitely an interesting approach on their part.

What version of SFML did you download, and which version of Visual Studio is it for?

The book covers the things that I needed to do to make the program work. I did them but still have the problem. You have some things the book does not cover. Should I be putting them into VS? The book had me place the sfml-network-d.lib, sfml-window-d.lib, sfml-system-d.lib, and sfml-graphics-d.lib into the linker/input/additional dependencies line.
I had to do a couple of other things as well.
Last edited on
Albatross I downloaded the most recent version. The first game is timber. It does a couple of things. Not very involved. 2019.
Last edited on
Deleted my previous post to more adequately respond to your edits and your latest message.

There is no build for SFML that explicitly says "2019". There's one that says "2017", which is compatible with Visual Studio 2019, but you would have no way of knowing that without researching it. The book also tells you to download Visual Studio 2015, and to download the matching build of SFML. EDIT: OP clarified that they are using the second edition of the book, not the first as I'd assumed.

This tells me you haven't followed the book's instructions to the letter. I suggest you delete that project, delete the SFML folder that you created, and start again.

Either try and follow the book's steps a bit more closely, or try following SFML's instructions instead of your book's "Setting up the development environment" section (with the change that you'd be downloading the Visual C++ 15 (2017) 64-bit or 32-bit build):

Please do not rush, follow the instructions closely, and ask questions if you're not sure how to do something instead of assuming. Programming will be a lot less painful for you.

Last edited on
Pages: 123