And I don't recall Java having lambdas, anonymous types or any of the LINQ stuff which gives C# such good support for functional programming, although maybe I missed those.
As Khyber has pointed out, the trombone can make the distinction. All brass instruments can, actually; the trombone does it with the slide, the French horn with the hand position and the rest with the lips. So can all string instruments (unfretted ones more easily than fretted ones), most synthesizers, and, of course, the human voice. The tempered scale that keyboard instruments are usually tuned to is a compromise, and when good musicians don't have to make that compromise they usually don't. I doubt you'll hear a good quality string quartet playing using the tempered scale.
Everybody seems to treat this as if it's a "what language should I learn", and that doesn't make sense to me. The two big changes I see since the 1980s are object oriented programming and event driven programming. Add those two together and it's a whole different way of thinking about a problem. Just change language, and you'll still be producing 1980s solutions in a 21st century language. I would say that the language doesn't matter one iota, as long as it supports object orientation. C++, C#, Ruby, Python, Java, Objective C, Object Pascal, Smalltalk, even Ada95 at a push -- it doesn't matter. If you're any sort of a programmer you'll end up able to switch between them easily. What will take the effort is getting into the modern way of breaking down a problem. So find a good tutorial on object oriented programming, and learn the language that the tutorial uses. Then find an event-driven GUI and learn the basics of that. If you're on a Windows platform then the version of Visual Studio Express for your language of choice is pretty much a no-brainer. It doesn't matter whether it's the same language as the OO tutorial, and it doesn't matter whether it's the GUI you'll end up programming for. You're not going deeply into either at this stage. The key is to get a grasp of the fundamentally different way programs are put together nowadays. Once you have that, then you can start looking at what languages and what platforms you want to fine-tune your skills on.
C# is certainly Windows specific: although it's available under Mono it's designed to be pretty much.NET's native high-level language. But knock-off of Java? Oh, please. It's taken the best from all over the place, including Java but including pretty much everything else. Compared to Java it's an absolute dream to program in; it's a pity it's not as suitable for cross-platform work.
A commercial software developer developing for MS Windows has already put their company into Microsoft's basket. How many companies are turning a profit on Windows development, compared to Linux development (note: development, not support)?
It broke a fully W3C compliant website I'm responsible for, which had worked fine under earlier versions and all the other browsers I'd tested it under, from Lynx to Chrome, a couple of days before we were due to go live. We had to postpone launch, because it was an automatic update and we thought we'd get the blame, not MS.
The UK is somewhat long and thin. As far as I can see, the size is between that of Minnesota and that of Michigan. So not exactly a Rhode Island or a Delaware, but not exactly a Texas or an Alaska either.
Yes, there are differences between the system in Scotrland and that in England and Wales (I don't know about the Northern Irish system), but there's a lot of overlap, too. On that basis the US university system is presumably 51 different systems. (Are there any States without universities? The 51st I'm allowing is for federally funded universities.)
And the UK has Oxford, Cambridge, Aberdeen and St Andrews, all within what would be a small US state, and all in the same division as the first few on the list.. France has La Sorbonne. And so on. Yes, the USA has world-class universities, but so do lots of other places. It doesn't make the USA system the "best". (I've only heard of about two-thirds of the universities on your list by the way. I could name quite a few universities in the UK that "people come to attend from across the globe" but that are not so famous on the world stage, too.
There have been suggestions of medical attention switching, whilst the patient is still alive, from preservation of life to preservation of organs, though. That's worrying.
The UK system for motoring offences caught on camera (most, I'm not sure whether it's true of all) is you are given the option of taking it to court or paying a reduced penalty.
Personally, I would not be very comfortable if a company I have absolutely no control over has control over the software that runs the pacemaker in my chest.
If you needed one, you'd be a damn site less comfortable without the pacemaker. Briefly.
What if they decide to start charging a yearly fee for their pacemaker software?
How would they enforce it? The things are not connected to the internet, you know.
What if they refuse to provide critical software updates unless I fork over more money to them?
Er -- do you actually know what a pacemaker is? What would comprise a "critical software update"? The whole thing gets replaced every few years, anyway, because of battery life.
People will die from shortcomings of technology, whether the tech is FOSS or not.
And since we're talking about medical implants here, even more people will die without the technology. That's no reason not to try to improve the safety of the implants, but we need to keep it in perspective.
The number of people in this discussion who think that safety is a matter of testing seems to me to be a pretty good indicator of why the idea won't work.
Formal methods on their own are not enough -- at least, not with the current state of formal methods. Formal methods and testing tend to expose different bugs. But the principle is right: maybe an independent safety assessor evaluates the process and products, and the manufacturer submits their argument as to why the system is acceptably safe to a regulator.
We need to be careful about what is "sufficiently safe" though. If somebody would die for sure without the implant then "the implant probably won't kill them" is a big improvement, whereas achieving "the implant almost certainly won't kill them" might price the implant out of reach of most people who need it so it goes back to the situation in which they die. As a rule of thumb, moving up one IEC61508 SIL increases costs by about an order of magnitude. Formal proofs mean that you're talking about SIL 4, so you're talking of the order of 10 000 times the cost of normal commercial standard software (treating that as SIL 0). Increase the development cost of a life-saving implant by a factor of 10 000 and unless you have massive economies of scale you're going to end up indirectly killing people by pricing it out of the market.
And as people pointed out the first time around, medical devices are tested extensively before being deployed.
Not just tested. Safety-of-life systems are usually subject to extensive checks on the development process and in the most significant cases to extensive static analysis. Even if you opened the code up to inspection it would be pretty much useless without all of the design documentation and all the other documentation that explains why the code is sufficiently safe. I don't see how the free software model gives any significant safety advantage; all that would happen is the developers would get bogged down by people commenting that they haven't used the latest tricks for "efficiency", whereas in fact mission critical software deliberately sticks to boring, old-fashioned, tried-and-tested techniques.
The trouble is that a democracy is based on a persons ability to get elected, not their ability to do the job. I understand all the arguments about it being the "worst form of government except for all the others", but I think it's important to recognise that it has faults. I can see an advantage in the second house being chosen by a completely different system, because even though that system will have worse faults than democracy most of them will be different faults. As an engineer I can see the advantage of diverse systems even if one of the diverse systems is clearly better than the other.
And I don't recall Java having lambdas, anonymous types or any of the LINQ stuff which gives C# such good support for functional programming, although maybe I missed those.
As Khyber has pointed out, the trombone can make the distinction. All brass instruments can, actually; the trombone does it with the slide, the French horn with the hand position and the rest with the lips. So can all string instruments (unfretted ones more easily than fretted ones), most synthesizers, and, of course, the human voice. The tempered scale that keyboard instruments are usually tuned to is a compromise, and when good musicians don't have to make that compromise they usually don't. I doubt you'll hear a good quality string quartet playing using the tempered scale.
Everybody seems to treat this as if it's a "what language should I learn", and that doesn't make sense to me. The two big changes I see since the 1980s are object oriented programming and event driven programming. Add those two together and it's a whole different way of thinking about a problem. Just change language, and you'll still be producing 1980s solutions in a 21st century language. I would say that the language doesn't matter one iota, as long as it supports object orientation. C++, C#, Ruby, Python, Java, Objective C, Object Pascal, Smalltalk, even Ada95 at a push -- it doesn't matter. If you're any sort of a programmer you'll end up able to switch between them easily. What will take the effort is getting into the modern way of breaking down a problem. So find a good tutorial on object oriented programming, and learn the language that the tutorial uses. Then find an event-driven GUI and learn the basics of that. If you're on a Windows platform then the version of Visual Studio Express for your language of choice is pretty much a no-brainer. It doesn't matter whether it's the same language as the OO tutorial, and it doesn't matter whether it's the GUI you'll end up programming for. You're not going deeply into either at this stage. The key is to get a grasp of the fundamentally different way programs are put together nowadays. Once you have that, then you can start looking at what languages and what platforms you want to fine-tune your skills on.
As I mentioned earlier, C# is just a knock off of Java.
It's extremely similar if you're familiar with both, 98% of a port can be done with search and replace... s/using/import/g, etc.
Somebody else who needs to update their knowledge, evidently.
Well, if submitter learned Java then it would be trivial for them to learn C# as well.
Only in so far as if the submitter learned any OO language it would be trivial for them to learn another. Have you looked at recent versions of C#?
I thought Mono only supported C# v2? That's not bad, but the really neat stuff in C# comes with version 3, and I didn't think mono supported that yet.
C# is certainly Windows specific: although it's available under Mono it's designed to be pretty much .NET's native high-level language. But knock-off of Java? Oh, please. It's taken the best from all over the place, including Java but including pretty much everything else. Compared to Java it's an absolute dream to program in; it's a pity it's not as suitable for cross-platform work.
A commercial software developer developing for MS Windows has already put their company into Microsoft's basket. How many companies are turning a profit on Windows development, compared to Linux development (note: development, not support)?
Actually if you sharpen B, (go up a semitone) you end up back with C
Not quite, although not all instruments are capable of making the distinction.
It broke a fully W3C compliant website I'm responsible for, which had worked fine under earlier versions and all the other browsers I'd tested it under, from Lynx to Chrome, a couple of days before we were due to go live. We had to postpone launch, because it was an automatic update and we thought we'd get the blame, not MS.
The UK is somewhat long and thin. As far as I can see, the size is between that of Minnesota and that of Michigan. So not exactly a Rhode Island or a Delaware, but not exactly a Texas or an Alaska either.
Yes, there are differences between the system in Scotrland and that in England and Wales (I don't know about the Northern Irish system), but there's a lot of overlap, too. On that basis the US university system is presumably 51 different systems. (Are there any States without universities? The 51st I'm allowing is for federally funded universities.)
And the UK has Oxford, Cambridge, Aberdeen and St Andrews, all within what would be a small US state, and all in the same division as the first few on the list.. France has La Sorbonne. And so on. Yes, the USA has world-class universities, but so do lots of other places. It doesn't make the USA system the "best". (I've only heard of about two-thirds of the universities on your list by the way. I could name quite a few universities in the UK that "people come to attend from across the globe" but that are not so famous on the world stage, too.
All death is suicide. We chose to be born
Speak for yourself. I wanted to stay in there.
There have been suggestions of medical attention switching, whilst the patient is still alive, from preservation of life to preservation of organs, though. That's worrying.
Who says that's a benefit?
Not in the UK, no.
The UK system for motoring offences caught on camera (most, I'm not sure whether it's true of all) is you are given the option of taking it to court or paying a reduced penalty.
I assume you have done due diligence, and made sure the company debts don't swamp the negative sums you're bidding...
I'm with you completely. I'd volunteer you to be one of the culled too.
Personally, I would not be very comfortable if a company I have absolutely no control over has control over the software that runs the pacemaker in my chest.
If you needed one, you'd be a damn site less comfortable without the pacemaker. Briefly.
What if they decide to start charging a yearly fee for their pacemaker software?
How would they enforce it? The things are not connected to the internet, you know.
What if they refuse to provide critical software updates unless I fork over more money to them?
Er -- do you actually know what a pacemaker is? What would comprise a "critical software update"? The whole thing gets replaced every few years, anyway, because of battery life.
People will die from shortcomings of technology, whether the tech is FOSS or not.
And since we're talking about medical implants here, even more people will die without the technology. That's no reason not to try to improve the safety of the implants, but we need to keep it in perspective.
The number of people in this discussion who think that safety is a matter of testing seems to me to be a pretty good indicator of why the idea won't work.
Formal methods on their own are not enough -- at least, not with the current state of formal methods. Formal methods and testing tend to expose different bugs. But the principle is right: maybe an independent safety assessor evaluates the process and products, and the manufacturer submits their argument as to why the system is acceptably safe to a regulator.
We need to be careful about what is "sufficiently safe" though. If somebody would die for sure without the implant then "the implant probably won't kill them" is a big improvement, whereas achieving "the implant almost certainly won't kill them" might price the implant out of reach of most people who need it so it goes back to the situation in which they die. As a rule of thumb, moving up one IEC61508 SIL increases costs by about an order of magnitude. Formal proofs mean that you're talking about SIL 4, so you're talking of the order of 10 000 times the cost of normal commercial standard software (treating that as SIL 0). Increase the development cost of a life-saving implant by a factor of 10 000 and unless you have massive economies of scale you're going to end up indirectly killing people by pricing it out of the market.
And as people pointed out the first time around, medical devices are tested extensively before being deployed.
Not just tested. Safety-of-life systems are usually subject to extensive checks on the development process and in the most significant cases to extensive static analysis. Even if you opened the code up to inspection it would be pretty much useless without all of the design documentation and all the other documentation that explains why the code is sufficiently safe. I don't see how the free software model gives any significant safety advantage; all that would happen is the developers would get bogged down by people commenting that they haven't used the latest tricks for "efficiency", whereas in fact mission critical software deliberately sticks to boring, old-fashioned, tried-and-tested techniques.
The trouble is that a democracy is based on a persons ability to get elected, not their ability to do the job. I understand all the arguments about it being the "worst form of government except for all the others", but I think it's important to recognise that it has faults. I can see an advantage in the second house being chosen by a completely different system, because even though that system will have worse faults than democracy most of them will be different faults. As an engineer I can see the advantage of diverse systems even if one of the diverse systems is clearly better than the other.