Coding, Programming, Nerdism

PHP, HTML, XHTML, JAVA, PERL, BASIC, QBASIC, tiny bit of C / C++

Personally I like coding in HTML, PERL, and PHP the most because I know those the best..

Programming has always been fun and kinda relaxing for me. Just sit down, blare the iTunes on random.. and go to town..

-P
 
@TheDriller, Knuth is a great writer, I also recommend his Concrete Mathematics. That should really be absorbed before attempting The Art of Computer Programming. But to get the max out of them all, you really need to treat them as what they essentially are, Mathematics instruction. You need to solve, or at least attempt every problem in there. Actually attempting every single on of his exercises could easily chew away the better part of a decade. The man is a notorious completist and The Art of Computer Programming will, almost certainly, never be finished.
 
I don't get all the OOP hate. It's really not hard to understand (you just have to visualize it properly, or just get someone to explain it to you in a decent way). Objects and classes were invented to represent real world concepts and high level programming lets you straight up code stuff and you don't really have to think about it, you just make it do what it's supposed to do. I absolutely can't stand fucking around with low level shit like memory management and bullshit like that. Car->run() and the fucking car runs. That's it.

Been learning Perl lately, it's pretty cool but VERY different, coming from C++ and Java.

Coming from a procedural AND low-level hardware background, I've had a bitch of a time getting my head around to Java and OOP in my job :erk:

I always keep returning to the idea with the aforementioned Car->run() concept, that "yes I can call that method, but where is the actual code that the method runs?" :lol:

And code reuse also. I don't see the problem of calling the same function with different parameters :erk: At least I get to see the code, instead of just (to me unfathomably difficult to compute due to the simplicity) something like:

BackgroundMonitoring monitor = new BackgroundMonitoring();
ConnectionTestVO test = monitor.testConnection;

And when you open those methods, they seem to refer to themselves in a baffling loop-like circle jerk of circular references with no actual code :erk: it works, but don't even ask me how...

I am more accustomed to something (simplified BS example) like:

// Lcd limit 16 chars
writeToLCD(0, 0, "Text on screen");

writeToLCD(unsigned int row, unsigned int position, string text) {

for(i=0;i<16;i++) {

char = getChar(text);
SPDR = char; // write char to data register
PORTB = 0xFF; // flash light on received char

}
}

To me that is much easier to understand and update than the Java example, heh heh :lol:
 
Yeah, when you do it wrong OOP can be one big giant carpet that you hide side effects under. :) When you do it right it can be blissful to be oblivious of the functions implementation.

Btw. I'm programming in c++ for a living. I love that old obfuscating fucker. We are using Qt framework for all the UI - it makes c++ lass painful.

Other than that, I touched a lot of languages: procedural, object oriented, logical, functional... computer geek for life.
 
I think it's very good.

Pros:
- it's not just gui library it a framework for writing applications
- portable
- deals with some problems of c++ and makes it lot nicer language to work with

Cons:
- development started looong time and they still don't use some of modern c++ stuff, no templates, no exceptions, no boost...
- needs precompilation with their qmake tool

But if you don't mind some design decisions and want your work to be done good and easy just grab Qt and their Qt Creator (I love this IDE even more than Qt it self) and enjoy.

It totally beats java's swing and that's the thing that c++ needed badly.
 
It's not that they not support, they just don't use them in their framework so you won't get the exceptions from the operation that can fails. So if you want to use exceptions to deal with bad input and such things you have to check if the call to a certain function is successful and throw the exception yourself if it isn't successful. So not a deal breaker, but might be convenient if they used exception... on the other hand some people don't use exception in c++ at all and would be annoyed if Qt would throw... :)

If Qt is good enough for Maya, Opera and Skype than it's good enough for me.
 
I've been considering trying to teach myself programming/coding for a while now and reading this thread has kinda pushed me towards it even more...any of you guys know of any websites/books/whatevers that would be a good starting point for a complete beginner? For all I know I might get too frustrated and end up smashing my computer within the week but hey, thought I would at least give it a try.

Btw I did think of googling 'programming for beginners' but seeing as I have no idea where to start I'm not sure what sites are good or not...any help at all will be appreciated though :D
 
I've been considering trying to teach myself programming/coding for a while now and reading this thread has kinda pushed me towards it even more...any of you guys know of any websites/books/whatevers that would be a good starting point for a complete beginner? For all I know I might get too frustrated and end up smashing my computer within the week but hey, thought I would at least give it a try.

Btw I did think of googling 'programming for beginners' but seeing as I have no idea where to start I'm not sure what sites are good or not...any help at all will be appreciated though :D

The book I used to get into programming was "Sams Teach Yourself C++", worked brilliantly for me as an intro to programming. Especially considering it's sectioned into 24 1 hour lessons, making it convenient to pick up :)

The one I have: [ame]http://www.amazon.co.uk/Sams-Teach-Yourself-24-Hours/dp/0672326817/ref=sr_1_1?ie=UTF8&qid=1306605525&sr=8-1[/ame]

The new one: [ame]http://www.amazon.co.uk/Sams-Teach-Yourself-One-Hour/dp/0672329417/ref=sr_1_2?ie=UTF8&qid=1306605561&sr=8-2[/ame]

Hope that helps.
 
You could start with downloading the free visual studio express from microsoft. They also have plenty of tutorials on their site to get you started. Following those beginner tutorials is good as you have instant success and don't loose the will to live after the first chapter.
 
Aye, the "Sams Teach Yourself X in Y days" books are cool,
personally their Java 6 book was a real breakthrough for me, as I found the code examples were pretty easy to follow and the book was laid out in a nice logical way.
Also, you get the gratification of writing relatively useful programs quickly.

Another one i'd recommend is "Head First Design Patterns", the code examples are in Java but the content can be applied to C++ easily and it's not really about any single language.
It's a great book for teaching yourself some of the bigger ideas in software construction and how to do cool things that the basic tutorial books wouldn't show you.

Another essential read is "Coders At Work", it's a series of interviews with legendary programmers, giving some deep and profound insights into the whole "culture" of programming.

EDIT: learn to love the frustration. there is really no way around it, you've just got to plough through and have faith that it'll all make sense tomorrow. My advice is to do at least an hour of learning every day (and i mean, literally every day) no matter how frustrating it is.
By doing an hour a day I went from "holy shit i hate this stuff" to "this is awesome!" very quickly.
 
Thanks guys, will check out those books when I can. For now I downloaded visual express like suggested because its free and instantly available ;) hopefully it will be a good starting point.

And driller don't worry, I reckon the frustration will be a driving motivation for me until I get to a decent level...worked with me and guitar anyways, they're pretty similar right?

Thanks again for all the advice dudes
 
And driller don't worry, I reckon the frustration will be a driving motivation for me until I get to a decent level...worked with me and guitar anyways, they're pretty similar right?

Thanks again for all the advice dudes

Yeah that's basically it,
For me personally, learning to program was exactly like learning guitar, very frustrating in the beginning but oh so satisfying to make progress.

If you do an hour every day then you'll make progress every day and it should snowball from there.soon you'll be finding yourself daydreaming about code and scribbling pseudo-code on bits of paper throughout the day.

If you're capable of learning an instrument, you're easily capable of learning to program.
 
I'd ween myself off Qt right the fuck now if I were you.

Not to burst your bubble but a lot of that stuff is from Nokia that just went Microsoft. And honestly, MeeGo was always a piece of shit.

Then again, Swing made me hate Java forever. What a shitty fucking framework.
 
I'd ween myself off Qt right the fuck now if I were you.

Not to burst your bubble but a lot of that stuff is from Nokia that just went Microsoft. And honestly, MeeGo was always a piece of shit.

Then again, Swing made me hate Java forever. What a shitty fucking framework.

Ah swing is fucking awful alright.

Im just liking that Qt will give a nice framework in which to learn C++ and get nice looking results, as i have 0 interest in just writing gammy command-line programs all day. out of interest, what other graphic libraries are in wide use these days?

surely there is something agreeable out there that's handy to use?
 
For Java I wouldn't know mate...I just follow Slashdot obsessively (and I recommend you do too as a developer/science geek...http://www.slashdot.org) and there was a not very promissing discussion on the future of Qt recently :(