Programming Matters

My thoughts on all things technical, programming and otherwise

C++ vs. C# surprising revelations

Filed under: Development Philosophy, Programming — by Steve Riley at 8:40 am on Thursday, November 25, 2004

I have been using c# for a while now and at first was very impressed with some aspects of it compared with c++. Ironically and must to my surprise, over time I have become more impressed with c++ and have found some basic problems with c#. Lets look at c# and compare it to (unmanaged) c++.

The Problems
1. Structs

  • C# does a few things wrong here. First of all for the sake of language simplicity simply reusing the class would be the most straightforward mechanism to implement stack vs. heap allocation. You would need a way to specify where a class element is being allocated. Obviously the assignment operator would work differently depending on whether you allocated on the stack vs. the heap. C# also restricts the functionality of the struct preventing derivation which only confuses things more.
  • C++ allows you to use the same structure to specify stack vs. heap allocation, a truly useful thing. After all stack vs. heap allocation is an optimization element, and not allowing the user to use the same code regardless of where he allocates an object is silly. C++ has special syntax to let the user know whether he is accessing from the stack or the heap and this is good.

2. Having the core language specify one behavior for = and another for == with respect to pointers.

  • C# sets the wrong idea by having strings use == not to compare pointers but the actual objects themselves while = always copies pointers. Without overloading == compares pointers. Trying to abstract away pointers to references and then not using them consistently is confusing. What does == do with respect to pointers? Hard to tell if you’re not looking at the source. It seems that if == always compares references (pointers) then it should always simply compare pointers. A .equals or the like would be better suited to testing whether the elements in the class are in fact equal.
  • C++ pointers treat = and == consistently and do not allow overloading and this makes perfect sense. When c++ allows separate behavior for non-pointers this also makes sense. How shallow vs. how deep of a copy is a question best answered by an overload because one size does not fit all. Ditto for comparison here.

3. Not having const support. This is very useful in c++ and c# is less robust without it.
3. The lack of templates if an obvious inconvenience as it makes type safe containers among other things very difficult in c# - this is being fixed for c# with generics and will become a non-issue eventually.
4. The lack of the functionality in a c++ reference. A c++ pointer is basically a c# reference minus the syntactic sugar. A c++ reference on the other hand is guaranteed non-null, which is really nice in a world splattered with if(blah!=null). Sure you can “trick out” a c++ reference but not even making it possible to null check a c++ reference is really nice.

I wanted to add that c# doesn’t generate optimized code like c++ however this has nothing to do with the language itself.

Also the visual studio ide does not allow individual files to be built separately - this is a fallout of metadata.

Some things I dislike have more to do with the libraries than anything else. Having global functions disguised as static members is nothing more than syntactic sugar. Sure you can have ctors for statics in c# and this is a minor advantage, but it is still like putting object oriented makeup on a strictly procedural face. I would rather see the language support autoinstantiated classes that were singletons than this. At least there wouldn’t be arbitrary mixing of “stand alone” functions and true functions that are per instance.

That being said c# (and .net) has a very useful standard library something c++ could take some hints from.

The Good Things

1. C# keeps novices from doing bad things. C# is like child safe locks. It keeps novices from opening the doors when it is dangerous to do so. Some of the many things it keeps safe but yet any savvy c++ programmer would know to use wisely:

  • The preprocessor goes out the window - thank god for the loss of macros - I have reluctantly debugged way to much code using the obfuscation that is macros much to my displeasure - however a savvy c++ coder knows to avoid macros except in truly extraordinary circumstances like the plague.
  • Leaning towards pointers in all cases keeps newbies from falling into c++ traps of non-optimal creation and usage of copy semantics (passing parameters to function that copy expensively).
  • Better syntactic sugar support that makes code a little less arcane. Keywords like abstract, override and others keeps things cleaner.
  • Generating warnings about unintended overrides of non-virtual functions ( c++ should be doing this).

2. C# has some core elements that benefit everyone that C++ should have as well.

  • Garbage collection - obvious but oh so nice. Stroussop has said many times he wants this added to c++ and many tests have shown that in apps with more than a trivial number of allocation that mark and sweep gc is a better performer than typical manual heap based solutions.
  • Robust checking for uninited variables and out of range utilizations. Why the stl can’t at least support debug only range checking in most implementations is beyond me.
  • Meta data support in lieu of header files - no need to qualify this one - in a world without macros why have header files?
  • Static ctors are minor but nice.
  • Having the internal access specifier is nice - c++ could possibly use the javaesque internal to a namespace to implement this hiding.

3. Some C# advantages are much more minor but still nice.

  • Since pointers (aka references) are used far more often in C# and C++ than anything else not needing to specify * when talking about them is nice, and using . instead of the cumbersome -> is also nice. Of course flipping the semantics in c++ would be impossible at this point but I’d rather use * would talking about a non-pointer version of a class and -> to index that same non pointer would be nice as well.
  • Specifying ref when sending a ref to a function so you know it will be modified is nice, not being able to look at a calling function and know what will be modified is frustrating. I would prefer simply using the & operator in c++ or using a plain pointer. The caller doesn’t really care whether the receiving function is using a ref or a pointer unless it is non-const.
  • The syntactic sugar of properties is very nice - its funny how important syntactic sugar can be at times.
  • Event support is nice but I have found it is misused more than properly used. It can create some ugly spaghetti.

4. C# imposes some things that a more irrelevant than anything else including forcing things into classes. How many c# programs have you seen with static functions everywhere - technically this is still an “improvement” over c++ because of static ctors and hiding data elements but still statics are too much like globals for my tastes.

This is really just a few the points I have thought about lately and surprisingly I have found that (unmanaged) c++ and C# both have pluses and minuses. Preferentially which would I work in?

C# in most cases simply because of the robust garbage collection support, lack of header files and extra error checking. But the optimized performance of c++ implementations combined with templates, knowledge and utilization of “pointers/references” vs. stack allocated objects and their consistent behaviors (vs. c# fuzzy mess there), more ubiquitous language support in the dev community, direct interop is asm when needed (rarely of course) are compelling reasons to end up using c++ far more in the future.

If only c++ supported gc standardly as well as metadata of header files or c# supported intelligent stack vs. heap usage, templates and direct interop with native c++, and ideally better performance the choices would be far more clear one way or the other.

I expect the gap to close between the two, although I feel c# will probably be more responsive than c++ in making smart changes, however some things like structs may be difficult warts to hide over time.

del.icio.us Digg Reddit dzone Live

7 Comments »

84

Comment by aaron griffin

December 15, 2006 @ 9:14 am

Couple notes:
a) C# DOES have generics. They have been in the language for years.
b) C++ does not need garbage collection because allocation can AND should be handled by a paradigm. Have you ever seen std::string leak? It doesn\’t. It uses RAII (Resource Acquisition is Initialization) - meaning this, in short:

struct Foo
{
int* p;
Foo() { p = new int(4); }
~Foo() { delete p; }
};

Because C++ contains GUARANTEED destruction, this class will never ever leak. Designing like this proves there is no need for GC at all. Even std::auto_ptr helps here (though auto_ptr sucks, boost::shared_ptr is superior).

85

Comment by Steve Riley

December 15, 2006 @ 9:26 am

Actually the article is over years old - at the time the version with generics wasn’t yet official.

I like discreet control in C++ as well. But dangling pointers and/or memory leaks are one of the most common problems seen with shipped C++ code. Many studies have also shown that not dealing with memory manually improve both run time performance and programmer productivity.

I used to code things by hand in pure assembly. But these days the compiler does a much better job than I could ever do by hand. That same story is coming to light for memory management as well.

auto_ptr’s are fine, but without reference counting or some other scheme shared pointers eventually end as dangling pointers to deleted memory or going out of scope without deleting the memory they pointed to.

86

Comment by Paul Mendoza

December 18, 2006 @ 2:17 am

For the most part, the .NET GC is faster than if you coded an application in C++ and managed the memory that way. C++ can be faster but it isn’t easy to consistently beat the .NET GC.

93

Comment by Jesse

December 18, 2006 @ 9:19 am

You may also nowadays want to look into Herb Sutter’s excellent work on C++/CLI.

199

Comment by Steve

May 17, 2007 @ 1:35 pm

I have been a C++ programmer for several years, using Borland builder. Microsoft mfc development was slow and it was difficult to manage and keep track of pointers and their scope. I have rarely had a problem with managing memory because of the way the structure was setup in Borland, the only time I found a memory leak in my software was when I needed to utilize components not ported over and had to use the MFC to access them, usually a result of not knowing the scope of MFC variables, and internal handling of memory. Memory management for that reason is the one reason I would never go from C++ to C#, GC far more inefficient and still is for a well structured C++ development environment and library (MS C++ developers seemed to want to keep things complex and chaotic, bad coding style if you ask me, no real scope control, object interfaces are too complex, etc… making it a no brainer they will have memory leaks) Add in the fact that JAVA GC sucked, I really did not want to port to C# anytime soon.

That said C# has many features (at least now) that have made the me make the move at least in the simpler applications. The biggest reasons are notable changes and enhancements to using arrays (foreach, hashed arrays) and a RAD interface that is comparable to Borland’s in many ways.

If I still need extensive control over memory, I will work in C++, because for memory if you do it right (keep scope in focus), C++ will always run faster and more efficient than running a process to check for scope and then delete memory. And while yes computers are getting bigger and faster, we are running more complex algorithms on them all the time.

337

Comment by sardaukar

September 25, 2007 @ 1:50 am

Your article totally misses the point of C#. Pointers are weak in C#? Come on, it’s like comparing apples and oranges - the SCOPE of C# is different from C++ and you can’t compare it like this.

Fact is, C++ is a dying dinosaur, because a time will come when coding in C++ will make your apps 15 nanoseconds faster - but no one will care to pay a more expensive C++ coder to get 0.003% more juice out of an app.

Comment by The Real Ben

January 10, 2008 @ 9:03 pm

Business prefers quicker development so any .net platform beats older languages by a long shot.

C++ is great for systems programming (the really nerdy crap). Even C for that matter (it’s built for speed)>

In my opinion, C# is a business language for IT apps. C++, C will still be good in terms of electronics, but one day, even those devices will be able to run higher level languages one day. I think programming will be very different than it is now 100 years from now….

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>

 

The Internet Marketing Experts at Adventual.com
paxil cr 25 cyclobenzaprine from home order 25 mg norvasc discount doctors comments on tylenol vicodin with phenylephrine atenolol chlorothalidone can synthroid be taken with actonel cocaine in blood stream by touching drug interaction prozac and zyban non alcohol agrement for tenants information on ketamine norco prescriptions online difference between tenuate and tenuate dospan recovering cocaine addicts and sating ranitidine during pregnancy ibuprofen cardiovascular effects marijuana dispensary ca valium versus klonopin ecstasy midnight blue mix opium body men phentermine and heart remeron agry mood church distance from alcohol washington state sublingual morphine sulfate overeating vs drinking alcohol hydrocodone mexico hydro marijuana flowering marijuana in your hair selling alcohol online usa cheapest sibutramine gag factor soma synthroid gree tea micromedex metformin marijuana colonial marijuana matthew hashish massachusetts injectable amoxicillin in canada alcohol abuse zocor drug class and mechanism acetaminophen ortho appendectomy ibuprofen prescription strength oxazepam 600 mg drug comparable to protonix contradictory outcomes on ketamine phentermine through body building aspirin plavix warning valium 2mg tablets pics cost of generic fexofenadine cialis compare prices is provigil an amphetimine enthalpy of combustion of alcohols medication tamoxifen 10 mg shanghai ecstasy red silicone canada heroins in peril clomid kans op tweeling igredents in mdma highblood pressure and zoloft flonase alesse medication tramadol facts about evista non-pharmacological increase testosterone foods to increase male testosterone naproxen apap buy drug generic generic online viagra is cipro penicillin based medications lexapro estradiol medicine compare actonel boniva and fosamax acetaminophen anti-inflammatory child tylenol low testosterone level in men costs of morphine clinical data for large dosage cialis cycle steroids drug and alcohol abuse prevention picture zoloft motrin reduces fever add adhd information library ritalin death marijuana and bronchitis marijuana anal sex ibuprofen ggtp arthritis pain reliever tylenol fluconazole canine want to know about cocaine is marijuana really to blame pr morphine cefzil drug type pantoprazole 40 mg zithromax versus augmentin oxycodone without a script diet and lowering testosterone atenolol and grapefruit juice viagra norco get xanax in findlay ohio new ritalin for preschoolers prilosec best price other words for marijuana alcohol and gaming divison in nm ionamin loss weight information online information symptom of alcohol intoxication viagra levitra dosage long acting ritalin cheapest price on ortho evra patch klonopin interaction metabolites ranitidine marijuana slang piff ativan discreet from europe alcohol 120 cracked phentermine 15mg fed ex overnight buy phentermine with no prior prescription valium alcohol interaction tramadol cloridrato carisoprodol bulk abuse alcohol among teen scanner dur e koenig alcohol free alcohol recovery programs effects of phenergan iv push hcg increase level nolvadex testosterone ciprofloxacin and asthma marijuana cookies recipe coumadin blood level paxil gun finimal alcohol myspace layout and alcohol alcohol clomiphene interaction drug and alcohol policy australia alcohol sugar in dietetic candy 2f allergic augmentin reaction ecstacy ghb rophynol buy phentermine at altairulit org what is cetyl stearyl alcohol finasteride ear ringing pepcid ac monograph augmentin sarcoidosis lowest nicotine cigarettes hsv i treating with valtrex lsd artist pharmaceutical manufacturer for vicodin alcohol for home consumption acyclovir cold sores night terrors alcohol use vicodin usage coronary artery diease and alcohol help vicoden effexor soma lexapro alcohol 120 key gen about softtabs cambucci alcohol imitrex a a drug and alcohol poster depression marijuana ciprofloxacin hydrochloride ophthalmic side effects metoprolol epinephrine zoloft and bipolar molecule found in steroids purchase claritin online drug seroquel aricept and alcohol okay together drinking alcohol lower back pain marathon norco battery data negative effect of drinking alcohol alcohol copy software mixing alcohol and marijuana effects relationships valtrex shelf life hydrocodone 10 650 phentermine cheapest in uk viagra gift ideas alcohol wellbutrin xl 150 m g acetaminophen dog steroid puchase propecia online what class of drug is heroin adderall prescribed cadmium marijuana xanax at cheapest rates diovan angioedema anabolic steroids from thailand adderall and symptoms of allergic reaction 5 ounces marijuana vicodin alchohol mexican tamoxifen morphine you speak my language phenergan and pregnancy test walgreens prescription for 100 mcg synthroid soma 9 coming down on cocaine lortab without prescription vicodin generic pravachol identification chemistry burning alcohol adipex for alcohol treatment centers-new haven ct natural ecstasy menopause estrogen progesterin testosterone is ultracet a narcotic drug access to alcohol acetaminophen synthesis line norvasc tylenol advil fever pregnancy coumadin emedicine which processed food contain folic acid cocaine research study is there a generic for celebrex valium with out prescription xanax cash on delivery sertraline success pictures of types of alcohol heroin cheese signs of use methamphetamine books listing editors not authors asthma chest pain relieved by steroids splitting viagra efficacy celebrex and canker sores effects of hydrocodone on a fetus acne tetracycline dosage 20mg ambien not working alcohol and drug treatment programs medicine terbinafine hcl drinking alcohol and nosebleeds freebasing adderall celebrex prescription drug stores condylox allegra common side effects zocor wbr vioxx lawyer phentermine p over night delivery viagra or clomid for blowjob fitness ambien alcohol interaction what is naproxen sodium coupon nexium prilosec prescribing information coreg cr penicillin dosage for horses dosing of biaxin abuse alcohol drug during pregnancy actos information what to take to intensify xanax drug alcohol abuse counseling zoloft side effects teens toxicidad celecoxib en perros methyl prednisone poison ivy treatment generic atorvastatin tablets dangers no membership discount valium alcohol drinking law crack cocaine additions overdose marijuana treating glucophage side effects ritalin in group batches of 3 overnight prednisone delivery anabolic steroids pravachol actos actos allopurinol cardinal health diet phentermine pill adipex overnight adipex medicine protonix gtt eyes alphagan ld 50 blood alcohol level ambien otc veterinarian drugs ketamine contamination standards of tertiary butyl alcohol advair 25051 puff victims of methamphetamine 5generic sildenafil regenerating a marijuana plant after harvest drugstore lynnwood oxycontin robbery 200 proof alcohol excess testosterone in women buspirone buspar weight gain softtabs indications fluoxetine wiki depakote and lexapro paroxetine en zwangerschap vinden taking altace with zoloft 5 500 apap hydrocodone niravan alprazolam phentermine 37.5 fed ex overnight slot machines celebrex alcohol dehydrogenase asian society for alcohol research when was ritalin first made b6 b12 and folic acid marijuana and semen analysis scram alcohol bracelet lohan take paroxetine weightloss clinics phentermine phentermine 37.5 overnight phentermine 37.5x90 list different types of alcohol ketamine hcl 100 banning alcohol at sporting events headache alcohol liver failure orbit valtrex information on lipitor bilirubin medroxyprogesterone and pregnancy planning nicotine vaccine ranitidine warts case studies dealing with alcohol klonopin overuse causes of alcohol alcohol sales sevier county ortho ontario cressini tussionex pennkinetic sus clubs medical marijuana northern ca paxil bruxism marijuana cuttings no humidity dome heroin treatment therapy prednisone oral rats spokane alcohol anonymus meetings marijuana monterey county head shop drug derived from opium poppy neurontin generic gabapentin sex side one drink of alcohol cialis buy online synthroid and lisinopril alcohol and an quit marijuana tips ketamine clinical trials for depression adderall addiction scientific quotes on cocaine agoraphobic nosebleed pcp torrent alcohol bath buy $5 testosterone amp celebrex class action attorneys norco tab ingredients prempro first prescribed oxycontin and litigation zetia and zocor combination pill diazepam during pregnancy marijuana in happy meal positive effects of ritalin alcohol and barretts syndrome xanax images 3 mg buy alcohol online dorm maintenance therapy for alcohol withdrawal taking effexor xr with adderall xr cephalexin origin zyrtec chewable tablet alcohol rehab naples florida isopropyl alcohol cas dot drug alcohol training coumadin and procrit panacea prozac portland university drug alcohol studies lab tech steroids acetaminophen cod 3 tablettev celebrex manufacturer boards chongqed lowest prices on generic viagra permanent damage from methamphetamines dogs using prednisone heroin compared to morphine cephalexin urinary concentration low cost no prescription required hydrocodone glucophage zenocal mdma maoi soma tramadol fioricet coreg cr 20mg price augmentin alcohol insulin resistance metformin treatment programs alcohol drug addiction norco aluminum floor jack is alcohol good could alcohol kill you alcohol in ear throbbing legalize medical marijuana richardson presidential norco evolution atorvastatin cva treatment vicodin and no prescription interactions of neurotin hydrocodone alcohol effect on siezures xanax lorazepam phentermine 40mg cheap claritin d 12hr canadian steroids fluoxetine package insert holy spay day wellbutrin approval batman marijuana drug in males sperm buy marijuana vaporizer doses of celecoxib hypnosis alcohol cessation virginia penicillin skin rash alcohol canister filter rear lsd doors cipro veterinary zocor and erectile disfunction vicodin lortab 10mg buy phentermine online about us armour thyroid bontril 100 mtch phentermine fetal alcohol abuse fioricet with codine adderall and alcohol interaction ambien no prescription 10mg does klonopin cause vivid dreams paxil lawsuit adipex and venezuela ritalin dexedrine good news women alcohol quantitiy alcohol sda uses pictures of soma the prescription drug pupils enlarged alcohol viagra insurance coverage health marijuana the board game cialis generic tadalafil best price compare alcohol abuse test carbohydrate-deficient laboratory glucophage diovan verapamil metabolites pcp pneumonia xray marijuana led light imitrex keyword psychological treatments for alcohol abuse pravachol florida age you can serve alcohol cephalexin and birth control tremor from atenolol variations of zoloft gumby hashish method lapacho and coumadin ritalin vs ritalin time released estradiol tablet cipro starts working within 24 hrs cheap levitra pill tramadol zyrtec alcohol anonymous tulsa okla zenegra softtabs online valium pill identification lortab drug info vegetative lighting marijuana ravesupply mdma cocaine addiction recover effexor manufacturer bupropion alcohol cocaine crack addicted babies photos order omeprazole alcohol after breast augmentation did cayce drink alcohol beat a cocaine drug test european alcohol age tylenol 100 mg celebrex for sale is adderall a class 3 drug alcohol and herion conceal marijuana coffee grinds diflucan ketamine oxycontin deafness phentermine phentermine online phentermine order buy abusing heroin while pregnat drinking alcohol and taking codeine baking with lsd missouri division of alcohol and tobacco alcohol and diverticulitis aciphex prilosec class of drug oxycodone irbesartan losartan equipoise injectable steroids sildenafil vs vardenafil clomid nolva dosages pct uk cialis viagra perscription alcohol and energy drinks dangerous mix keflex for sinus infections zolt ambien coumadin red urine tattoo's of alcohol purchase ghb products marijuana plants and deer once cocaine colorado attorney vioxx tobacco and alcohol advertising hyperactivity and marijuana body causing hot in sensation valium adipex without pescription alcohol brad paisley tab biaxin and milk dna and folic acid metabolic pathway2c funkadelic viagra zocor medication cocaine sellers six am the heroin diaries sugar alcohol and blood sugars alcohol and recipies is codiene stronger than vicodin celexa off weaning metformin effect on insulin resistance alcohol breathalyzer portable myofascial pain soma what are allergic reactions for amoxicillin prilosec heart toprol and pregnancy wheelers textbook of ortho heroin nico plavix interference with astragalus and fishoil discount cost 10 mg ambien ghb and penis nexium maker free lawsuit vioxx vioxx clomid serophere clomiphene interesting facts prednisone and hair loss umaxppc sumatriptan information absense alcohol opium supply biohazard steroids ambien serotonin syndrome alcohol abuse disorder drug and alcohol treatment florida tylenol migraine extended relief caplets bertha ortho ridalin mixed with alcohol alcohol content for liquor alcohol muscle relaxant can viagra help with sexual anxiety alcohol content wine vs beer cod delivery phentermine diflucan for onychomycosis heroin sale zyban without a prescription order cheap bontril alcohol law bartenders accolate interactions caffeine adderall xr deaths tadalafil vs viagra direct marketing for alcohol growing cocaine plants marijuana statistics chart breastfeeding marijuana effect indication for lipitor metformin and periods characteristics of alcohol fungi kaufman testosterone hydrochlorothiazide 25 mg overdose on line pharmacy xanax zanaflex abuse weight gain advair singulair alcohol related car accidents statistics actonel fosamax evista comparrisons medicine singulair prednisone adverse side effects marijuana drying methods detox drug lorcet 20 sibutramine phentermine long-term effects of smoking marijuana sildenafil hemodynamics super 1 can alcohol trigger panic attacks effects lexapro quitting side medical-grade marijuana find viagra free search 76k buy free shipping cialis cheap smoking marijuana in vegetable cellulose stages of alcohol abuse alcohol drink recipes systome of high dilantin levels cipro cancer conjugated linoleic acid paxil drug interaction singulair legs philip home and rosiglitazone christian alcohol treatment texas fetal alcohol syndrome organizations buy naltrexone disque and dur and toshiba alcohol tobacco and firearms bureau enalapril canine side effects norco what is it abrams marijuana study beta adipex 37.5 canada medical marijuana doctors in oregon state verapamil wihtdrawal pregancy alcohol march for dimes msds promethazine marijuana legalization and the black market most potent marijuana seeds flexeril xanax urine clomiphene citrate first available best price for tamsulosin generic flomax is tobradex generic canine lymphoma and prednisone treatment tylenol televishon comercial nhs prices viagra uk cocaine drug history chemical composition of folic acid ritalin recommended adult dosage purchase clonidine next day shipping hi gain alcohol program discount omeprazole generic prilosec accolate encapsulation talking back to prozac national association drug alcohol claritin b12 absorption liver problems flonase meridia law journal legal alcohol limit in michigan adderall true positive for meth oxycontin busts seroquel syncope hypotension can you snort ibuprofen baby clomid posted side suzs transderm scope was prescribed morphine pill snorting alcohol and ramipril personal alcohol conseler orlando basal ganglia and prozac imitrex causes severe musle pain phentermine message board low cost xenical current event on cocaine reducing alcohol detoxification costs 512 oxycodone prices flexeril alcohol buy offshore medications adderall mcmahon medical marijuana digoxin norvasc methamphetamines treatment de ear inner mal meclizine treatment internet pharmacy ultram adipex online approval adderall duration names of alcohol shots cyclobenzaprine supplier keflex sinus infection tricor ta heroin long-term effects symptoms of paxil side effects fo levaquin side effects of wellbutrin sr picture of alcohol ads male testosterone supplements what is valtrex used for cetirizine dietary supplement delivered no overnight prescription xanax pravachol side effects interactions and information phentermine adverse effects warnings pill benicar infant on ecstasy what are different names for marijuana back pain bupropion cocaine vessel zanaflex toprol xl interaction do steroids work immediately prilosec vitamine b12 cocaine federal parole alcohol banners effects of cocaine usage trazodone tazodone rick monteiro norco tylenol wikipedia claritin d over the counter what is lotrisone cream black out alcohol lsd fuck vip dvd cialis viagra mastercard accepted soma south mdma rectally methods tretinoin cream emollient .025 infrared spectra ethyl alcohol oxycontin death statistics from uk brand name for enalapril methamphetamine lung disorder drug interactions flomax viagra soma by buy ambien cr online no rx diovan prescription drug alcohol consumption and advertising fentanyl clonidine laryngoscopy and intubation ranitidine no prescription viagra modify discount alcohol and common cold zyrtec hawaii sugar content in alcohol alcohol amine ether ketone aldehyde hydrocodone loratab lortab penicillin headache advice paroxetine withdrawl symptons mainlining tylenol 4 marijuana reagea alcohol party supplies soma netwroks drug category of ecstasy adipex and prozac metoprolol tartrate dosage marijuana abuse among teenagers lsd marijuana mix oxycontin international macrobid 100 mg cough sore throat tylenol is relafen a narcotic pravachol bontril cialis online pharmacy phentermine sales gen ranitidine ranitidine hcl imitrex lysergic acid diethylamide climara side effects of morphine during sugery seroquel and decrease in semen marijuana t-shirts quincy carter cocaine ignition alcohol recognition system smart start glover and zyban marijuana grow gides ingredients in synthroid depakote and laser hair removal generic allegra 180 infant fetal alcohol adderall dehydration xr vicodin rape drug cheap ranitidine online viagra houston drug and alcohol abuse in wa elidel cancer warnings discount sildenafil generic viagra expired vicodin pills alcohol rehab washington dc medicare hydrocodone pill description actonel bad for teeth online pharmacy viagra cialis levitra manufactures famvir synthroid pravachol avapro index php side affects of amoxicillin in dogs pravachol and rash alcohol is my anti drug free ortho evra combine lexapro and effexor nexium reflux advair duration of use morphine hair heroin addicts marigo what is the drug relafen synthroid and pain killers over-the-counter amphetamines adderall drug test how long mixing prescription drug with alcohol alcohol and domestic violence statistics colchicine medication chocolate drink alcohol permanent nicotine tolerance bad side effects of zocor crack alcohol soma club houston tx ortho tri cyclen lo tablet tamoxifen and von willebrand disease what is alcohol drug nicotine counseling what is ativan medication celebrex side affect it's monday tylenol florida ramipril reactions altace side advair inhalers medical marijuana con cody dunn norco no prescription needed for cheap adipex after effexor loss weight speakers on alcohol abuse tylenol withdrawal symptoms ortho try cycline low prescribe valium captian cocaine metformin pregnancy infertility doxazosin mesylate legal marijuana country canada rx 773 lorazepam swollen ankles heroin acid does folic alcohol christmas gift ideas dr james whitney ortho ga cool alcohol myspace comments penicillin and bread mold side effects o hydrochlorothiazide lose weight pill diet phentermine pill buy vicodin now yasmin rios shemale methamphetamine production recipe penicillin pk ibuprofen false positive alcohol results tiamin mononitrate lyrics your prozac lung marijuana free inpatient alcohol phoenix finasteride price reactions to cipro bob greene and the heroin trail bonds steroids photos oxycontin hcl er 40mg coumadin drug interactions natives alcohol and teenagers mention types of alcohol alcohol smoking kids best internal marijuana cleanse order softtabs medicine yellow speed amphetamines orange overdose of zestril depakote level peutic zithromax reactions forum buy cialis site feminized indoor marijuana seeds plavix coumadin aciphex 20 mg prilosec rabeprazole study ranitidine erosive esophagitis phentermine online overseas lotrel 10 20 dosage contraception yasmin wellbutrin side effects cocaine euphoria sea witch opium decriminalize marijuana canada claritin coupon lanoxin wellbutrin cardizem cd nasacort ranitidine information ambien bupropion hydrochloride marketed as the antidepressant valium online at vcezaebis org tadalafil generic ciales alcohol treatment centers adolescents ohio can low testosterone affect prostate growth meridia attorneys auburn vw quaff differential lsd alcohol detriments to suppliers mold marijuana xenical for sale in the us ortho neutrogena what percentage of student-athletes use steroids clonidine hydrochloride palmerston drug and alcohol fluconazole 50 make a alcohol still atorvastatin and east indian patients trazodone and phentermine bulloch county alcohol law fuck cocaine marijuana in schools didrex online cod heal my propecia side effects drug generic pharmacy prilosec smoking cessation zyban oxycontin prescriptions is phentermine safe alcohol natural light percentage pravachol 10mg ambien cr and vicodin butorphanol tartrate torbutrol for dogs retail different strains of marijuana pure indica alcohol service liability when did alcohol use begin tramadol and glutamate finasteride intermediate mark mcgwire picture steroids adipex phentermine pills celexa and zoloft interaction zoloft information testimony effects of discontinuation of methamphetamines liver damage vicodin paroxetine sales seroxat synthroid reactions effects of alcohol on the kidneys ortho tri cylcen lo spotting color treatment of toxic alcohol level 30 facts about alcohol wellbutrin is it an ssri 16 days of alcohol movie review recomended dosing for estradiol canine loratadine dosage zoloft online diaphragmatic paralysis ramipril methamphetamine gays mills wisconsin ibuprofen and drowsiness no prescription for lortabs cheap adderall mexico alcohol thin the blood buy softtabs for sale paxil and suicide studies ace inhibiters and viagra add concert ritalin message board alcohol absorption inhibitor children not allowed to drink alcohol gain weight zyrtec calculate alcohol beer coumadin common dose online prescription soma viagra zoloft side effect nicotine patch heather like viagra dog pepcid complete polyvinyl alcohol formula alcohol jello recipe shot chronic marijuana information tobacco vs marijuana kaye fillmore alcohol effects of ibuprofen and marijuana swimmers ear and keflex xanax pills pictures ritalin cocaine buy tramadol cheap medication 35009 buy marijuana phish tab ipl alcohol astrazeneca toprol xl patient assistance furosemide without prescription overnight delivery phentermine order no scripts overnight delivery california alcohol rehabilitation chemistry alcohol diol triol afghanistan cultivation opium first medical marijuana grower information zyprexa marijuana affects on the brain marijuana insomnia lyrics lil wayne call rice cocaine were can i buy legal steroids calcium synthroid dangers of infant motrin long use celexa lead ambien detection in urine screen fear of buying marijuana seeds folic acid twins morphine symptoms joint ache ortho gardening book former sports stars and steroids spiritual happenings on cocaine treating hyponatremia with tetracycline long term effects after cocaine use 5 buy online u view xanax alcohol laws in north carolina seroquel prices nicotine withdrawal syndrome alcohol lowers your hearing acuity chemicals in marijuana smoke clomid and ovulation test kit oxycodone hydrocodone diabetes medication metformin depakote receptors brain damage alcohol abuse cephalexin and alcohol dui benzyl alcohol where to get anabolic steroids alcohol coronary heart disease omeprazole picture zoloft equivalent corporate drug alcohol policies can you take tenuate with lexapro augmentin xr 1000 side effects picture of marijuana plants generic rohypnol diy marijuana detox alcohol denat formula diflucan side effects liver codeine coversion to heroin difference between zyrtec and clarinex jonathan davis steroids sick glyburide drug interactions naprosyn enteric coated wellbutrin and serotonin folic scan are steroids harmful purchase meridia pills online effects fenofibrate side tablet tricor intervals acemataphine ibuprofen overdose alcohol deaths buspirone xl descented rubbing alcohol sneaking in alcohol marijuana grower video feed alcohol rel ated crashes adverse psychological effects of ecstasy use male testosterone overdose richard jeni lexapro kids and alcohol articles focalin alcohol good effects and causes of alcohol beer 30 alcohol content drugs to substitute for ritalin philippines three foreigners marijuana can you give a dog skelaxin buy cheap diazepam online diclofenac site symbols of ecstasy alcohol drink receipt synthroid allergy shots synthroid use teen drivers alcohol indiana chickweed testosterone macrobid nasacort imitrex is fortical equivalent to miacalcin download free movies cocaine cowboys skelaxin muscle relaxer paper anaboli steroids clomid aspirin paxil drug test xanax no prescroption prednisone eyedrops marijuana out of body fexofenadine eye drops ivonne yasmin rodriguez puerto rico razadyne seroquel not take together interesting facts marijuana nutritional data alcohol pass a marijuana drug test immediately multi symptom tylenol cold hydrocodone no prescription vicodin safe alcohol limits modified release oral morphine dosage forms pfizer lipitor patent litigation inpatient alcohol rehabilitation baltimore maryland turning morphine aa deca steroids side effects alcohol in ale and lager beers is zoloft safe during pregnancy aciphex flomax index php addiction help oxycontin drug abuse marijuana making marijuana oil with keif toxic level of coumadin online prescription ultram viagra richmond alcohol related news dj youri fuck on cocaine ortho surgery in mesa az klonopin subconscious xisico b50 pcp lipitor menopause cialis faq tramadol pictur effexor xr and cause weight gain aciphex pravachol internet pharmacy vicodin detox bay area azithromycin and ear pain lipitor and zocor news sociological risk factors alcohol taking prilosec with zantac xanax overdose amount 1500 mg overdose seroquel is buspar tested in drug screen banning alcohol cheapest phentermine official store ultram tramadol hci tablet on line prescriptions cialis pills erica durance ecstasy mao inhibitor zoloft alcohol percentage in christian moerlein oktoberfest marijuana health alcohol houston treatment penicillin alcohol yasmin 21 sore stomach children ambien ambien us pharmacy consultation medical term detrol la prilosec nexium better gerd norco jack stands legal serzone 618 vioxx and heart failure 890 heavy user of ecstasy pulmonary hypertension viagra xanax 5 alcohol and cell membranes phentermine hcl bulk 100 powder fake viagra websites viagra fertility research cheapest generic adipex marijuana mail service generic ciales tadalafil buspar luvox risperdal effects of drugs and alcohol interstitial cystitis prempro hrt dose of tetracycline for rat meridia migraine headaches attorney celebrex texas vioxx acyclovir tiredness history of marijuana legalization cultivating marijuana indoor ranitidine how long before it works information on the drug colchicine gyno steroids wsma medical marijuana document bringing alcohol into the united states alcohol abuse in alaska iv dilantin administration oxycontin withdrawal timeframe prevacid equivalent otc g134 oxycontin 80 mg potent marijuana by celexa posted re rosem withdrawl limoncello recipe with grain alcohol schmoll zoloft good reasons to legalize marijuana cocaine anonymous phoenix marijuana legislation black death alcohol wellbutrin alternatives sertraline interaction with alcohol metrogel mole alabama attorney vioxx tylenol cold and congestion recall dave gahan heroin orgins of folic acid efectos colaterales finasteride cocaine naisal damage oral testosterone discount tamiflu oxycodone pain zenegra sildenafil 3mg kg claritin import purchase tenuate dospan pdr carisoprodol cheap online viagra cost prilosec robin williams alcohol father bob depakote does it affect the kidneys missed period while tahing clomid seroquel xl marijuana and driving under the influence can marijuana cause kidney damage lipitor and occasional grapefruit prescription zyban vioxx schaffer drug library marijuana prohibition alcohol free wipes vodka alcohol content tamoxifen alternative obsessed with alcohol singulair long term side effects loratadine online pharmacy compare or viagra oxycontin treatment withdrawal kessler's alcohol heparin coumadin burning stomach after alcohol lotensin tiem release grow blueberry marijuana omeprazole and itching toprol lawsuits generic viagra soft tab bupropion sr 150mg tab ritalin long term use news syracuse ny ambien best life viagra buy comment leave online zoloft 90 day alcohol treatment centers prednisone psoriatic arthritis alcohol rehabilitation georgia veterans penicillin for th treatment of mastitis fluconazole thrush prednisone used in cats albuterol drug interactions buy canada online zyban carbon in ecstasy b hse onkelz heroin ecstasy baby most powerful alcohol side effects from weaning off diovan autoignition temperature of butyl alcohol alcohol calories comparison carisoprodol href poppy plants with highest opium yield estradiol increase of cervical mucuc alcohol in morayshire hydrocodone watson hydrocodone buying hydrocodone online generic for lorazepam ultram detoxification morphine sulfate sr cialis dosages list of amphetamines potential side effects of norvasc celebrex amoxicillin interaction soma pain and muscle relief between drug interaction ionamin paxil penicillin ld nicotine patch and pregnancy acyclovir 2b depression cocaine vs methamphetamine love on ecstasy lorazepam pharmacology estradiol dosage alcohol liquor or beer first pictures of person after tooking viagra cocaine compulsive overeating ovulatio using clomid safe injectable testosterone infant motrin alcohol enema murder ambien prescription carisoprodol list of words for marijuana generic for neurontin abandoned alcohol factory limerick viagra versus lavitra actos phentermine imitrex alcohol vs meth viagra substitute brazil omnigen verapamil causes anemia physical and psychological dependence to alcohol celexa dosage elderly vegetarian alcohol did you know facts on cocaine marijuana growing tips sexing free