Who Wants To Learn How To Program?

Discuss how to write good code, break bad code, your current pet projects, or the best way to approach novel problems

Re: Who Wants To Learn How To Program?

Post by fun_man on Mon Jan 12, 2009 10:57 am
([msg=16019]see Re: Who Wants To Learn How To Program?[/msg])

I have to say nathandelane you have provided a great post and all your replys have been very informative, I honestly have been trying (on and off, more off than on heh) to learn to program for years now, say at least 5 - I am no further now than I was back then, problem been, copy n paste, it's too easy, I have maybe 10 books on programming now, I read them and close them and sleep it all away, didn't help.

I always were fascinated with VB6 I don't know why, my old man told me C# & C++ were complicated so I stayed away from them.

I have interest in making tools for Win O/S and I want them to be able to communicate with the web, ie: Web Browser, Proxy Search, FTP Proggy etc, all utils that I use myself, I would also love to make apps that work with my website etc, and other sites such as facebook.

Is C++ the way forward? Or is it .NET?

Thanks in advance.
fun_man
New User
New User
 
Posts: 1
Joined: Mon Jan 12, 2009 10:51 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by vladiftodi on Mon Jan 12, 2009 11:36 am
([msg=16021]see Re: Who Wants To Learn How To Program?[/msg])

Thanks for your post
One thing that i found hard is to decide what to program
I seem to be out of ideas...
and except some HTS chalanges and some minor stuff and the exercices at univercity I am still kinda stuck...
Not that I don't have ideas and I know you (who reads this) will say that you can do what you want but still I somehow lack direction...
vladiftodi
New User
New User
 
Posts: 44
Joined: Thu May 22, 2008 12:29 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by nathandelane on Wed Jan 14, 2009 11:51 am
([msg=16208]see Re: Who Wants To Learn How To Program?[/msg])

fun_man wrote:I have to say nathandelane you have provided a great post and all your replys have been very informative, I honestly have been trying (on and off, more off than on heh) to learn to program for years now, say at least 5 - I am no further now than I was back then, problem been, copy n paste, it's too easy, I have maybe 10 books on programming now, I read them and close them and sleep it all away, didn't help.

I always were fascinated with VB6 I don't know why, my old man told me C# & C++ were complicated so I stayed away from them.

I have interest in making tools for Win O/S and I want them to be able to communicate with the web, ie: Web Browser, Proxy Search, FTP Proggy etc, all utils that I use myself, I would also love to make apps that work with my website etc, and other sites such as facebook.

Is C++ the way forward? Or is it .NET?

Thanks in advance.


Thanks for your comments and questions. I'm glad to see that you are interested in learning, and I'd like to comment on the things you've relayed to me regarding the programming languages you've mentioned. First VB6 is a great Rapid Application Development (RAD) programming language. There's a reason why Visual is in its name. If you take that route then you're guaranteed to learn pretty quickly. Also VB6 is a very powerful dynamic language, [dynamic] meaning that it is not strongly typed or rather it doesn't have native types like int, double, float, char, or string per se, although you can DIM[ension] object variables to be of a certain type, and in some cases you are required to do that, anyway VB6 is a great starter language, if you own it already. Next C++ is a great object-oriented programming language. It does a lot of the setup work you need to create a great application. It is not a RAD programming language but it has high-level constructs like Vectors and classes which make programming large and small projects much simpler. If you already own a compiler such as Visual Studio 6, then that makes it even easier to learn, because of tools like MSDN that are included. Next on to C#. C# is the future of Microsoft. Microsoft Windows 9, scheduled to come out in a couple of years will be a breaking point and a pinnacle for Microsoft. For the first time ever they are obliterating backwards compatibility in favor of using the .NET framework as a basis for Windows 9. C# will become Microsoft's primary programming language, and in fact most of C# though originally written in C++ is now written in C#. It's an amazing thing when a language reaches this level a maturity (as another example C was not written using assembly after the first C-compiler was made. After that C was always written in either C or C++). C# IS another RAD programming language. It uses pure Object-Oriented constructs like classes, structs, interfaces, and generics. It also includes object-based querying using Linq (a Microsoft technology), and has the ability to interface with dynamic languages in a more pure method.

So my advice is, learn C#. There are so many reasons why, and I'll give you a couple more here. 1) It's free -- Microsoft offers Visual Studio .NET Express to get you off your feet, and you can use it for commercial products. 2) It is an ECMA standard, so no matter what, C# will not come in different flavors. 3) C# teaches good programming practices and lets you learn as you go. You will learn how to abstract objects better and better as you learn C#. Each time you write a program you'll find better and different ways to program and solve problems. 4) C# includes a full graphics, TCP, IO, and many other APIs natively. That's a good enough reason for me to use it, because that means you'll never be missing anything from your libraries.

-- Wed Jan 14, 2009 10:02 am --

vladiftodi wrote:Thanks for your post
One thing that i found hard is to decide what to program
I seem to be out of ideas...
and except some HTS chalanges and some minor stuff and the exercices at univercity I am still kinda stuck...
Not that I don't have ideas and I know you (who reads this) will say that you can do what you want but still I somehow lack direction...


It is often the case that I find it difficult to come up with my own ideas for a program as well. Recently I have thrown back to my days as a tool programmer (when I was very young). Many years ago I programmed text-based tools that helped me to do things at home more quickly and more efficiently. One such program was a tool used to strip the attributes from a file, because it was often the case that file attributes would be redundantly applied so that it was impossible to change them. Most recently I programmed a text-based calculator because I wanted to have something with a low profile that I could see the entire formula on before I pressed Enter. Usually when I write programs, I write them to solve a problem or to make one of my tasks more efficient. Another program that I've developed allows you to extract information from a web page. Once again this is a text-based tool. At work I use it often to test our web site, especially when I don't need a web browser to do it. It has a low profile, and it is very efficient.

You might start at what your interests are. For example are you interested in music, math, science, electronics, history, geneology, writing, cryptography, or collecting? Any of these hobbies could be the start of a programming project. Let's say you have a large collection of DVDs and you let people borrow them often. You probably want to keep track of who borrowed your DVD and then make sure you get it back. In this case you might write a library program to keep track of this information. Or let's say that you enjoy history, but you have a difficult time remembering details, then you could write a program in which you could store historical information, and use it to test yourself periodically, or even just to have information on hand when somebody wants to know something. If you're interested in math, then you might write a calculator to help you with algebra or even calculus. Whatever you do, you should try to make something that makes your life simpler in some way.
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by bradd512 on Sat Jan 17, 2009 10:47 pm
([msg=16483]see Re: Who Wants To Learn How To Program?[/msg])

How can you mix website exploiting with C# or C++?
bradd512
New User
New User
 
Posts: 31
Joined: Wed Jan 07, 2009 11:05 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by War_Archer on Fri Feb 06, 2009 3:02 pm
([msg=17468]see Re: Who Wants To Learn How To Program?[/msg])

I learned C and i m currently learning java in high school. but i dont see how I can integrate my programming with hacking websites.
War_Archer
New User
New User
 
Posts: 4
Joined: Thu Jun 26, 2008 10:09 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by Karec on Wed Feb 11, 2009 9:01 am
([msg=17676]see Re: Who Wants To Learn How To Program?[/msg])

nathandelane, I actually think this is a really good and informative topic and i'm going to do something I don't frequently do and sticky it.

If I have any advice for people learning how to program though is:
1. Before you even start typing your program out have a good design. Pointers, linked lists, big databases, et cetera become much easier if you are not rushing in blindly.
2. When you write a program make sure you know what each part of it does and is well documented. It is rather pointless if you can't look back a month or more later and figure out what your program does or why it works.
3. Just like anything in life practice, practice and more practice. Coding is very similar to dancing or learning an instrument, in the way that it takes time to get decent at it and there are certain mistakes you have to make a few times to learn to avoid them. (Oh, how you will learn to despise mistyping your variables or forgetting semi colons.)
"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning."
-Rick Cook, The Wizardry Compiled
Karec
Poster
Poster
 
Posts: 127
Joined: Sun Apr 13, 2008 2:39 pm
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by LordNando on Wed Feb 11, 2009 10:11 am
([msg=17679]see Re: Who Wants To Learn How To Program?[/msg])

im new to programing but i use byond to practice and get better B.uild Y.our O.wn N.et D.ream is a site where u can create ur own game and play it and others can play it too try it out it really helps me try it for urself www.byond.com
LordNando
New User
New User
 
Posts: 1
Joined: Wed Feb 11, 2009 9:59 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by nathandelane on Wed Feb 11, 2009 10:50 am
([msg=17682]see Re: Who Wants To Learn How To Program?[/msg])

bradd512 wrote:How can you mix website exploiting with C# or C++?


War_Archer wrote:I learned C and I'm currently learning Java in high school. but i don't see how I can integrate my programming with hacking websites.


Since both of your questions are similar, I am going to attempt to answer both of your questions in a similar way, and in the same post. I don't really know that I have discussed it here much, but in the past I have discussed my utility testing and automation program named HttpAnalyzer. I created HttpAnalyzer to quickly analyze otherwise hidden problems with websites. I also created it to be used as a simple HTTP automation tool, and though it has not fully matured to that goal, it strives to be such. At work I use it for mundane tasks that often take way more effort than is necessary when done via a browser such as Internet Explorer or Firefox.

Since I wrote this utility and continue to make it better, I have learned a lot about the HTTP protocol, which is what the Internet (the web part anyway) is run on. Since web pages use HTTP, it becomes necessary to learn about it if you are ever to learn how to exploit it.

Now to the actual questions, both of you are basically asking, "How do I use [programming language] X to hack websites". Well two of the languages that you mentioned supply Internet frameworks. Java supplies it in the package java.net (as in import java.net.*;) and C# supplies it in the namespace System.Net (as in using System.Net;). I use the System.Net namespace in HttpAnalyzer to retrieve web pages from the Internet. So you could use X to investigate web sites at the HTML level, or even at the header or cookie level (sure you could use a browser, but there may be more to be seen than a browser will supply). There has also been a lot of recent work to make use of packet capturing in high level languages. In *NIX and on Windows there are two libraries/drivers that help to accomplish this task, namely libpcap and WinPcap, respectively. Although these out of necessity are written in native C++, you can wrap them in both Java (jNetPcap) and C# (SharpPcap) (as in the two examples I provided), which would enable you to write programs using Java and C# to capture and send custom network packets. This could also enable you to hack websites.

I hope that this helps you each out a little.

Nathan

-- Wed Feb 11, 2009 8:57 am --

Karec wrote:If I have any advice for people learning how to program though is:
1. Before you even start typing your program out have a good design. Pointers, linked lists, big databases, et cetera become much easier if you are not rushing in blindly.
2. When you write a program make sure you know what each part of it does and is well documented. It is rather pointless if you can't look back a month or more later and figure out what your program does or why it works.
3. Just like anything in life practice, practice and more practice. Coding is very similar to dancing or learning an instrument, in the way that it takes time to get decent at it and there are certain mistakes you have to make a few times to learn to avoid them. (Oh, how you will learn to despise mistyping your variables or forgetting semi colons.)


Karec, this is some great advice. Thanks for your addition to this thread. I echo this advice to everyone learning and already learned at programming. I have found this same advice to be sound and extremely helpful whether writing a small utility, a use-once program, or something that will be utilized at a larger scale.

Thanks.

Nathan
Me, Nathandelane, Highly influential to Hackerdom, Premature Optimization=http://c2.com/cgi/wiki?PrematureOptimization
User avatar
nathandelane
Poster
Poster
 
Posts: 204
Joined: Thu Jun 26, 2008 11:26 am
Location: Utah
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by Yosh on Wed Feb 11, 2009 11:28 am
([msg=17683]see Re: Who Wants To Learn How To Program?[/msg])

Hey everyone, I'd first like to say great post and thank you for addressing this issue. I am by no means anything more than a noob when it comes to hacking and I've been dabbling for years. To all those out noobs like myself out there just remember there is no fast track to becoming a hacker and if you're not interested in learning and problem solving then you need to find a new hobby.

That being said I'd like some advice. I have some very minimal knowledge of programming and have enjoyed the programming that I've done in the past. However I have always just played around with different languages Java, C++, Python, PHP never really becoming proficient in any of them. I enjoy learning and figuring things out, I solved programming mission 1 ussing PHP which I had no prior knowledge of and just used online tutorials and ebooks to write my own code.

Any suggestions on a good language to really target or should I just pick one and stick to it?

Also any suggested reading? Sometimes it hard to choose a good book cause there are so many to choose from.
Yosh
New User
New User
 
Posts: 2
Joined: Wed Feb 11, 2009 10:56 am
Blog: View Blog (0)


Re: Who Wants To Learn How To Program?

Post by xcurious on Sun Feb 15, 2009 8:02 am
([msg=17937]see Re: Who Wants To Learn How To Program?[/msg])

learn C, the internet is your library of books or go pick up K&R
- Apologies to all who I have flamed in the past. Thanks mods for unbanning me.


ckw100 wrote:so i have been pacticeing my batch file hacking for networks
xcurious
Experienced User
Experienced User
 
Posts: 79
Joined: Sun Sep 21, 2008 3:49 pm
Blog: View Blog (0)


PreviousNext

Return to Programming

Who is online

Users browsing this forum: No registered users and 0 guests

cron