Yeah so I've taken a few c++ classes at college, up to data structures. But just because I know how to write a bs-tree doesn't mean im an EXPERT PROGRAMMER just yet. The most complicated program I've written so far is one that solves the Towers of Hanoi by brute force. I still consider myself a beginner-level programmer.
Does anyone have any tips on how to improve my skill? Like a large one-man project that will teach me how to write & manage larger programs? Whenever I got the book store and look at the programming sections everything is either TEACH YOURSELF JAVA IN 24 HOURS or like START C++ FOR THE MENTALLY RETARDED. Everything is aimed at beginners but I want to move on.
protips?
Name:
Anonymous2007-04-27 12:05 ID:LRJ3rG5H
>>1
write a tower of hanoi solver in 4 lines of code and you are no longer a beginner.
(protip: use lisp)
Name:
Anonymous2007-04-27 12:06 ID:+K6aiPIn
1. Stop using C++
2. Forget everything you think you knew about programming
3. Read SICP
4. Learn Haskell
5. Learn C
In that order? Impossible. Your brain would not cooperate after you had seen the magnificence of Haskell.
Name:
Anonymous2007-04-27 13:13 ID:LRJ3rG5H
1. Stop using C++
2. Forget everything you think you knew about programming
3. Hit your head against a brick wall
4. Sniff lots glue
5. Take lots of class A drugs/chemicals
6. Take LCD one day
7. Learn lisp
Name:
Anonymous2007-04-27 13:22 ID:+K6aiPIn
>>4
You would then perfectly know when not to use C.
Name:
Anonymous2007-04-27 13:34 ID:2Iul6txa
>>1
Read about pointers, memory management and read about exploitation of the C code.
Then go low level and learn some ASM, then learn some libraries and there you go, you are no longer a beginner
Oh, and read Stroustrups book, or K&R.
Name:
Anonymous2007-04-27 13:36 ID:ZRlJk9QF
The best way to stop being a beginner is to write software.
Name:
Anonymous2007-04-27 13:37 ID:7crOpEWf
>>Read about pointers, memory management and weep
fixed
Name:
Anonymous2007-04-27 13:40 ID:iCi5cjHH
Are you trying to become a programmer professionally or you do want to learn programming for something personal? If its the latter you probably have an idea of what you'd like to use programing for (like making games, or making apps, or using it for math/science...). Whatever it is you should try to gradually work towards that goal. A very easy and important thing you could be doing right now is to keep amassing general knowledge about your language, e.g.:
-read everything in your programming textbook that you didn't cover
-search online for references, tutorials, FAQs and lists of 'gotchas'
-find more advanced books about your language
>> 10 amassing general knowledge about your language
`YOUR LANGUAGE'? You sick fucks, do you seriously just decide that C++ is `your language' and stay with it against all odds?
>>2
We wrote it recursively first, then did it the hard way to learn about and test stacks/queues/lists.
>>10
It is indeed my goal to one day be a professional programmer. Yes I have been reading up on my book and a few things on the net, but what I have a problem with is implementing my knowledge. In class the teacher gives us a problem that is designed to demonstrate something we learned but i've taken all the programming classes and still don't feel like I could write a real application because so far all i've written is tiny driver programs to show that i correctly wrote a tree and things like that.
really what im looking for is an intermediate-level project that will allow me to use what i know in a meaningful way. I feel that the vast majority of resources out there are for people who are new to programming and I feel like they no longer apply to me.
I used C++ as an example in my post because I have used that most recently but I have also been tought perl and PHP with MySQL.
Name:
Anonymous2007-04-27 17:03 ID:vAS5q9Z7
My goal is to be a MASTER PROGRAMMER that doesn't even have to write code , just thinking of it makes it work.
Try doing something like writing a relatively simple game or application. Come up with the idea of your mid-level project (make it something you want to do) and we can pitch in if you don't know how to start or what tools you'll need.
Name:
Anonymous2007-04-27 21:59 ID:hlouyuQ9
>>15 we can pitch in
You think /prog/ will actually give him helpful feedback?
Design a little language, and make a bytecode interpreter and a debugger for it. It's more interesting and requires more planning than something like, I dunno, a text editor or a one-screen game.
Name:
Anonymous2007-05-05 14:07 ID:cD7H/wOH
The only way to become an expert programmer is to kill an expert programmer, or be born as one.
>>34
Killing an EXPERT PROGRAMMER? I would advise against that; killing EXPERT PROGRAMMERs only pisses them off more, and when struck down they will become more powerful than you could possibly imagine.
Name:
Anonymous2007-05-06 18:19 ID:3nVRcIU3
>>1
What do you do for a living? I work in IT as a PC technician and find that the best way to improve is to write small applications for things I do repeatedly. Unfortunately they're mostly in HTML with sprinkles of Javascript, or pure Java, or small and mostly edited VBS from the web.
Till I saw your MYSQL comment, I would have suggested (for C++ improvement) at most to look at other open source code, like that of a NES emulator, picking the smallest one for simplicity. Specially if it's built by a single person.
The issue becomes "switch from DOS C++ into real world C++ with QT, MFC or whatever, so that you can get hired?" That is hard to answer. I myself am trying to learn the win32 API, but it really sucks. That would be too advanced. Instead, try to work on customizing small online C++ utilities with things you need. You'll see that most stuff has dependencies on MFC or VCL. You'll then go back to C++ and just try and work with the standard template library, which IS worth your while (learn the basic syntax and using Vectors and Lists... coders don't even use their sorting and hashing much in their code)
More importantly, try and revisit C++ assignments or help people a bit, by implementing their homework on your own after you give them ideas. In PHP you can play with by installing a MYSQL server and making a little database of work issues you're working on, or your own bookshelf inventory. The bookshelf inventory is a good idea for C++ code too, but you just have to teach yourself strings --nightmare... YOU MUST LEARN the <cstring> stuff and how to stay away from buggy char* code.
Sorry not to be too helpful, because you'll have to make the leap into QT or something intermediate that uses C++ and hides the pain from you.
Real men put Tabasco Sauce on everything. My brother, and some of my friends are Tabasco hating wimps (these are the same jerks that don't like onions with their food... I know, I'm not proud of it). Anyway, for those of you that don't know (because you're communists), Tabasco Sauce is a hot sauce made of red capsicum peppers, salt and vinegar.
The peppers are crushed, put in jars with vinegar and salt for a month or so, and then stirred for about another month or so. The result? A kickass sauce to put on anything. Here is what I suggest putting Tabasco sauce on:
# Everything
Tabasco sauce goes best with everything, and plenty of it. If you happen to be sharing a meal with a Tabasco hating pussy, be sure to load it up with Tabasco and onions (they hate that). You have to be real stern with these type of people. You have to act real tough and manly around them so they feel intimidated, and it helps you feel better about yourself. If they start to bitch and moan about you being "too mean", tell them you're insecure about yourself, and that making fun of others makes you feel better. Then when they're feeling sympathy for you, strike again! Suckers.
Name:
Anonymous2007-05-06 20:36 ID:3nVRcIU3
>>37
*sigh*
Segmentation faults and and garbage at the end of poorly allocated char* C-strings. Adding strings to other strings, which is as old as 1960's BASIC itself, is one of the most unmanageable chores for any beginner programmer faces in C/C++.
Schools don't teach you the pitfalls of char arrays, and I'm just trying to help a guy out, so they won't waste as much time chasing crashes and bugs
Name:
Anonymous2007-05-06 21:02 ID:3nVRcIU3
>>39
Speaking of which, here's a neat way of adding ints to strings and strings to strings, though you better know in advance and allocate enough char array size. With char strings, you waste useful room and time calculating and recreating strings. If you then create or use a class, you still must convert to char arrays or the native C function calls won't accept your code.
#include <stdio.h>
int main()
{
int i = 8;
char buffer[300] = {0};
sprintf(buffer, "%s, %d", "String placed in percent s, 'i' placed in percent d", i);
printf("%s", buffer);
}