So, I got a degree in Computer Science and did a lot of C# .NET programming. Have dabbled with C++ quite a bit over the years; but its really hard so I fail to get anywhere. But, I have a super complex brain issue when it comes to programming. I ended up doing computer networking because when I got out of college, I couldn't program on a professional level. My school was accelerated and kinda blew me away but I somehow managed to graduate. I went to Neumont University.
Anyway, its the algorithms that kill me. I know so much about programming and yet cant write anything. I mean I wrote a C# subnet calculator and various things in college, but when it comes to Linked Lists, B-Trees, Queses, Stacks, Towers of Hanoi, the Eight Queens, Traveling sales man and the Maze; I was dead in the water and simply could not do it. So this make me believe I am not smart enough to be a C++ programmer, which snow balls me into thinking "just keep doing it" will amount to nothing, so I don't code. Which is frustrating, because I want to, I want to make my Subnet calculator in C++, maybe make tic tac toe in C++.NET stuff like that. But I start up Visual Studio and then....I just get discouraged; its like my brain just shuts down. I wonder if it because I didn't get enough math.
So my question is this; the first people to ever write all the algorithms I mentioned, like Link-lists, Q-Sort, B-tree, stack, etc...those guys who actually did it, with no reference, nothing to fall back on because no one in the world has yet written those algorithms. Was it easy it for them? Or did blood sweat and tears go into first developing those difficult algorithms? Or was it like.."Oh yeah, just do this and that and wham!....B-Tree!, No problemo". I wonder. Did geniuses just sit down and whip them out, or did years of the first computer programmers slave to finally get a working solution.
And if your wondering how the hell I graduated college if I can't whip out a reversed link list in 5 seconds, they just held my hand basically did it for me and passed me with a C in algorithms. They just wanted me out of there.
I don't think ir took a genius to come up with linked lists (and I seriously doubt they can be traced back to a single person).
Anyways: Most of these data structures/algorithms didn't just spontaneously materialize in someones head. They were were made by people who had to solve problems within constraints. Most of these data structures weren't actively sought for, they usually ended up as side products to these solutions.
They just wanted me out of there.
Yeah, apparently that attitude is why people don't trust college graduation to mean anything anymore.
(PS: Funny thing about N-queens is that it shows just how simple and short a brute force approach can be. My Haskell solution consisted of 5-6 LOC IIRC).