Hi guys so I have been doing the stuff such as reverse a string,find a palindrome,tic tac toe and other pretty trivial programs you can think of but my question is how do I make the leap to making something I can use,I have been programming on and off for about 2 years now
I looked at a post on dreamincode and some of the ideas that he mentioned caught my attention as something I would like to do
Text Editor - build a simple text editor nothing flash can save a text file
Guestbook / Journal – A simple application that allows people to add comments or write journal entries. It can allow comments or not and timestamps for all entries. Could also be made into a shout box.
Packet Sniffer – A utility program that will read packets coming in and out of the machine along with related information like destination and payload size.
Port Scanner – Enter an IP address and a port range where the program will then attempt to find open ports on the given computer by connecting to each of them. On any successful connections mark the port as open.
Chat Application (IRC or MSN Style) – Create a chat application that can create simple chat rooms like on Internet Relay Chat (IRC) or a more direct chatting style like MSN. For added complexity, create your own protocol to facilitate this chatting.
FTP Program – A file transfer program which can transfer files back and forth from a remote web sever.
Image Browser – This application is used to view various image files on your computer from PNG, GIF, JPG to BMP, TIFF etc.
all these projects interest me quite a lot,how do I get to the point where I can start developing these applications,what will I need to know
With 2 years of study, you probably already know everything you need.
There is nothing fundamentally different between writing "real" programs and console programs; console programs are real programs. In my opinion, the primary reason for any perceived difference is that hardly anyone teaches students to use the command line properly - i.e., to write usable console programs, and to use them effectively.