just no reason to go with them when Java is already there and does the job quite well thank you
Wow. Just wow. "I know X, so there's no reason the world needs not-X". All Turing-equivalent languages can do the same job, but Java does that job with about 3x the boilerplate of C# (otherwise they're fairly similar, as Java has finally caught up with every other real language in adding list comprehensions). The lack of proper generics/templates in Java is still a daily pain in my ass, however, as is the simple inability to do List<int>
I understand a preference for the familiar, but when 2 languages are as similar as C# and Java, and one is just better implemented, it seems weird to form an emotional attachment to the other. (Unless this is all really MS-hatred, in which case fine, Win95 killed my pappy, whatever.)
Perhaps, but that begs the "why not just go with Java?" question
Java is.. not very good. I've alternated between Java and C# professionally over the past 8 years or so, and while they used to be quite similar, C# is worlds ahead now (thanks, Oracle!).
lets face it NOTHING runs on both iOS and everything else, that's a pipe dream,
Check out Xamarin. "With a C# shared codebase, developers can use Xamarin tools to write native iOS, Android, and Windows apps with native user interfaces and share code across multiple platforms. Xamarin has over 1 million developers in more than 120 countries around the world as of May 2015."
There's a reason this is MS's last, best hope for C#. If the Xamarin stuff is bundled free with Visual Studio 2015's free version (as has been promised, but we'll see), it will be something special. If it were anyone but MS, I'd say right now this was going to be a huge win, but it's such a big change in attitude for MS - well, we'll see.
Remind me again why phones and tablets needed a different programming language?
This is why the one hope for C# is MS's partnership with Xamarin (but I think it's a good one). C# as a cross-platform alternative to Java would be all sorts of wonderful - but I won't believe it until it actually plays out that way. If a year from now there were no gotchas, I can really write an app* in C#, test it on my desktop, then sideload it into an Android and an iThing and get appropriate interfaces, and no surprises have happened with licensing? Well, that's a bright future for C# IMO.
It also doesn't hurt C# that Unity have become the "gateway drug" for game devs, giving another cross-platform venue for C# for those who choose it (it has hurt the Steam store, but that's another story).
Every time any Russian says anything it is Putin's fault or the whole Russian governments fault. Yet the endless stream of bullshit spouting out from the whackddoodles that infest the US congress and senate is considered as not being from the US government at all this by the US government.
Well, democracy is just a collection of clowns who can't even agree on which clown car to use, but in a dictatorship it is all the fault of the dictator.
Well, it's pretty much what differentiates the geeks from the posers, yes. There's nothing you can buy, wear, watch, or carry that makes you a geek - it's the desire to understand how everything works, and to fiddle with all those details. I've always felt like my geek card needs a corner clipped off just because I don't root my phone (the shame!), but to not have at least one home computer that you've built yourself and use regularly? Well, at that point you might as well shop at Hot Topic and pay someone to cable up your AV equipment, as far as I'm concerned.
(Of course, there are also violin geeks and football statistics geeks and gearheads and whatnot, but we generally mean tech geek here).
Apple hasn't charged a premium for a better phone since maybe the first iPhone. It's just modern jewelry. And when you're buying a status symbol, as long as it's distinctive it's worth what you paid for it. Like a mechanical watch, an iPhone says "marvel at my disposable income and middle-class buying habits".
You can definitely go cheap enough on cables that it's a real problem. My favorite is pulling out a coax cable and having the center pin break off and get stuck in the equipment. Paying $5 for an analog cable is wise, IMO. And if you want a 50 foot HDMI cable, the cheaper ones aren't to spec (you have to use a heavier gauge wire for long runs).
Sure, there's no need to pay Monster's crazy inflated prices, but that doesn't mean there's no downside to the cheapest possible option.
These are flawed Java components, not complete systems. What kind of component-level testing is generally useful for avoiding security issues? Most of the issues I've seen have either been from each component assuming the other was checking for something, or from anti-patterns like depending on "string cleaning" to avoid injection attacks - implementation choices that are bad practice, but have no flaw you can point to at the time the component is written.
Plus in general insecure code tends to be the result of implementation choices, where the component would be fine with any normal unit test of its interface, but is vulnerable to very specifically crafted malformed input.
For more complete systems, fuzz-testing and a variety of common injection attacks are great, but that makes little sense to me at the component level.
and nothing like arbitrary code injection exploits that have marred Flash recently.
There are real problems in Java as well, but, yes, nothing like the frequency of Flash exploits.
Having said that it would be interesting to compare instances of malware exploits for typical desktop internet connected PC by actual vector and see how java related vectors actually measure up.
Desktop PCs are all about browser hijacks. Most people have Java turned off by now (except for some stupid legacy internal corporateware in a few places, much like IE6). I hope to have Flash removed everywhere soon too(once Youtube gets fully away from Flash - I should check again).
Except for the "rare" part, sure. And every monthly Java exploit puts every machine running Java out there at risk (I'm assured by Sun there are over a billion such machines, much like McDonalds hamburgers).
You can write secure C code - difficult, but possible. You cannot write secure Java code, as there's nothing you can do about your regularly scheduled JVM flaw.
What they mean is that the attackers made off with a database of the financial problems, drug habits, family problems, hidden crimes, and sex fetishes of anybody that's working on anything sensitive.
It's worse than that. Foreign agents might be identifiable through this data. People sleeping with foreign nationals report that, and those foreign nationals might find their own government treats them like a spy now.
People will get killed behind this - likely a large number of people.
IIRC, the first Amiga had cooperative multitasking, but the kernel was written for preemptive multitasking, and following models had it. It was a big deal at the time, about 5 years before Linux made proper multitasking available to the masses.
o one referred to "Personal Computer" at the time with uppercase letters except when it was part of the computer's name (upper case makes it a proper noun). As an acronym, I don't recall "PC" ever being used to describe the generic class of microcomputers.
I don't know where you lived, but we used "PC" that way consistently. No one had a IBM PC in high school: our PCs were C64s, Amigas, Ataris, and the one lucky guy who could afford a Mac. We never needed a word for "IBM PC clone" as non of us had one.
Maybe it's regional, like the whole "what kind of coke would you like" thing.
Really? Something that mathematically proves the code is correct is nonsense? I don't think so
Really. There's no magic correctness fairy. You have to define "correct" - the desired behavior of the system, let's call it "B" - in some formal language. But that's what all coding is - defining the behavior of a system in some formal language. So you're proving that some code in some programming language is equivalent to B. Well, we can do better, we can prove that the object code emitted by the compiler is equivalent to B. Wait, why stop there, why not just write a compiler for the formal language of B in the first place?
Ultimately test driven development, with comprehensive testing requirements (i.e., test every error condition and corner case), is the practical equivalent of all that, and is common for automotive firmware. But it doesn't address corner cases that no one thought of during the design phase. You can't prove code correct, you can only prove it works as designed.
What if both implementations have the same buggy response to an input or what if both implementations have a hole and don't implement the feature
It's an imperfect world, but you have to understand that simple bugs - not behaving as designed - are rare in life-safety software to begin with, and the two-teams approach effectively squares the bug chance (e.g., if simple bugs occur once per million lines of code, they will overlap once per trillion lines of code), But the real issue isn't coding bugs but design oversights, and the real advantage of the two-teams approach is that you get two unrelated brainstorming sessions for corner cases, two different test suites, perhaps even test approaches, to shake out the bugs no one saw coming, and so on. It's done in the real world because it's the best approach anyone has found.
Programmers should have to justify their code and prove its correctness before it's allowed out in the wild.
"Proof of correctness" of code is a bit of nonsense. Practically it comes down to "rite the code in two languages and prove they're equivalent", which does nothing for bad design assumptions. For some components, the firmware is already developed by 2 teams isolated from one another who work in different languages, and you use components from both teams together in a failsafe way. That has at least a chance of protecting you from bad design assumptions. It's quite expensive, however.
For commercial flights, you can't have all the engines serviced by the same crew, to prevent service mistakes. But wasn't this a military flight?
Meh, JS is certainly better than "line number basic". Aside from the twisted and broken approach to classes, I'd go so far as to say it's a good starter language. I do think C# would be a better language choice for "higher levels" (if nothing else, it makes a nice transition to Unity to mess around with game dev at home), but as a first language to code in, you can do a whole lot worse than JS.
That sentence means "these things tend to happen" in English as normal people speak it in conversation - "these things tend to happen to me", in context. He's 72, I'm sure all thee have in fact happened to him. (Women crying in the workplace when criticized certainly happens in other fields, co-workers working long hours becoming romantically entangled certainly happens in other fields - it's a recurring problem in the military). Just doesn't seem remotely controversial to me - those things of course happen from time to time. So what?
You're far better at taking offense than at reading comprehension. That sounds like a recipe for an unhappy life (unless you enjoy being offended, of course, which I suspect may be the case).
just no reason to go with them when Java is already there and does the job quite well thank you
Wow. Just wow. "I know X, so there's no reason the world needs not-X". All Turing-equivalent languages can do the same job, but Java does that job with about 3x the boilerplate of C# (otherwise they're fairly similar, as Java has finally caught up with every other real language in adding list comprehensions). The lack of proper generics/templates in Java is still a daily pain in my ass, however, as is the simple inability to do List<int>
I understand a preference for the familiar, but when 2 languages are as similar as C# and Java, and one is just better implemented, it seems weird to form an emotional attachment to the other. (Unless this is all really MS-hatred, in which case fine, Win95 killed my pappy, whatever.)
Perhaps, but that begs the "why not just go with Java?" question
Java is .. not very good. I've alternated between Java and C# professionally over the past 8 years or so, and while they used to be quite similar, C# is worlds ahead now (thanks, Oracle!).
lets face it NOTHING runs on both iOS and everything else, that's a pipe dream,
Check out Xamarin. "With a C# shared codebase, developers can use Xamarin tools to write native iOS, Android, and Windows apps with native user interfaces and share code across multiple platforms. Xamarin has over 1 million developers in more than 120 countries around the world as of May 2015."
There's a reason this is MS's last, best hope for C#. If the Xamarin stuff is bundled free with Visual Studio 2015's free version (as has been promised, but we'll see), it will be something special. If it were anyone but MS, I'd say right now this was going to be a huge win, but it's such a big change in attitude for MS - well, we'll see.
Remind me again why phones and tablets needed a different programming language?
This is why the one hope for C# is MS's partnership with Xamarin (but I think it's a good one). C# as a cross-platform alternative to Java would be all sorts of wonderful - but I won't believe it until it actually plays out that way. If a year from now there were no gotchas, I can really write an app* in C#, test it on my desktop, then sideload it into an Android and an iThing and get appropriate interfaces, and no surprises have happened with licensing? Well, that's a bright future for C# IMO.
It also doesn't hurt C# that Unity have become the "gateway drug" for game devs, giving another cross-platform venue for C# for those who choose it (it has hurt the Steam store, but that's another story).
*cue the "app" troll
Every time any Russian says anything it is Putin's fault or the whole Russian governments fault. Yet the endless stream of bullshit spouting out from the whackddoodles that infest the US congress and senate is considered as not being from the US government at all this by the US government.
Well, democracy is just a collection of clowns who can't even agree on which clown car to use, but in a dictatorship it is all the fault of the dictator.
Yeah, everyone on knows it's "for all in tents, and porpoises"!
Everyone knows the moon landings were filmed on a soundstage on Mars!
Well, it's pretty much what differentiates the geeks from the posers, yes. There's nothing you can buy, wear, watch, or carry that makes you a geek - it's the desire to understand how everything works, and to fiddle with all those details. I've always felt like my geek card needs a corner clipped off just because I don't root my phone (the shame!), but to not have at least one home computer that you've built yourself and use regularly? Well, at that point you might as well shop at Hot Topic and pay someone to cable up your AV equipment, as far as I'm concerned.
(Of course, there are also violin geeks and football statistics geeks and gearheads and whatnot, but we generally mean tech geek here).
Apple hasn't charged a premium for a better phone since maybe the first iPhone. It's just modern jewelry. And when you're buying a status symbol, as long as it's distinctive it's worth what you paid for it. Like a mechanical watch, an iPhone says "marvel at my disposable income and middle-class buying habits".
You can definitely go cheap enough on cables that it's a real problem. My favorite is pulling out a coax cable and having the center pin break off and get stuck in the equipment. Paying $5 for an analog cable is wise, IMO. And if you want a 50 foot HDMI cable, the cheaper ones aren't to spec (you have to use a heavier gauge wire for long runs).
Sure, there's no need to pay Monster's crazy inflated prices, but that doesn't mean there's no downside to the cheapest possible option.
Geeks build their own PCs. Non-geeks have plenty of websites other than /. to read, no need to come here.
This isn't the /. of old. GNAA posts and the like are outright deleted with some regularity. See that little flag on each comment? Yeah.
These are flawed Java components, not complete systems. What kind of component-level testing is generally useful for avoiding security issues? Most of the issues I've seen have either been from each component assuming the other was checking for something, or from anti-patterns like depending on "string cleaning" to avoid injection attacks - implementation choices that are bad practice, but have no flaw you can point to at the time the component is written.
Plus in general insecure code tends to be the result of implementation choices, where the component would be fine with any normal unit test of its interface, but is vulnerable to very specifically crafted malformed input.
For more complete systems, fuzz-testing and a variety of common injection attacks are great, but that makes little sense to me at the component level.
and nothing like arbitrary code injection exploits that have marred Flash recently.
There are real problems in Java as well, but, yes, nothing like the frequency of Flash exploits.
Having said that it would be interesting to compare instances of malware exploits for typical desktop internet connected PC by actual vector and see how java related vectors actually measure up.
Desktop PCs are all about browser hijacks. Most people have Java turned off by now (except for some stupid legacy internal corporateware in a few places, much like IE6). I hope to have Flash removed everywhere soon too(once Youtube gets fully away from Flash - I should check again).
caused only by rare defects in the JVM itself.
Except for the "rare" part, sure. And every monthly Java exploit puts every machine running Java out there at risk (I'm assured by Sun there are over a billion such machines, much like McDonalds hamburgers).
You can write secure C code - difficult, but possible. You cannot write secure Java code, as there's nothing you can do about your regularly scheduled JVM flaw.
What they mean is that the attackers made off with a database of the financial problems, drug habits, family problems, hidden crimes, and sex fetishes of anybody that's working on anything sensitive.
It's worse than that. Foreign agents might be identifiable through this data. People sleeping with foreign nationals report that, and those foreign nationals might find their own government treats them like a spy now.
People will get killed behind this - likely a large number of people.
And did you live where people drink soda, coke, or pop?
IIRC, the first Amiga had cooperative multitasking, but the kernel was written for preemptive multitasking, and following models had it. It was a big deal at the time, about 5 years before Linux made proper multitasking available to the masses.
o one referred to "Personal Computer" at the time with uppercase letters except when it was part of the computer's name (upper case makes it a proper noun). As an acronym, I don't recall "PC" ever being used to describe the generic class of microcomputers.
I don't know where you lived, but we used "PC" that way consistently. No one had a IBM PC in high school: our PCs were C64s, Amigas, Ataris, and the one lucky guy who could afford a Mac. We never needed a word for "IBM PC clone" as non of us had one.
Maybe it's regional, like the whole "what kind of coke would you like" thing.
Really? Something that mathematically proves the code is correct is nonsense? I don't think so
Really. There's no magic correctness fairy. You have to define "correct" - the desired behavior of the system, let's call it "B" - in some formal language. But that's what all coding is - defining the behavior of a system in some formal language. So you're proving that some code in some programming language is equivalent to B. Well, we can do better, we can prove that the object code emitted by the compiler is equivalent to B. Wait, why stop there, why not just write a compiler for the formal language of B in the first place?
Ultimately test driven development, with comprehensive testing requirements (i.e., test every error condition and corner case), is the practical equivalent of all that, and is common for automotive firmware. But it doesn't address corner cases that no one thought of during the design phase. You can't prove code correct, you can only prove it works as designed.
What if both implementations have the same buggy response to an input or what if both implementations have a hole and don't implement the feature
It's an imperfect world, but you have to understand that simple bugs - not behaving as designed - are rare in life-safety software to begin with, and the two-teams approach effectively squares the bug chance (e.g., if simple bugs occur once per million lines of code, they will overlap once per trillion lines of code), But the real issue isn't coding bugs but design oversights, and the real advantage of the two-teams approach is that you get two unrelated brainstorming sessions for corner cases, two different test suites, perhaps even test approaches, to shake out the bugs no one saw coming, and so on. It's done in the real world because it's the best approach anyone has found.
Programmers should have to justify their code and prove its correctness before it's allowed out in the wild.
"Proof of correctness" of code is a bit of nonsense. Practically it comes down to "rite the code in two languages and prove they're equivalent", which does nothing for bad design assumptions. For some components, the firmware is already developed by 2 teams isolated from one another who work in different languages, and you use components from both teams together in a failsafe way. That has at least a chance of protecting you from bad design assumptions. It's quite expensive, however.
For commercial flights, you can't have all the engines serviced by the same crew, to prevent service mistakes. But wasn't this a military flight?
Meh, JS is certainly better than "line number basic". Aside from the twisted and broken approach to classes, I'd go so far as to say it's a good starter language. I do think C# would be a better language choice for "higher levels" (if nothing else, it makes a nice transition to Unity to mess around with game dev at home), but as a first language to code in, you can do a whole lot worse than JS.
So what? Do we really want to go down the road that fundamentalist Muslims and Jews have gone down and start segregating the sexes in the workplace?
And of course he wasn't seriously suggesting that. But go on with your hate fest over nothing without me.
That sentence means "these things tend to happen" in English as normal people speak it in conversation - "these things tend to happen to me", in context. He's 72, I'm sure all thee have in fact happened to him. (Women crying in the workplace when criticized certainly happens in other fields, co-workers working long hours becoming romantically entangled certainly happens in other fields - it's a recurring problem in the military). Just doesn't seem remotely controversial to me - those things of course happen from time to time. So what?
You're far better at taking offense than at reading comprehension. That sounds like a recipe for an unhappy life (unless you enjoy being offended, of course, which I suspect may be the case).
suggesting that "science" would be better off without those pesky women around is kind of sexist
Oh? I never saw that quote. I rather suspect you're making that up, as SJWs so often do, but I certainly agree that would be a sexist thing to say.
Yeah, buddy. That there is what you call a sexist statement.
No, that there is what hypersensitive millennials who wouldn't know real descrimination if it bit them call "a sexist statement".