ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Main Area and Open Discussion > Living Room

I'm thinking about learning how to program.

<< < (15/16) > >>

MilesAhead:
^ We can agree on that!  ;)
-wraith808 (November 04, 2010, 07:25 PM)
--- End quote ---

:)

CodeTRUCKER:
superboyac,

I have had a chance to gauge you on and off the main forum and I am confident you'll produce the same quality result you do in everything else I've seen.  Your drive, zeal, and intelligence will see you through.  May I be so bold as to offer this simple strategy...


* <1> Select your language.
* <2> If this is not something you have to do for work, make a commitment to stay with your choice for...

* One year if your involvement is major.
* Two Years if your involvement is minor.
* <3> After you have fulfilled the requirements of step <2> above, you will have enough perspective (wisdom) to judge what would really be "The Best" language for "You!"
I speak as one who failed to follow this simple advice and ended up chasing so many rabbits... well, I'd rather spare you that experience.  

The good news is you have a lot more going for you, so I am confident of your success!

Ciao!

Renegade:
This is very Microsoft-centric, but is still probably the best resource on the Internet for programming. (If anyone knows of anything better, I'd LOVE to see it.)

The Code Project

I say that it's the best resource because it's simply FULL of open source software projects with complete tutorials. Some are more complex than others, and some have problems, but still, there are just so many there that it would be difficult for you to imagine something that there isn't at least a partial solution for it there, or a related solution.

There are articles there for C#, VB.NET, F#, iPhone, Android, C++, LAMP, Java, and a lot more. There are desktop, server, web and mobile tutorials. Everything.

You will be very hard pressed to find a better source for learning. Especially if you like to learn through examples.

I've found that examples are almost 100% necessary for a lot of SDKs and APIs. Often they are so complex, and so convoluted, that unless you spend several weeks learning them inside out (for the smaller ones -- years for larger ones), there's no way for you to possible begin to use them. Even relatively simple things can be nearly impossible to do unless you are shown how to do it.

Here's an example.

Imagine you need to create a list. A very long list. It doesn't matter what it is, but let's just say that we're creating a list of phone numbers and people's names. The format is really unimportant, but let's just say we follow this format:

<Last name>, <First name>, <phone number>

Simple comma delimited, and very easy to handle.

Now, the list will be 1 person per line like this:

Doe, John, 123-4567
Doe, Jane, 987-6543
Smith, Jake, 456-7890
etc.

Now, in C# (.NET or Mono), you can create a string to hold the list like this:

string myList;

You can create an entry like this:

string last;
string first;
string phone;
string line = last + ", " + first + ", " + phone;

So, there you have a "line" that you can add to "myList".

So, you can add a person to the list like this:

myList = myList + line + "\r\n";

"\r\n" is for a new line.

So, that's all pretty easy.

However, if your list is long like first mentioned, you just cannot do things that way. It will NOT work. Sure, the logic is perfect, and theoretically it *can* work, but it won't for practical reasons: the time it takes is too long.

Instead, you need to use a StringBuilder:

StringBuilder sb = new StringBuilder();

And you would add people like this:

sb.AddLine(line);

That will increase performance and your long list will work.

When you are done adding people, you simple get the list like this:

string finalList = sb.ToString();

So the *REAL* problem isn't *the problem* (creating a long list), the real problem is that there is a special way to do it that nobody ever told you about... Yuck.

There are SOOOOO many special tools out there that it's almost impossible to know them all.

Sure, you *could* do it in C. Heck, you can do anything in C. For that matter, you could do it in assembly language too. However, as a human being, you have a limited lifespan, and will likely die before you manage to finish getting anything useful done in either C or assembler. So you're stuck with using a much higher level language that has a lot of arbitrary ways of doing things that you simply cannot know beforehand, unlike C or assembler that have a very small set of functionality that you can exhaustively know.

With things like The Code Project, you can get all those examples that show you how to get things done. It's just so much faster and easier if you can see it done rather than having to figure it all out yourself.

CodeTRUCKER:
...
With things like The Code Project, you can get all those examples that show you how to get things done. It's just so much faster and easier if you can see it done rather than having to figure it all out yourself.
-Renegade (November 06, 2010, 06:39 PM)
--- End quote ---

Yup, that looks like a very comprehensive resource.  Maybe it is just me, but I am always somewhat hesitant to embrace the "easy" path.  It's not that I want to follow the "hard" path, but I wonder if "ready-made" cut-and-paste is the best learning experience. 

Maybe I'm just becoming a dinosaur?

MilesAhead:
+1 for Code Project.  One of the few places you can actually find working code for drawing on Glass in c++/c#. If you do find it somewhere else chances are pretty good it's using the Code Project code wrapped in a class. :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version