Originally posted by voodooflux
View Post
- Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
- Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!
Garbage Collection rant
Collapse
X
-
Okay I admit I was wrong, but to be fair it appears to be a well hidden feature of the language and almost everything I've read says "finalization is non-deterministic" and doesn't give the solution.Will work inside IR35. Or for food. -
Indeed - just reading the MSDN documentation on the dispose pattern and it doesn't seem to mention the using keyword.Originally posted by VectraMan View PostOkay I admit I was wrong, but to be fair it appears to be a well hidden feature of the language and almost everything I've read says "finalization is non-deterministic" and doesn't give the solution.Where are we going? And what’s with this hand basket?Comment
-
I can remember moving from C++ to java 10 years ago and being told by my colleagues that garbage collection was flawed and that java would never take off.
IN the past one entry point from a method/function was a necessity but really it's just about readability now.
All true contractors must hide at least one return in every function 10 levels of scope in. We are not paid to write perfect code but maintain bad code handed down to us by the previous freelancer. It your duty fellow contractors to write crap code.Comment
-
Use "using" keyword for objects that have Dispose() methods - this would make that method get called once "using" block is done.
I've learnt the hard way that any class I created that uses memory in a non-obvious way (native types) or in large quantity or keeps objects in objects needs to implement IDisposable interface.
Dispose can and gets called automatically without using but you don't get guarantee and you should not count on one - if you deal with stuff like file handles you should always use try/finally block to close file in case of exception happening.
Garbage collection in .NET is pretty good, however one should avoid allocating big chunks of memory and instead try to reuse them. If you use local objects it works okay, but having some complex stuff like file handle object stuffed into global Hashtable/ArrayList can lead to issues.
I've programmed C/C++ in the past and have to say despite garbage collection in .NET not being perfect it still improves productivity big time, if coded well overheads are low too.Comment
-
Java has never taken off, at least not to the extent that was suggested by all the hype at the time. It's only got anywhere because universites decided it was easier to teach than C++.Originally posted by minestrone View PostI can remember moving from C++ to java 10 years ago and being told by my colleagues that garbage collection was flawed and that java would never take off.
As someone who often has to work on legacy MFC code, I can tell you how true that is.We are not paid to write perfect code but maintain bad code handed down to us by the previous freelancer. It your duty fellow contractors to write crap code.
Will work inside IR35. Or for food.Comment
- Home
- News & Features
- First Timers
- IR35 / S660 / BN66
- Employee Benefit Trusts
- Agency Workers Regulations
- MSC Legislation
- Limited Companies
- Dividends
- Umbrella Company
- VAT / Flat Rate VAT
- Job News & Guides
- Money News & Guides
- Guide to Contracts
- Successful Contracting
- Contracting Overseas
- Contractor Calculators
- MVL
- Contractor Expenses
Advertisers

Comment