Items tagged with: replacement
HN Discussion: https://news.ycombinator.com/item?id=19705440
Posted by DarwinMailApp (karma: 96)
Post stats: Points: 131 - Comments: 91 - 2019-04-20T08:35:05Z
#HackerNews #built #darwin #google #inbox #mail #replacement #show
HackerNewsBot debug: Calculated post rank: 117 - Loop: 242 - Rank min: 100 - Author rank: 20
I have a saying that summarizes my opinion of Rust compared to Go: “Go is the result of C programmers designing a new programming language, and Rust is the result of C++ programmers designing a new…
HN Discussion: https://news.ycombinator.com/item?id=19482669
Posted by Sir_Cmpwn (karma: 17069)
Post stats: Points: 102 - Comments: 122 - 2019-03-25T14:29:18Z
#HackerNews #good #not #replacement #rust
I have a saying that summarizes my opinion of Rust compared to Go: “Go is the result of C programmers designing a new programming language, and Rust is the result of C++ programmers designing a new programming language”. This isn’t just a metaphor - Go was designed by plan9 alumni, an operating system written in C and the source of inspiration for many of Go’s features, and Rust was designed by the folks at Mozilla - whose flagship product is one of the largest C++ codebases in the world.
The values of good C++ programmers are incompatible with the values of good C programmers^1. Rust is a decent C++ replacement if you have the same goals as C++, but if you don’t, the design has very similar drawbacks. Both Rust and C++ are what I like to call “kitchen sink” programming languages, with the obvious implication. These languages solve problems by adding more language features. A language like C solves problems by writing more C code.
I did some back of the napkin estimates of the rate at which these languages become more complex, based on the rate at which they add features per year. My approach wasn’t very scientific, but I’m sure the point comes across.
* C: 0.73 new features per year, measured by the number of bullet points in the C11 article on Wikipedia which summarizes the changes from C99, adjusted to account for the fact that C18 introduced no new features. * Go: 2 new features per year, measured by the number of new features listed on the Wikipedia summary of new Go versions. * C++: 11.3 new features per year, measured by the number of bullet points in the C++17 article which summarizes the changes from C++14. * Rust: 15 new features per year, measured by the number of headers in the release notes of major Rust versions over the past year, minus things like linters.
This speaks volumes to the stability of these languages, but more importantly it speaks to their complexity. Over time it rapidly becomes difficult for one to keep an up-to-date mental map of Rust and how to solve your problems idiomatically. A Rust program written last year already looks outdated, whereas a C program written ten years ago has pretty good odds of being just fine. Systems programmers don’t want shiny things - we just want things that work. That really cool feature $other_language has? Not interested. It’ll be more trouble than it’s worth.
With the philosophical wish-wash out of the way and the tone set, let me go over some more specific problems when considering Rust as a C replacement.
C is the most portable programming language. Rust actually has a pretty admirable selection of supported targets for a new language (thanks mostly to LLVM), but it pales in comparison to C, which runs on almost everything. A new CPU architecture or operating system can barely be considered to exist until it has a C compiler. And once it does, it unlocks access to a vast repository of software written in C. Many other programming languages, such as Ruby and Python, are implemented in C and you get those for free too.
C has a spec. No spec means there’s nothing keeping rustc honest. Any behavior it exhibits could change tomorrow. Some weird thing it does could be a feature or a bug. There’s no way to know until your code breaks. That they can’t slow down to pin down exactly what defines Rust is also indicative of an immature language.
C has many implementations. C has many competing compilers. They all work together stressing out the spec, fishing out the loosely defined corners, and pinning down exactly what C is. Code that compiles in one and not another is indicative of a bug in one of them, which gives a nice extra layer of testing to each. By having many implementations, we force C to be well defined, and this is good for the language and its long-term stability. Rustc could stand to have some competition as well, maybe it would get faster!^2
C has a consistent & stable ABI. The System-V ABI is supported on a wide variety of systems and has been mostly agreed upon by now. Rust, on the other hand, has no stable internal ABI. You have to compile and link everything all in one go on the same version of the Rust compiler. The only code which can interact with the rest of the ecosystem is unidiomatic Rust, written at some kind of checkpoint between Rust and the outside world. The outside world exists, it speaks System-V, and us systems programmers spend a lot of our time talking to it.
Cargo is mandatory. On a similar line of thought, Rust’s compiler flags are not stable. Attempts to integrate it with other build systems have been met with hostility from the Rust & Cargo teams. The outside world exists, and us systems programmers spend a lot of our time integrating things. Rust refuses to play along.
Concurrency is generally a bad thing. Serial programs have X problems, and parallel programs have X^Y problems, where Y is the amount of parallelism you introduce. Parallelism in C is a pain in the ass for sure, and this is one reason I find Go much more suitable to those cases. However, nearly all programs needn’t be parallel. A program which uses poll effectively is going to be simpler, reasonably performant, and have orders of magnitude fewer bugs. “Fearless concurrency” allows you to fearlessly employ bad software design 9 times out of 10.
Safety. Yes, Rust is more safe. I don’t really care. In light of all of these problems, I’ll take my segfaults and buffer overflows. I especially refuse to “rewrite it in Rust” - because no matter what, rewriting an entire program from scratch is always going to introduce more bugs than maintaining the C program ever would. I don’t care what language you rewrite it in.
C is far from the perfect language - it has many flaws. However, its replacement will be simpler - not more complex. Consider Go, which has had a lot of success in supplanting C for many problems. It does this by specializing on certain classes of programs and addressing them with the simplest solution possible. It hasn’t completely replaced C, but it has made a substantial dent in its problem space - more than I can really say for Rust (which has made similar strides for C++, but definitely not for C).
The kitchen sink approach doesn’t work. Rust will eventually fail to the “jack of all trades, master of none” problem that C++ has. Wise languages designers start small and stay small. Wise systems programmers extend this philosophy to designing entire systems, and Rust is probably not going to be invited. I understand that many people, particularly those already enamored with Rust, won’t agree with much of this article. But now you know why we are still writing C, and hopefully you’ll stop bloody bothering us about it.
Have a comment on one of my posts? Start a discussion in my public inbox by sending an email to ~firstname.lastname@example.org [mailing list etiquette]
HackerNewsBot debug: Calculated post rank: 108 - Loop: 135 - Rank min: 100 - Author rank: 47
Replacement of the aortic valve with a minimally invasive procedure called TAVR proved effective in younger, healthier patients.
Article word count: 1348
HN Discussion: https://news.ycombinator.com/item?id=19410233
Posted by matt4077 (karma: 10992)
Post stats: Points: 125 - Comments: 37 - 2019-03-16T20:54:45Z
#HackerNews #aortic #effective #healthier #patients #replacement #transcatheter #valve #younger
Replacement of the aortic valve with a minimally invasive procedure called TAVR proved effective in younger, healthier patients.
With TAVR, the only incision is a small hole in the groin where a catheter is inserted. Traditional surgery involves cracking open the ribs and stopping the heart to insert the new valve.CreditJean-Paul Chassenet/Science Source
The operation is a daring one: To replace a failing heart valve, cardiologists insert a replacement through a patient’s groin and thread it all the way to the heart, maneuvering it into the site of the old valve.
The procedure, called transcatheter aortic valve replacement (TAVR), has been reserved mostly for patients so old and sick they might not survive open-heart surgery. Now, two large clinical trials show that TAVR is just as useful in younger, healthier patients.
It might even be better, offering lower risks of disabling strokes and death, compared to open-heart surgery. Cardiologists say it will likely change the standard of care for most patients with failing aortic valves.
“Is it important? Heck, yes,” said Dr. Robert Lederman, who directs the interventional cardiology research program at the National Heart, Lung and Blood Institute. The findings “were remarkable,” he added.
[Like the Science Times page on Facebook. | Sign up for the Science Times newsletter.]
Dr. Lederman was not involved with the studies and does not consult for the two device companies that sponsored them.
In open-heart surgery, a patient’s ribs are cracked apart and the heart is stopped to insert the new aortic valve.
With TAVR, the only incision is a small hole in the groin where the catheter is inserted. Most patients are sedated, but awake through the procedure, and recovery takes just days, not months, as is often the case following the usual surgery.
The results “shift our thinking from asking who should get TAVR to why should anyone get surgery,” said Dr. Howard Herrmann, director of interventional cardiology at the University of Pennsylvania.
“If I were a patient, I would choose TAVR,” said Dr. Gilbert Tang, a heart surgeon at the Icahn School of Medicine at Mount Sinai in New York, who was not involved in the new research.
The studies are to be published in the New England Journal of Medicine and presented on Sunday at the American College of Cardiology’s annual meeting.
The Food and Drug Administration is expected to approve the procedure for lower-risk patients. As many as 20,000 patients a year would be eligible for TAVR, in addition to the nearly 60,000 intermediate- and high-risk patients who get the operation now.
“This is a clear win for TAVR,” said Dr. Michael J. Mack, a heart surgeon at Baylor Scott and White The Heart Hospital-Plano, in Texas. From now on, “we will be very selective” about who gets open-heart surgery, said Dr. Mack, a principal investigator in one of the trials.
Some healthier patients will still need the traditional surgery — for example, those born with two flaps to the aortic valve instead of the usual three. Having two flaps can lead to early aortic valve failure.
TAVR was not tested in these patients, and the condition occurs more often in younger patients who are low surgical risks.
Aortic valve failure stems from a stiffening of the valve controlling flow from the large vessel in the heart that supplies blood to the rest of the body. Patients often are tired and short of breath.
There is no way to prevent the condition, and no treatment other than replacing the valve. The main risk factor is advancing age.
Although both studies enrolled over 1,000 patients, the trials differed slightly in design, making direct comparisons difficult.
The study led by Dr. Mack and Dr. Martin Leon, an interventional cardiologist at Columbia University in New York, tracked deaths, disabling strokes and hospitalizations at one year following the procedures. The rates were 15 percent with surgery versus 8.5 percent with TAVR.
The rates of deaths and disabling strokes — the factors most important to patients — were 2.9 percent with surgery versus 1 percent with TAVR.
The second study estimated deaths or disabling strokes at two years, finding rates of 6.7 percent with surgery versus 5.3 percent with TAVR.
The trials were sponsored by makers of TAVR valves, Edwards Lifesciences of Irvine, Calif., and Medtronic, headquartered in Dublin. The two companies make slightly different valves.
The Edwards valve is compressed onto a balloon catheter that is pushed through a blood vessel from the groin to the aorta. Once it reaches the aorta, a cardiologist inflates the balloon and expands the valve, which pushes aside the failing valve.
The Medtronic valve is made of nitinol, a metal that shrinks when it is cold and expands when warm. The valve is chilled and put onto a catheter. When it reaches the aorta, the cardiologist pulls back a sheath, freeing the new valve. Warmed by the body, it expands to fill the narrowed opening and remains there.
With traditional surgery, by contrast, a doctor cuts out the old valve and sews in a new one, removing the old valve instead of leaving it in the heart.
Robert Pettinato at Long Cove Club in Hilton Head, S.C., after receiving a nonsurgical treatment called TAVR to replace a valve in his heart.CreditJoy Bonala for The New York Times
Dr. Jeffrey J. Popma, an interventional cardiologist at Beth Israel Deaconess in Boston, led the second trial and is a consultant for both manufacturers. He uses both devices in surgery, and said the important finding is that both were preferable to surgery.
The studies involved leading surgeons and cardiologists at academic medical centers, many enlisted as consultants. Independent data and safety monitoring committees oversaw the trials, and independent statisticians confirmed the results.
Aortic valve replacements have been performed for decades, and surgeons know the valves placed during surgery last at least 10 to 15 years. It remains to be seen if TAVR valves will fare as well.
The question is especially important for younger patients. The average age of subjects in the current studies was the low to mid 70s, younger by a decade or more than most patients getting TAVR now.
Hospitals offering TAVR will take a financial hit when lower-risk patients start opting for it, Dr. Herrmann said. The TAVR valves cost far more than valves placed surgically, but insurers usually pay equally for either procedure.
“Open-heart surgery, particularly in low-risk patients, is very profitable,” Dr. Herrmann said.
More than half a dozen companies make surgical valves, but only two market TAVR valves. Perhaps with more competition, Dr. Herrmann said, prices for TAVR valves will come down.
At the moment, it will be up to most patients which procedure they choose, Dr. Popma said — TAVR or surgery.
For Robert Pettinato, 79-year-old retiree in Scranton, Pa., there was no question. He had been feeling mild chest pain, and he was finding it difficult to finish a round of golf.
But last year, when his cardiologist told Mr. Pettinato that he needed a new valve, the only way he could get TAVR was to enter a clinical trial. He enrolled in the Edwards trial at the University of Pennsylvania.
He had TAVR in November, stayed in the hospital for 24 hours and went home. A few days later, he went to the football game at Lehigh University against its archrival, Lafayette. (He’s a Lehigh alumnus and never misses that game.)
Shortly afterward, his younger brother Jim, who lives in Florida, had to have aortic valve replacement. He wanted TAVR, but the clinical trials were closed. He had surgery instead.
It took his brother four months to recover enough to play a round of golf, Mr. Pettinato said.
Mr. Pettinato is back to playing golf himself. “I am the luckiest guy in the world,” he said.
Gina Kolata writes about science and medicine. She has twice been a Pulitzer Prize finalist and is the author of six books, including “Mercies in Disguise: A Story of Hope, a Familyʼs Genetic Destiny, and The Science That Saved Them.” @ginakolata • Facebook
A version of this article appears in print on , on Page A29 of the New York edition with the headline: Trials Show Heart Valve Helps Younger Patients. Order Reprints | Today’s Paper | Subscribe
HackerNewsBot debug: Calculated post rank: 95 - Loop: 193 - Rank min: 80 - Author rank: 29