don't know what to do with proggramming

Pages: 12
Hey guys,
I'm posting on this forum because, I have a big problem with programming.
I'm a teenage boy that is really interested in programming but I don't now what to do know that I know the cpp basics.
Previously, I did HTML, but I found that boring and I made a very bad app in lua that I published just for the heck of it.
As I said before, my problem is that I don't know where to go know that I have the basics but I also have two other problems :
-I get sucked into video games WAY too easily
-I have a hard time just sitting down and programming, I keep procrastinating
Don't tell me to just give up because I won't do that and you would just be wasting your time but try to give me a reason to program or an idea of what I should do next.

mindoo

EDIT : My previous posts are pretty old, I'm not looking for what to do next but I'm looking for a good reason to keep proggramming.
Last edited on
My previous posts are pretty old, I'm not looking for what to do next but I'm looking for a good reason to keep proggramming.


You could create one of those games people will be sucked in to one day.
Hello. As someone who taught himself to program and does it as a hobby my experience is as follows: when you have an idea for a useful application, you get a GUI up and running, well, it's just a good feeling as you start adding functionality, refining it, and eliminating bugs. It almost becomes like a game itself with occasional frustration and also feeling of accomplishment.

Maybe you could move on to GUI programming if you haven't already and come up with an idea for an application that you think would be useful to other people. Figure out the libraries needed(imaging, graphics, network, archiving, etc) and how to use them.
Hey ahcfan,
Thanks for the answer.
I never thought about GUI, and know that I think about it, I think that it could be the solution to get back up and running. Where could I learn GUI and what do you use to create the GUI ?
For starters you can learn java... many sites teach that stuff for free...
Hey programmer007,
I already know the basics of c++ and I know I want to do c++. I tried Java but I prefer c++.
You do realize you are talking about Java on a site that's called cpluplus.com... XD
And for the free part of it, c++ is free on a lot of sites.
Its not like java and c++ are rivals :D they are like brothers....

try QtCreator IDE. It is written in c++(Qt one)
Well I'm mostly familiar with windows programming so I use the winapi to create GUI's. I learned mostly from the book Programming Windows 5th edition by Charles Petzold, though it is a tad outdated. Here's another good resource on MSDN:

https://msdn.microsoft.com/en-us/library/windows/desktop/ff381399%28v=vs.85%29.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/bb773169%28v=vs.85%29.aspx

There are other, multi-platform GUI libraries as well, such as QT, GTK+, and wxWidgets.
Last edited on
programmer007 :
Of course they aren't rivals :-D ^^
I think I will try qt since I found a tutorial on the website I first learned c++ on.

ahcfan :
As I said before, I will try Qt. Thanks a lot for the idea, I will post a couple of my projects.
I think my first project will be a timer that will log how much time I spend playing and how much time I spend programming.

Thanks a lot for your help

mindoo
Depending on what you want to do, other libraries exist as well. FLTK gives you a similar GUI functionality as QT, but is also different in how you use it. If you're looking to make games, check out libraries like SFML, SDL or Allegro. They don't give you the interfaces to create traditional buttons and text boxes, but they are much easier to use with gaming type stuff in mind.

If you want to have things to do, try implementing different algorithms. Adaptive learning algorithms are quite fascinating. Try programming a maze game, then program an AI that can solve the mazes.
DO NOT learn java... If you do, learn C++ first. Java isn't a bad programming language (although I hate it, and imo it's a terrible frankenstein that should have never seen the light of day), but you will learn very incorrect coding paradigms (for example, Java's overly excessive abuse of polymorphism is NOT good practice... I wouldn't even say in Java... and interfaces do NOT equal inheritance!!!!!!). By writing C++ and becoming as good as you can get, before learning Java, you will be able to better understand the tools you use, the code you write, and will even be able to speculate possible implimentations of the Java language that you can exploit.

That said, to answer your question: anything you want. Here are a few ideas:

Moderate:
- Write a program that can replace a checkbook. It needs to keep track of withdrawals, deposites, reasons of each transaction, etc...

- Write a timer
- write a program that can be used for your video game. Example: You can write a program to let you apply things to your character (armor, weapons, other modifiers) and calculate your characters attributes so you can make the best character.

Advanced:
- Write an IRC bot
- Implement a genetic algorithm and experiment with it; mabey even 'teach' it or somthing.
- Write a front-end to g++, or even your own build system
- if you have an erector set, some breadboards, and components, and an arduino, you can make a robot and program it in C or C++ (I think you can use C++, iirc). You can also use a Raspberry Pi, which I know you can use C++.

These projects aren't going to make you money, or contribute to the FOSS community, but they are interesting and would improve your skill greatly.
DO NOT learn java... If you do, learn C++ first. Java isn't a bad programming language (although I hate it, and imo it's a terrible frankenstein that should have never seen the light of day), but you will learn very incorrect coding paradigm


This just sounds like personal bias against the language to me. It really doesn't matter what language you learn first, just make sure to remember that some language features are different between languages and that you can't necessarily program like you do in C++ in Java or vice versa.

While many people rag on Java, it really is a good language to at least know the basics in if not just because so many people use it and a lot of different software is made with it.

for example, Java's overly excessive abuse of polymorphism is NOT good practice...


Curious, could you elaborate on this?

and interfaces do NOT equal inheritance!!!!!!


Obviously interfaces themselves do not equal inheritance, but they are definitely a part of it even in languages like C++, they just go by a different name (Pure virtual class).
@IWishIKnew

I must say I have to agree with Zereo.

And regarding your argument of idiomatic Java's inefficiencies:

Idiomatic C++ is far from optimal as well. It focuses on providing a generic, one-size-fits-all solution for every problem, which really never works for high-performance applications. It focuses on manipulating a single object, even though generally you work with many objects. Idiomatic C++ programmers really don't care about the data layout or the cache. I could go on all day.

TL;DR: Idiomatic C++ isn't much better than idiomatic Java.
Last edited on
IWIK: there are so many things wrong with your post, but im going to focus on this one:

Advanced:
- Write an IRC bot

lolwut? no its not. i learned how to write one with zereo zero networking knowledge.
closed account (NUj6URfi)
I made an IRC bot.... If I can do it...
http://channel9.msdn.com/Events/GoingNative/2013/Inheritance-Is-The-Base-Class-of-Evil

Zereo

That is why. Java programmers seem to completely disregard this, and just inherit inherit inherit inherit inherit until the code is so entangled that it's impossible to read without an IDE. I can only imagine how fast the same code would be if it were written without the use of inheritance.

Little Bobby Tables said:
lolwut? no its not. i learned how to write one with zereo zero networking knowledge.


I didn't say that was a prerequisite, did I? I only listed it under advanced. The reason is because he only knows the basics. Besides, it's just a quick hash of ideas I whipped up off the top of my head. I didn't make a list of pedantic requirements to define "advanced" and "moderate", and go through the damned thing for every item.
Last edited on
mindoo wrote:
As I said before, I will try Qt. Thanks a lot for the idea, I will post a couple of my projects.
I think my first project will be a timer that will log how much time I spend playing and how much time I spend programming.


This is a cool idea! I would love to see your project when you're done, and if you do well I would like to use it myself!

QT is a great framework, it makes it easy to get started right away and just plug your code right in. Glad to see someone taking action :D

As far as getting sucked into video games, man me too. I spent 600 hours in dota2 in the last 7 months... So I decided a while ago (and man it's been tough) that I would not play any video games by myself that I haven't made. In other words, I can only play video games made by me.

It has been super motivational! Working on this cool game right now a top down game that starts out as the game of life, but one of the blocks becomes sentient and starts learning to bypass the regular system (at least that's the idea currently, who knows if it will evolve) and if I hadn't decided to stop playing others' games I would never have spent the time to make it.

I didn't say that was a prerequisite, did I? I only listed it under advanced. The reason is because he only knows the basics

networking knowledge is a requirement. it doesnt matter if you didnt list it. and the only thing you need to know besides a bit of networking is the basics.
I wonder if IWishIKnew will realize that he's making a huge slur against Java programmers (accusing them of abuse of one of their language's core features), and that a core principle of inheritance is code reuse.

As long as class naming schemes are good, the code is decently organized, and the programmer sticks to "is a" relationships between objects, inheritance actually inherently (pun intended) reduces development time.

-Albatross

EDIT: Typos.
Last edited on
i wonder when IWishIKnew will realize that c++ does the same thing with iterators...
Pages: 12