• This is a read only backup of the old Emudevs forum. If you want to have anything removed, please message me on Discord: KittyKaev

I want to learn C++, but I need a project to start with.

neglected

Enthusiast
Hey guys,

I've been studying programming for quite a while now and C++ was one of the first languages I tried to learn but couldn't quite hack it (I was 15 at the time) to do it properly. Now that I'm more mature and understand a lot more concepts (and I have the capability to understand things like memory management, which I certainly didn't back then) I was thinking about learning C++, but my problem is that I can't just sit down and read a book or series of tutorials to learn a language; I need to have something to work towards in order to learn something. Do any of you have any ideas (or a resource that contains ideas) for which I could build my C++ knowledge upon?
 

La_Blazer

Epic Member
I dont know C++ too, but i learnt Java by making Minecraft mods, so i guess try to do patches or extensions for trinity and browse and try to understand the code (if you already know the basics). I dont know, everyone has their own way to learn programming...
 

Jameyboor

Retired Staff
I started off creating a chat application using the client/server architecture and implementing the network functionality using a self-made DLL, that'll teach you lots of basics.
 

Mathias

Exalted Member
In my very basics when i started to learn (c# in my case) I started making basic applications looking at the internet for what people needed and made it then i went more and more difficult

In the end you'll know programming
 

Neth

BETA Tester
my very first app was a IRC I think, I wanted to make my own msn back then, just like jamey it gave me all the basic I needed for wow
 

frost

Banned
Me im a noob to programming too but what is helping me is watching tommy's video tutorials and asking questions to programmers with experiance.
if you want to learn "A" language fast id say start with Visual c++ there are massive tutorials that teach the basics just search youtube for them.
i started off with visual basic and bat scripting, then went to html and now c++. it has helped to learn an easier language for me was VB and that showed me how to access files folders write to files and basically how fuctions work then i went to c++ and had a basic understanding of how to program, now im learning the different syntax between the 2 languages.


btw if you start in a big project you wont be able to do anything easy.
different programmers program in different ways and that can cause issues when learning.


i say create a clock or create some type of calculator so you can see how variables and timers can be used
goodluck :)

start with something small then when you can make things on your own then join a bigger project so you know how to "read" a program
if you can't "read" a program then you wont know what it is doing.

a good practice i do befor i make a program is first identify what you want it to do.
then write sudo code to explain how it will work.

example:

Code:
    //load an image file
    //store the image file in a location for auto save and NOT overwrite the original
    //edit the image
    //tool to select all
    //tool to delete selected
    //check if the image has been saved
    //save the image

this can come in handy so people have comments on what the function you write below it does. so basically you write a story on what would be needed to be done.
and tells you where in the program you are at if you come back a month later you know what each part does.
 
Last edited:

Vitrex

Moderator
Then which one language you are using?
I don't know C++ or C# i'm learning other languages Website programing languages (i heard C++ can handel website to don't know correct me if i'm wrong)
The main goal is that YOU need to watch videos or listen or read the information about basics, how the memory of server works, how variables reacting to on or other calculating , how to don't just create variable but how update it when you need it. I mean lol nowdays there a lot of web "programers" which one don't know what is MVC is... and when you asking which framework you are using they just tell you i made one by myself, and when you ask to show you see no OOP just includes with random html/php/js code. what i'm talking about? You need to learn basics and don't stop there go to learn more, what the programing logic is?
To solve problems, you need "tool" you create that tool/program to solve your problem, look in casual things around you which one need solve problem, maybe you can "upgrade" some program you don't like or something?
I learned php how much i know now like that : I watched FULL video of tutorial i'm learning then gone to google typed there the method i saw in tutorial reading text walls how to correct use that method, function whatever and then i opened notepad++ and just wrote the same program i saw in youtube video BUT from my mind, don't turn on video again, from the info i found on forums how to use those metods correctly and etc.
That way gives you a little bit theroy + practise in one time.
Hope my broken english didin't broke my mind rush here... :D
 

neglected

Enthusiast
Then which one language you are using?
For my job, C# for development, Ruby for small tools, SQL for databasing.
But I also am proficient in Java, HTML5 (not a programming language per sé), SASS, JavaScript, Python, Lua..
I don't know C++ or C# i'm learning other languages Website programing languages (i heard C++ can handel website to don't know correct me if i'm wrong)
The main goal is that YOU need to watch videos or listen or read the information about basics, how the memory of server works, how variables reacting to on or other calculating , how to don't just create variable but how update it when you need it. I mean lol nowdays there a lot of web "programers" which one don't know what is MVC is... and when you asking which framework you are using they just tell you i made one by myself, and when you ask to show you see no OOP just includes with random html/php/js code. what i'm talking about? You need to learn basics and don't stop there go to learn more, what the programing logic is?
To solve problems, you need "tool" you create that tool/program to solve your problem, look in casual things around you which one need solve problem, maybe you can "upgrade" some program you don't like or something?
I learned php how much i know now like that : I watched FULL video of tutorial i'm learning then gone to google typed there the method i saw in tutorial reading text walls how to correct use that method, function whatever and then i opened notepad++ and just wrote the same program i saw in youtube video BUT from my mind, don't turn on video again, from the info i found on forums how to use those metods correctly and etc.
That way gives you a little bit theroy + practise in one time.
Hope my broken english didin't broke my mind rush here... :D


I can understand all that stuff. My problem is that I need a problem to solve in order to work on it. I can learn C++ in theory but that's not much use if I don't have a problem to solve to apply my knowledge to. I've been programming professionally for nearly 2 years now so I would be worried if I didn't understand the "basics and programming logic" :p
 
Last edited:

lillecarl

Respected Member
I don't have WoW on my PC at the moment so that's out of the question.
If you do not care enough to download X GB for doing programming, then you're out of the question too. I'm not saying it has to be wow, but prepare to put some real effort into this, or you can forget it all at once. Programming is not something you learn over a weekend, trust me i know. Though i've been very slow in my learning phase i've picked up everything myself, which means all i know, i know why and how (pretty much).

So you better get your ass right in the chair and prepare for hell of a ride.

For the very beginning, make a calculator for me in c++ (no need to make a complex one with paranthesis support etc.. just a simple one.)

When that's done, i can give you new tasks.
 

neglected

Enthusiast
If you do not care enough to download X GB for doing programming, then you're out of the question too. I'm not saying it has to be wow, but prepare to put some real effort into this, or you can forget it all at once. Programming is not something you learn over a weekend, trust me i know. Though i've been very slow in my learning phase i've picked up everything myself, which means all i know, i know why and how (pretty much).

So you better get your ass right in the chair and prepare for hell of a ride.

For the very beginning, make a calculator for me in c++ (no need to make a complex one with paranthesis support etc.. just a simple one.)

When that's done, i can give you new tasks.

Y'all know I have Visual Studio and GCC and all that jazz installed right? You don't need to tell me how I need to prepare to learn to program as I've said multiple times I actually do it for a job. I just want a project to start with, which is all i have asked for in this thread
 

lillecarl

Respected Member
Y'all know I have Visual Studio and GCC and all that jazz installed right? You don't need to tell me how I need to prepare to learn to program as I've said multiple times I actually do it for a job. I just want a project to start with, which is all i have asked for in this thread
Topic title is i want to learn C++

Anyways here's a project for you:
Implement mangos scripting system to trinitycore and rewrite it to use classes and inheritance rather then function pointers.

When you're done with that you could just go ahead and rewrite mangos logging system.

You would not even need wow to test that your systems work, though for convenience this superlarge download could be something worth dedicating bandwidth to while sleeping.

Or you could write a equation solver, i would love to have a equation solver in handy (kinda like wolframaplha)

There you go, you're welcome! =)
 

Tommy

Founder
Topic title is i want to learn C++

Anyways here's a project for you:
Implement mangos scripting system to trinitycore and rewrite it to use classes and inheritance rather then function pointers.

When you're done with that you could just go ahead and rewrite mangos logging system.

You would not even need wow to test that your systems work, though for convenience this superlarge download could be something worth dedicating bandwidth to while sleeping.

Or you could write a equation solver, i would love to have a equation solver in handy (kinda like wolframaplha)

There you go, you're welcome! =)

I'd stick with the simple of simple: the calculator.
 

fiesty

Emulation Addict
I program in a number of languages .... C++ is one of my favorites as well as C#. For really down and dirty quick coded programs I write them in Perl.

For anyone wanting to learn C++, I'd start with console app's first. These are really simple to make and the structure will make sense. Best free tool is Bloodshed Dev IDE for C++. I use this all the time. Also tons of info on the web on programming, you just need the desire and dedication to learning it.

First start off with something simple like cout and cin for outputing text to a user and inputing text from a user to a variable. Then work on loops, arrays, random generators, I/O to files and so on. The biggest thing to consider with using a random generator is to use a seeded timer to the random generator. Without a seeded timer, each time you run the program/game etc, you will always get the same random numbers which become predictable; however by using a seeded timer, its far more difficult to predict the output you will get.

My strengths are with file and database manipulation with C++, but my weakness is graphics. Most games out there are built from C++, and there are really good programmers that create the graphics engines etc. The best graphics I have been able to do with C++ is bitmap manipulation etc, and this is very low quality graphics similar to an Atari2600 game with a red and green block and a square ball and collision detection on a 2D map etc.

C# I like because its good for rapid development of GUI based programs that look professional as well as it has lots of handy coding shortcuts where it auto populates redundant code that is required etc.

Perl I like because its down and dirty, a few lines of code can do a lot tapping into features/functions that were created for it, as well as it doesnt need to be compiled before use, as well as you do not need to #include all the resources like C++ requires at the top of the program in your *.cpp file etc.

Additionally Perl and C++ at the console app level work very well hand in hand if you wanted to mix and match vs coding all in 1 language where you can call the other etc, although its best to do everything in the same program language vs a mix and match.
 

Kaev

Super Moderator
I program in a number of languages .... C++ is one of my favorites as well as C#. For really down and dirty quick coded programs I write them in Perl.

For anyone wanting to learn C++, I'd start with console app's first. These are really simple to make and the structure will make sense. Best free tool is Bloodshed Dev IDE for C++. I use this all the time. Also tons of info on the web on programming, you just need the desire and dedication to learning it.

First start off with something simple like cout and cin for outputing text to a user and inputing text from a user to a variable. Then work on loops, arrays, random generators, I/O to files and so on. The biggest thing to consider with using a random generator is to use a seeded timer to the random generator. Without a seeded timer, each time you run the program/game etc, you will always get the same random numbers which become predictable; however by using a seeded timer, its far more difficult to predict the output you will get.

My strengths are with file and database manipulation with C++, but my weakness is graphics. Most games out there are built from C++, and there are really good programmers that create the graphics engines etc. The best graphics I have been able to do with C++ is bitmap manipulation etc, and this is very low quality graphics similar to an Atari2600 game with a red and green block and a square ball and collision detection on a 2D map etc.

C# I like because its good for rapid development of GUI based programs that look professional as well as it has lots of handy coding shortcuts where it auto populates redundant code that is required etc.

Perl I like because its down and dirty, a few lines of code can do a lot tapping into features/functions that were created for it, as well as it doesnt need to be compiled before use, as well as you do not need to #include all the resources like C++ requires at the top of the program in your *.cpp file etc.

Additionally Perl and C++ at the console app level work very well hand in hand if you wanted to mix and match vs coding all in 1 language where you can call the other etc, although its best to do everything in the same program language vs a mix and match.

Bloodshed Dev-C++ is by far the worst IDE you can get.
It is outdated and has many bugs in it, if you use the buildin compiler.
If you really want to learn C++, use Visual Studio 2013 Express or newer and use C++11.
 
Top