Jread,
Chill fella you are most definitely *NOT* alone, it's like that for heaps of us. Sometimes I convince myself I'm in completely the wrong job and a total programming fake (usually after looking at an object model like yours he he) I only have the vaguest idea what a hash table is myself, but i'm not worried I know I can find out all about it one day.
You do have to be aware of the low level stuff, there are a million layers of flakey abstraction between the bits floating around in the hardware and your high level OOP code. It is a steep learning curve but stick with it you will get a little further each day. You will have days -weeks even - when you will feel you have achieved nothing....
Oh I'm getting kicked out of the office I'll do more tomorrow.
hollystyles
Veteran Poster
1,182 posts since Feb 2005
Reputation Points: 262
Solved Threads: 68
>I'm thinking that the learning curve for this stuff is a lot higher than I expected
That's very likely.
>I feel like I should be able to just jump right in
After a couple of years of learning you can jump right in and still be overwhelmed. There's really no such thing as a comfort zone when it comes to real world programming. ;)
Narue
Bad Cop
15,460 posts since Sep 2004
Reputation Points: 6,464
Solved Threads: 1,401
And I'm exceedingly curious as to whether you got permission to make public internal company documents, and what the penalty to you would be if you don't have such permission and your boss found out...
jwenting
duckman
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
I recently got hired as a .NET programmer and compared to C++ and Java, it's like a walk in the park. .NET languages are extremelly easy, in my opinion. If I can do it, anyone can do it. You just have to personally want to make it as a programmer.
server_crash
Postaholic
2,111 posts since Jun 2004
Reputation Points: 113
Solved Threads: 20
If you're just starting out then don't go for .NET right away and stay away from tools that will make you lazy until you actually get a good feel for doing it without the added cushion.
server_crash
Postaholic
2,111 posts since Jun 2004
Reputation Points: 113
Solved Threads: 20
IDE's where you can just drag n drop controls on a form type stuff like VIsual Studio. The're great but they hide stuff, it takes care of all the boring crap like include paths and compiler optimisation switches, and generates code in the background. It's not a problem if you know what it's hiding, but if you don't the day it lets you down you're gonna be stuffed. That's why so many people recommend starting with C or C++ because you learn about bits and compilers and how memory is laid out and important stuff like that, so then when you go for the big tools and a freek mouse accident somehow wipes out your classpath you know why the darn thing refuses to build and you can straighten it out.
hollystyles
Veteran Poster
1,182 posts since Feb 2005
Reputation Points: 262
Solved Threads: 68
Well I'd argue there is no easy way out. It's not about learning Python, or learning C++ or java or whatever, that's the easy bit it's just syntax it doesn't make you a programmer. I can speek English, but that doesn't make me a poet, to be a poet I need to understand what makes the language what it is: nouns, verbs, adjectives. And then the techniques of rhyme, stanza etc... These are the key. So don't fret about programming languages when starting, just pick one and get going.
It's like I can scrawl a load of words on a page easy peasy, but getting a good grade from my teacher is a bit more tricky.
I can type a load of correct syntax in a source file, but getting a good grade from my compiler/interpreter is a bit more tricky.
See what I'm saying?
hollystyles
Veteran Poster
1,182 posts since Feb 2005
Reputation Points: 262
Solved Threads: 68
If you're just starting out then don't go for .NET right away and stay away from tools that will make you lazy until you actually get a good feel for doing it without the added cushion.
I'd have to disagree here.
You could most certainly use a .NET language (C#/VB.NET/C++) andnot use Visual Studio. In fact, I could fire up Notepad, write some C# code, save the file as myprogram.cs, and then feed it to csc.exe. and compile it into an executable form. If you want to learn the nitty-gritty of the language's syntax, you can do it without Visual Studio.
In that respect, it's not that different from say, learning C in a text editor and then compiling using gcc. In my opinion, though, using an IDE like Visual Studio when learning can yield a great benefit-- rather than focusing on the syntax so heavily, you could then focus on learning fundamental object oriented programming concepts. Such concepts illustrate the power of languages like C#,VB.NET, and Java, but many new programmers don't utilize the features, because they feel they're too difficult to grasp.
alc6379
Cookie... That's it
2,820 posts since Dec 2003
Reputation Points: 186
Solved Threads: 147
I wasn't just referring to the Editor when I said stay away from .NET from the get go. The general syntax and way of doing things is just way to easy and gives the misconception that all languages are that easy and will make you lazy... Doesn't work that way for everyone, but I've seen it happen too often.
server_crash
Postaholic
2,111 posts since Jun 2004
Reputation Points: 113
Solved Threads: 20
rather than focusing on the syntax so heavily, you could then focus on learning fundamental object oriented programming concepts.
Sadly for most people it ends up not learning the syntax but instead learning where all the buttons and wizards are located to generate code for them and then crying like babies when they end up having to write some code by hand because they don't know how.
jwenting
duckman
8,392 posts since Nov 2004
Reputation Points: 1,662
Solved Threads: 337
I cannot advise amongst courses as I have never done a computer science degree of any kind, I studied business and wish I hadn't. Here's some general advice you can take or leave.
Don't do the course you think you should do, do the one that most interests you, you are more likely to do well in it.
At degree level it is not SO important which one you do obviously it depends on your future plans somewhat, but they should also be aimed at what interests you, because again you are more likely to excel.
A GOOD grade is whats important and the quality of the college/university where you get it. Learning to teach yourself new things by researching and reading and experimenting are the main assets you take away with you from a degree course and are the skills you will use most in life thereafter. (as well as how to cook he he..)
hollystyles
Veteran Poster
1,182 posts since Feb 2005
Reputation Points: 262
Solved Threads: 68
I wasn't just referring to the Editor when I said stay away from .NET from the get go. The general syntax and way of doing things is just way to easy and gives the misconception that all languages are that easy and will make you lazy... Doesn't work that way for everyone, but I've seen it happen too often.
Don't take this like I'm drilling you or anything, but can you please cite a specific example of the phenomena you're describing? Some main differences I've seen is a lack of required garbage collection, and the fact that the .NET framework allows you to write modules in one .NET language usable in another .NET language. C# is really similar to Java, and it's notthat far off from C++ . In fact, the syntax is not all that different from Perl or PHP. If you can understand VB.NET, you could probably understand Python fairly well, or even Ruby.
I don't entirely think that the choice of language makes someone "lazy", neccesarily. I like the fact that I don't have to fool around with garbage collection, for instance-- that allows me to focus more on my programming logic, and not mundane housekeeping. What "way of doing things" makes a .NET language any different from another non-.NET language?
I'm genuinely curious. If anyone else wants to weigh in, I'd be really glad to hear. I'm open to any feedback that's presented.
alc6379
Cookie... That's it
2,820 posts since Dec 2003
Reputation Points: 186
Solved Threads: 147