My experiences with a 2,000,000 lines of code C++ server project (in winNT):
1) ALLWAYS use SmartPointers unless you have a compelling reason to not use them.
2) Memory leaks are going to be your biggest problem, see rule number 1.
3) Use ASSERT like crazy...everywhere, if you are expecting some valid imput in a method, make sure it's explicilty stated with an ASSERT. ASSERT is the best way to catch an error on the spot.
4) Make the compiler generate debug symbols in release as a separate file, you WILL find bugs that only happen in RELEASE versions.
5) Use boundschecker to debug memory problems.
7) Don't use catch(...) on any other place than your main function...if you need to, rethrow the exception and let the debugger catch it. Never catch an exception that you don't know how to handle on the current scope.
6) Make your code exception safe, it's the only way to deal with memory exhaustion problems(http://www.relisoft.com/book/tech/5resour ce.html).
7) If you are using multiple threads and a large number of locks, use smartlocks, otherwise you will have deadlocks (it's painful but does pay off).
8) If you application is multithreaded, use a static locking order, otherwise you will have deadlocks.
9) NEVER, NEVER, NEVER create your own collections or strings, use STL.
10) If you use Visual C++ and STL, make sure you replace the source files with the fixed versions(http://www.dinkumware.com/vc_fixes.html). 11) Read "Effective C++" and "More effective C++" (look them up in amazon)
12) Avoid Runtime Type Identification, most of the times you don't need it.
send me a message at andresmurillo@go.com if you need more info.
I worked on a project that was using DCOM until we found out that the serialization was caving under high loads, we contacted Microsoft and they promised to address it in their next service pack (It took them a couple of months). Instead of waiting for the fix, we had to implement our own serialization and integrate it with DCOM. If we had the source code I'm sure Microsoft would have fixed the issue faster as we would have pointed out where the bug was.
You can buy the soundtrack here:
http://www.amazon.com/exec/obidos/ASIN/B0000076D 8/ joyo96/103-5812586-2823851
and
http://www.animesolutions.com/anime_music_cds/gh os t_in_the_shell_01.shtml
"Society got to the point where we couldn't offend anyone, the Irish, Jewish, Cat-lovers, Dog-lovers, etc, etc..."
It's not about racial groups, it's about animal abuse...human cruelty.
Time after time what was before seen as a form of entertainment is later identified as a form of brutality and abolished.
Look at the Roman empire and the Coliseum, I am sure at that time there were people that thought that was a horrible show while most of the mob thought it was fun thing to watch.
Look at slavery....
Look at cannibalism...
Look at human sacrifices...
Look at genocide...
Look at animal experiments (yes they are nastier than you might imagine)...
Those were all acceptable in their time by people like you and rejected by people like me. I'm glad people that think cruelty is not human right are the ones shaping the world.
If you read How to write Unmaintainable
code, you will see that the preprocessor is the ultimate code-obfuscation
tool from hell. Is never a good idea to redefine language keywords if you expect
someone else to understand your code.
You bring an interesting point here, Microsoft does provide support for schols with low resources and that is a very nice thing.
If your school doesn't have that kind of support, there are a number of free compilers that you can use:
For DOS: http://www.delorie.com/djgpp/
Good old GCC: http://gcc.gnu.org/
Borland compiler(very nice one): http://www.borland.com/bcppbuilder/freecompiler/
Once you start using the more advanced features of C++(like member templates), you may find that VC++ has a great GUI but the compiler needs some improvement.
Here is a great free book for learning C++:
http://www.bruceeckel.com/ThinkingInCPP2e.html
There are resources on the Internet for learning almost any thing you can think of, it's just a matter of looking in the right places. I learned C++ on my own a couple of years ago when my highschool was still teaching plain ol' C. Interest and curiosity are the key.
No wonder. The media has taken over culture and now people are more interested in looking like Britany Spears or an NSYNC guy. Face it, our culture is a cult to the body, not to knowledge...we are all part of the "ultra-light" culture who feels good because they buy the "right stuff"(by The new kids on the block) rather than by ideals or concepts that can transcend all that we know.
Don't blame it on the media (which is owned by a buch of large corporations)...become the media. Become the web of useful information, be human in the way that you were not taught to be, be yourself and dont feel afraid to show it. This is our culture, the culture of truth. Being myself is more important to me than being the product of some sick plan to manipulate me.
So you are discovering it? Good for you, the part of your brain that has the ability to tap into the future is a great place to explore. Wait until you discover the part of it that can actually change the future, as that is where the real fun begins.
Lets spend more money in training americans:
I somewhere read this "Never try to teach a pig to sing. It annoys the pig and wastes your time". Not everyone is interested or have the skills to become a world class developer, just as I can learn to play de piano but I simply can't become a piano concertist because I simply don't have the whatever it takes to become one. Software engineering can't be taught in a classroom, it takes a great deal of energy on your side to become good at it. The best developers I have met learn without having to be pushed to it, they just love it and they pick up new skills quickly without needing to be trained. The best developers just pick a book and "eat it". If I had told my current employer that "I couldn't do Java because I have no training", I would be arguing with a crappy C++ developer on the advantages of using smartpointers so that I don't have to debug his/her memory leaks. It's all about YOU wanting to develop your skills and gettting out of zombie mode...please!
Companies get HI-B's because they are cheaper:
After six months of chaos, our team have finally got rid of every single line of code that a very unexperienced developer had created in the last two years. Practically the company paid a guy's two year's salary in vain. The codebase that we inherited was a real mess, we had to rewrite it ALL. The code was totally unstable and an endless source of bugs, of course the orignal author was a chep one (at least his code shows it), companies are beginning to realize that: CHEAP CODERS == CHEAP CODE and in the long run it costs more. Get good developers up-font and you will ship on time...because you don't have to rewrite the works of a mediocre developer.
There are PLENTY of American workers:
I have worked with some American developers that just kick ass, but most of the applicants are either:
- Highschool student that knows a littbe bit about Java and C++ (mostly syntax).
- Stranded mediocre developer with N years of "solid C/C++ development experience" who can't draw a class diagram on a whiteboard.
- Ex-C developer wanting to move into OOP (Kinda knows C++ syntax) but does functional decomposition when asked how to solve a simple problem in a OOP fashion.
- Wannabe manager with poor teamwork skills interested mostly in the "Engineering process" (step climber) while being unable to answer(in realistic terms) a simple question as "How do you manage your current team?".
- VB programmer who thinks focusing on a single technology makes them "more marketable".
This is just my view...before you troll about it...THINK!
I don't feel the need to append crap to what I write, please use the same courtesy.
My experiences with a 2,000,000 lines of code C++ server project (in winNT):
r ce.html).
.
1) ALLWAYS use SmartPointers unless you have a compelling reason to not use them.
2) Memory leaks are going to be your biggest problem, see rule number 1.
3) Use ASSERT like crazy...everywhere, if you are expecting some valid imput in a method, make sure it's explicilty stated with an ASSERT. ASSERT is the best way to catch an error on the spot.
4) Make the compiler generate debug symbols in release as a separate file, you WILL find bugs that only happen in RELEASE versions.
5) Use boundschecker to debug memory problems.
7) Don't use catch(...) on any other place than your main function...if you need to, rethrow the exception and let the debugger catch it. Never catch an exception that you don't know how to handle on the current scope.
6) Make your code exception safe, it's the only way to deal with memory exhaustion problems(http://www.relisoft.com/book/tech/5resou
7) If you are using multiple threads and a large number of locks, use smartlocks, otherwise you will have deadlocks (it's painful but does pay off).
8) If you application is multithreaded, use a static locking order, otherwise you will have deadlocks.
9) NEVER, NEVER, NEVER create your own collections or strings, use STL.
10) If you use Visual C++ and STL, make sure you replace the source files with the fixed versions(http://www.dinkumware.com/vc_fixes.html)
11) Read "Effective C++" and "More effective C++" (look them up in amazon)
12) Avoid Runtime Type Identification, most of the times you don't need it.
send me a message at andresmurillo@go.com if you need more info.
Neither do I. I'm running windows98 and I have never had a game do that to me.
Now...When installing Microsoft Softrware...well plenty of reboots are needed.
You are exaggerating.
Remember....don't feed the trolls!
Are you talking about Xenu? I wouldn't worry about him, he has lots and lots of lawyers.
U talking about Teletubbies?
There is a section:
"he began working on a mystery project which he calls, simply, X"
Anyone knows anything about this?
My cell phone (Kyocera) clearly indicates:
*************
* WWW *
* *
*Web Browser*
*************
On screen when using WAP.
That means some manufaturers *are* sellig WAP as Internet over a cellphone.
"lets not turn this into a Microsoft bash"
Hmm...err...This is Slashdot, remember?
Well, If you can get a hold on one of these babies, you can run the demos from the NVIDIA site:
http://www.nvidia.com/Demos
They are as real as it gets...Impressive.
It's actually optimized for both OpenGL and Direct3D, this is just marketoid information for people with blinking VCR clocks and lots of cash.
Anyone remember what happened to the UNIX version of COM??
I worked on a project that was using DCOM until we found out that the serialization was caving under high loads, we contacted Microsoft and they promised to address it in their next service pack (It took them a couple of months). Instead of waiting for the fix, we had to implement our own serialization and integrate it with DCOM. If we had the source code I'm sure Microsoft would have fixed the issue faster as we would have pointed out where the bug was.
You can buy the soundtrack here:D 8/ joyo96/103-5812586-2823851
h os t_in_the_shell_01.shtml
http://www.amazon.com/exec/obidos/ASIN/B0000076
and
http://www.animesolutions.com/anime_music_cds/g
It's a great CD
I guess I will have to update my banner filter with a bigger version too :)
Fight back and check out:
www.webwasher.com for a great ad filter
Please tell me you didn't bought an extended warranty with it.
"Society got to the point where we couldn't offend anyone, the Irish, Jewish, Cat-lovers, Dog-lovers, etc, etc..."
It's not about racial groups, it's about animal abuse...human cruelty.
Time after time what was before seen as a form of entertainment is later identified as a form of brutality and abolished.
Look at the Roman empire and the Coliseum, I am sure at that time there were people that thought that was a horrible show while most of the mob thought it was fun thing to watch.
Look at slavery....
Look at cannibalism...
Look at human sacrifices...
Look at genocide...
Look at animal experiments (yes they are nastier than you might imagine)...
Those were all acceptable in their time by people like you and rejected by people like me. I'm glad people that think cruelty is not human right are the ones shaping the world.
BTW...I'm a vegan
Lets submege them in boling oil during prime time television...we could get sponsors like...Crisco?
check out:
http://www.voodooextreme.com/
They have more information on the subject and lots of news about 3d gaming.
Chech this out(no goat porn, I swear!):
http://www.nvidia.com/news.nsf/121500faq.html
Try Sputnik7, it's an incredible site built using JSPs.
If you read How to write Unmaintainable code, you will see that the preprocessor is the ultimate code-obfuscation tool from hell. Is never a good idea to redefine language keywords if you expect someone else to understand your code.
You bring an interesting point here, Microsoft does provide support for schols with low resources and that is a very nice thing.
If your school doesn't have that kind of support, there are a number of free compilers that you can use:
For DOS: http://www.delorie.com/djgpp/
Good old GCC: http://gcc.gnu.org/
Borland compiler(very nice one): http://www.borland.com/bcppbuilder/freecompiler/
Once you start using the more advanced features of C++(like member templates), you may find that VC++ has a great GUI but the compiler needs some improvement.
Here is a great free book for learning C++:
http://www.bruceeckel.com/ThinkingInCPP2e.html
There are resources on the Internet for learning almost any thing you can think of, it's just a matter of looking in the right places. I learned C++ on my own a couple of years ago when my highschool was still teaching plain ol' C. Interest and curiosity are the key.
have fun!
No wonder. The media has taken over culture and now people are more interested in looking like Britany Spears or an NSYNC guy. Face it, our culture is a cult to the body, not to knowledge...we are all part of the "ultra-light" culture who feels good because they buy the "right stuff"(by The new kids on the block) rather than by ideals or concepts that can transcend all that we know.
Don't blame it on the media (which is owned by a buch of large corporations)...become the media. Become the web of useful information, be human in the way that you were not taught to be, be yourself and dont feel afraid to show it. This is our culture, the culture of truth. Being myself is more important to me than being the product of some sick plan to manipulate me.
I have other plans.
So you are discovering it? Good for you, the part of your brain that has the ability to tap into the future is a great place to explore. Wait until you discover the part of it that can actually change the future, as that is where the real fun begins.
Love
Lets spend more money in training americans:
I somewhere read this "Never try to teach a pig to sing. It annoys the pig and wastes your time". Not everyone is interested or have the skills to become a world class developer, just as I can learn to play de piano but I simply can't become a piano concertist because I simply don't have the whatever it takes to become one. Software engineering can't be taught in a classroom, it takes a great deal of energy on your side to become good at it. The best developers I have met learn without having to be pushed to it, they just love it and they pick up new skills quickly without needing to be trained. The best developers just pick a book and "eat it". If I had told my current employer that "I couldn't do Java because I have no training", I would be arguing with a crappy C++ developer on the advantages of using smartpointers so that I don't have to debug his/her memory leaks. It's all about YOU wanting to develop your skills and gettting out of zombie mode...please!
Companies get HI-B's because they are cheaper:
After six months of chaos, our team have finally got rid of every single line of code that a very unexperienced developer had created in the last two years. Practically the company paid a guy's two year's salary in vain. The codebase that we inherited was a real mess, we had to rewrite it ALL. The code was totally unstable and an endless source of bugs, of course the orignal author was a chep one (at least his code shows it), companies are beginning to realize that: CHEAP CODERS == CHEAP CODE and in the long run it costs more. Get good developers up-font and you will ship on time...because you don't have to rewrite the works of a mediocre developer.
There are PLENTY of American workers:
I have worked with some American developers that just kick ass, but most of the applicants are either:
- Highschool student that knows a littbe bit about Java and C++ (mostly syntax).
- Stranded mediocre developer with N years of "solid C/C++ development experience" who can't draw a class diagram on a whiteboard.
- Ex-C developer wanting to move into OOP (Kinda knows C++ syntax) but does functional decomposition when asked how to solve a simple problem in a OOP fashion.
- Wannabe manager with poor teamwork skills interested mostly in the "Engineering process" (step climber) while being unable to answer(in realistic terms) a simple question as "How do you manage your current team?".
- VB programmer who thinks focusing on a single technology makes them "more marketable".
This is just my view...before you troll about it...THINK!
I don't feel the need to append crap to what I write, please use the same courtesy.