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.