Personally, I choose Java before C#. Among other reasons, there is less surprises (like passing by ref vs. by value).
That's a strange statement. In both Java and C# objects are passed by reference. For value types, in C#, if you pass them by reference you have to explicitly annotate them with the "out" keyword, which basically removes any ambiguity (and addresses my problem with & notation in C++).
So, what am I missing here? What surprise are you referring to?
And as an aside, I'd pick C# over Java any day of the week (and this is from a person who worked with Java for quite a few years before being forced to switch over). Why? One reason: higher-order functions. C# actually has real closures, something I've come to rely on thanks to my experience with Smalltalk, and something I deeply missed during my days working with Java.
Right. The ICE would be operating as a generator, charging the batteries, while the electric motor does all the work, as opposed to the ICE putting power directly to the wheels. And this would be the working mode for average stop-and-go traffic.
So, my question is, in such a scenario, where you're converting chemical -> mechanical -> electrical -> mechanical energy, is the total conversion more efficient than putting the energy from the ICE directly into the powertrain? I honestly, don't know the answer to that.
That said, I would *assume* the answer is no, given that no hybrid vehicle operates this way, which would be far simpler than your average full hybrid powertrain.
So, for normal stop-and-go traffic your ICE would basically be driving a generator the entire time. Sounds like a great way to reduce overall efficiency in normal, day-to-day driving scenarios.
Plus, Facebook has (at least) one fundamental flaw: it assumes you WANT everyone who you're "friends" with to indiscriminately know about everyone ELSE you're "friends" with. It ignores the fact that you don't necessarily WANT your kid brother (or coworkers, or parents) reading about your wild weekend (or at least not the full details you'd share with your best and closest friends).
Also introduced to us by Seinfeld as the "worlds colliding" theory of social interaction.
Come on, that's a serious weaselly "yeah, well technically..." answer.
Weasely my ass. It's explicit and precise, not to mention extremely natural. Just because it's broader than you'd like, doesn't make it invalid.
Not being Turing Complete is a pretty serious strike against it,
Umm... why?
* three categories:
Ah, I see you've invented three arbitrary groupings based on your own prejudices. How nice for you. Unfortunately, you still haven't justified your position.
What is a programming language but a method by which humans instruct computers to perform tasks? And, gee wiz, what do you do with SQL? Instruct a computer, specifically a database, to perform tasks, specifically extract data from said database based on a set of criteria, and perform calculations on that data. Sounds pretty "programmy" to me.
Can you execute expressions that consume data (inputs) and generate results (outputs)? Then it's a programming language. Is it turing complete? No. But I wasn't aware that was a requirement of being classified a "programming language".
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 1
So maybe "last I checked" you were talking of Windows
Yeah, you're right, that tiny fraction of Java tools that Sun, HP, and Oracle have written completely defeats my point.
Last I checked, neither Windows, nor Linux, nor MacOS, the dominant desktop OSs out there, had a large population of Java applications. And the number of tools on the Sun, HP, and Oracle side written in Java is vanishingly small relative to their native applications. Hell, in all my work on Sun boxes, I don't think I've *ever* used a Java app.
So, yeah, just like there are the odd Windows apps out (like, say, Azureus) that are written in Java, the reality is that number is *incredibly* small. The fact is, Java has made it's name in the enterprise web application space, not on the desktop or in the OS, and I've met no one who's credibly attempted to challenge that fact. And that includes you.
Thus, I believe my original point still stands. Just because MS hasn't migrated SQL Server or Office to.NET doesn't make it a failure, any more than Java is a failure because Sun hasn't rewritten their Unix userland in Java. It just means that they're smart enough not to rewrite multi-million-LOC projects in another language just to prove they can.
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 1
Without.NET and C# I don't think that kind of fragmentation would be as common.
That's just it. I really don't think it is. *shrug* I'm sure there are a few cases here and there, but I really don't think the market fragmentation issue is so large as to overwhelm the enormous advantages caused by increased competition in the space (just look at how Sun has reacted, added new features to Java at a record pace relative to their previously essentially stagnant progress).
But, fair enough, I'll concede that, yes,.NET may have contributed to some additional fragmentation on the enterprise side of things (although, as you yourself point out, the space was already crowded). I just don't think the effect is that great.
So do *you* have facts to prove that the CRA was the driver behind this fiasco?
And I bring out "party lines" because this particular fib is consistently brought up by small-government republicans who are hellbent on blaming the crisis on *too much* regulation, which I find amusing in a sad sort of way.
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 1
I *really* doubt that. I strongly suspect that the people choosing ASP.NET would've never considered Java, as odds are they're already invested in MS kit, while those choosing Java would've never considered ASP.NET as the former is a proven enterprise platform, while the latter is not.
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 1
Forgive me for saying so, but much of the "C# SUX TEH BIG ON3" sentiment strikes me as being from the anti-microsoft crowd.
Agreed. And you know what? Traditionally, I've been one of those people. I say this up front because what follows is gonna seem sycophantic... but my background is Unix development, and I've had to grudgingly admit a few things about.NET and C#.
First, he simple fact is, compared to writing Windows apps in C++, C# is a *godsend*. 'course, that's really an indictment of MS's C++ APIs, but the reality is that C# did exactly what they wanted: it allowed them to make a clean break from their old APIs, allowing them to replace them with new, cleaner (though still decidedly crufty and poorly designed in a *lot* of places) APIs. 'course, it sure ain't perfect (.NET's timezone support is, frankly, embarassingly bad), but it's lightyears ahead of what came before.
Second, C# is, I must grudgingly admit, a nice language. Is it incredibly derivative? Yup. But it does bring together, in a single package, a very nice feature set, over and above the stuff they copied wholesale from Java. Native generics, closures, real annotations... C# has got some very nice stuff in it.
Lastly, the very fact that C# is so feature-rich has forced Sun to really kickstart the Java development process once more. And that demonstrates that, rather than fragmenting the development community in a negative way, C# has actually improved the situation by providing competition and contrast (though I maintain that C# and Java don't *actually* operate in the same niches, so that competition is more in the realm of bragging rights).
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 1
I think the fragmentation is mostly on the Web application side.
I disagree. I think those that have chosen C# and.NET would've chosen a pre-.NET version of ASP, anyway, because they're already married to the Windows development stack and ecosystem. And those that would've chosen Java are still choosing Java because, in the end, it's a proven enterprise platform.
Meanwhile, there was *always* ASP versus Java... now there's ASP.NET versus Java. I'm not sure I see where that introduces fragmentation that wasn't already present in the marketplace.
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 4, Insightful
Well there is fragmentation produces as they introduce YET another language.
So? That's a problem for Windows developers. Why should a Java programmer care? In the realms where Java is popular, C# has had basically no influence. So MS has, at worst, fragmented the Windows development ecosystem... big deal.:)
You currently cannot say C# replaces C++ on Windows platform as using any DirectX components for example is nightmare through C#.
...
More on the major downside of writing.NET applications is that you cannot guarantee that the stuff I work on my Vista workstation works on my co-workers XP workstation.
But none of this has anything to do with fragmentation to begin with. You're getting off-point. And that's ignoring the fact that, once again, this is a problem for MS... the rest of the programming world doesn't care one whit how hard DirectX is to integrate with C#.
Can it be a success when it cannot be used to produce major parts of their own operating system.
Last I checked Java wasn't being used to write operating system components, yet no one claims it's a failure. Now, that's not to say C# and.NET are unbridled successes, but that's a pretty crappy metric for making the call.
Re:amazing what doesnt get asked
on
C# In-Depth
·
· Score: 4, Interesting
I'm curious, what gives you the idea that C# fragmented "the whole programming scene"? As far as I can tell, C# has really just replaced C++ on the Windows client side, where Java never had a foothold to begin with.
Ah, I see... rather than a fact-based refutation, I'm just modded down. Oh well, I suppose this is what happens when you present republicans with facts...
Can you fault Congress for actually listening to it's constituents?
Sometimes, yes. A panicking Wall Street is no better than a panicking constituency. Wall Street is interested in saving it's own neck and big paycheques. The people, meanwhile, are, apparently, primarily interested in sticking it to Wall Street at any cost. Both are completely irrational, and neither should be unquestioningly heeded.
'course, that presumes that government is a) capable of handling this crisis, and b) able to remain above the fray. Unfortunately, the odds of both of these things are approximately zero.
So you are saying that these things are actually way more valuable than their current prices would indicate?
Actually, maybe. See, right now, there's a panic. Originally, these assets were priced far higher than they were worth because no one properly assessed the risks associated with them. Now, the prices *may* be far lower than their worth, because the market is panicking, and no one can properly assess the risks associated with them.
So the answer might be yes. It might also be no. Paulson is betting that the current mark-to-market prices are depressed thanks to extreme paranoia in the market. Only time will tell if he's right.
Bah, I've heard this before, and it's all bullshit. CRA loans were but a fraction of the total number of subprime loans that were given out. It's a fact. Look it up. No, wait, I'll do it:
Further, CRA only governs a certain class of federally insured banks. Problem is, half of the subprime loans came from mortgage companies with no CRA involvement at all. Another 25%-30% came from companies with very little CRA exposure. For those who left their abacus at home, that's 80% of the loans which were fully or largely outside CRA jurisdiction. More than that, the non-CRA mortgage firms made subprime loans at twice the rate of CRA-covered firms.
Meanwhile, the "racist" rules you're referencing were simply this: if you give a loan to person A with qualifications X, then if black person B shows up with qualifications X, you have to give them the same loan. That's it, that's all. If you have any evidence to the contrary, I'd love to see it.
Actually, no. The point of a representative government is for you to elect someone you feel will do a good job in office. That does *not* mean they should unquestioningly toe the line of their constituents. It means they should use their judgement, in conjunction with feedback from their constituents, experts, colleagues, and so forth, to do what they feel is the right thing. Otherwise, you might as well just have direct democracy and be done with it.
In this case, in my opinion, the right thing is to ensure that the US doesn't enter a decade-long recession, and if that means a bailout (and I'm not in a position to make that judgement, although everything I've read suggests that it's necessary), then god damn it, there should be a bailout, ignorant voters be damned.
To use an IT metaphor; the mainframe has eaten itself, and you're trying to fix it, and you've got to do things that may or may not destroy data, but that have to be done regardless just to get the system running again.
Yup. Basically, the way I figure it, either people aren't cognizant of the fact that, like it or not, the government has to intervene in some sort of "bailout-like" scenario in order to save the economy, or they're simply choosing to cut off their noses to spite their faces. The latter is simply irrational. The former is simply ignorance.
It's false logic, as demonstrated by the fact that people don't target Wine
Uhh... yeah they do. How do you think Google ported Picassa to Linux?
Personally, I choose Java before C#. Among other reasons, there is less surprises (like passing by ref vs. by value).
That's a strange statement. In both Java and C# objects are passed by reference. For value types, in C#, if you pass them by reference you have to explicitly annotate them with the "out" keyword, which basically removes any ambiguity (and addresses my problem with & notation in C++).
So, what am I missing here? What surprise are you referring to?
And as an aside, I'd pick C# over Java any day of the week (and this is from a person who worked with Java for quite a few years before being forced to switch over). Why? One reason: higher-order functions. C# actually has real closures, something I've come to rely on thanks to my experience with Smalltalk, and something I deeply missed during my days working with Java.
Right. The ICE would be operating as a generator, charging the batteries, while the electric motor does all the work, as opposed to the ICE putting power directly to the wheels. And this would be the working mode for average stop-and-go traffic.
So, my question is, in such a scenario, where you're converting chemical -> mechanical -> electrical -> mechanical energy, is the total conversion more efficient than putting the energy from the ICE directly into the powertrain? I honestly, don't know the answer to that.
That said, I would *assume* the answer is no, given that no hybrid vehicle operates this way, which would be far simpler than your average full hybrid powertrain.
So, for normal stop-and-go traffic your ICE would basically be driving a generator the entire time. Sounds like a great way to reduce overall efficiency in normal, day-to-day driving scenarios.
Plus, Facebook has (at least) one fundamental flaw: it assumes you WANT everyone who you're "friends" with to indiscriminately know about everyone ELSE you're "friends" with. It ignores the fact that you don't necessarily WANT your kid brother (or coworkers, or parents) reading about your wild weekend (or at least not the full details you'd share with your best and closest friends).
Also introduced to us by Seinfeld as the "worlds colliding" theory of social interaction.
Come on, that's a serious weaselly "yeah, well technically..." answer.
Weasely my ass. It's explicit and precise, not to mention extremely natural. Just because it's broader than you'd like, doesn't make it invalid.
Not being Turing Complete is a pretty serious strike against it,
Umm... why?
* three categories:
Ah, I see you've invented three arbitrary groupings based on your own prejudices. How nice for you. Unfortunately, you still haven't justified your position.
What is a programming language but a method by which humans instruct computers to perform tasks? And, gee wiz, what do you do with SQL? Instruct a computer, specifically a database, to perform tasks, specifically extract data from said database based on a set of criteria, and perform calculations on that data. Sounds pretty "programmy" to me.
Can you execute expressions that consume data (inputs) and generate results (outputs)? Then it's a programming language. Is it turing complete? No. But I wasn't aware that was a requirement of being classified a "programming language".
So maybe "last I checked" you were talking of Windows
Yeah, you're right, that tiny fraction of Java tools that Sun, HP, and Oracle have written completely defeats my point.
Last I checked, neither Windows, nor Linux, nor MacOS, the dominant desktop OSs out there, had a large population of Java applications. And the number of tools on the Sun, HP, and Oracle side written in Java is vanishingly small relative to their native applications. Hell, in all my work on Sun boxes, I don't think I've *ever* used a Java app.
So, yeah, just like there are the odd Windows apps out (like, say, Azureus) that are written in Java, the reality is that number is *incredibly* small. The fact is, Java has made it's name in the enterprise web application space, not on the desktop or in the OS, and I've met no one who's credibly attempted to challenge that fact. And that includes you.
Thus, I believe my original point still stands. Just because MS hasn't migrated SQL Server or Office to .NET doesn't make it a failure, any more than Java is a failure because Sun hasn't rewritten their Unix userland in Java. It just means that they're smart enough not to rewrite multi-million-LOC projects in another language just to prove they can.
Without .NET and C# I don't think that kind of fragmentation would be as common.
That's just it. I really don't think it is. *shrug* I'm sure there are a few cases here and there, but I really don't think the market fragmentation issue is so large as to overwhelm the enormous advantages caused by increased competition in the space (just look at how Sun has reacted, added new features to Java at a record pace relative to their previously essentially stagnant progress).
But, fair enough, I'll concede that, yes, .NET may have contributed to some additional fragmentation on the enterprise side of things (although, as you yourself point out, the space was already crowded). I just don't think the effect is that great.
"Dark Matter and Dark Energy both felt like big hacks to me."
To you, perhaps. Problem is, at least in the case of Dark Matter, it's real and we've observed it.
SQL...Structured Query Language.
Ahh... so then Java must therefore be a branch of coffee?
Umm... it *is* a programming language. Or were you not aware of that fact?
So do *you* have facts to prove that the CRA was the driver behind this fiasco?
And I bring out "party lines" because this particular fib is consistently brought up by small-government republicans who are hellbent on blaming the crisis on *too much* regulation, which I find amusing in a sad sort of way.
I *really* doubt that. I strongly suspect that the people choosing ASP.NET would've never considered Java, as odds are they're already invested in MS kit, while those choosing Java would've never considered ASP.NET as the former is a proven enterprise platform, while the latter is not.
Forgive me for saying so, but much of the "C# SUX TEH BIG ON3" sentiment strikes me as being from the anti-microsoft crowd.
Agreed. And you know what? Traditionally, I've been one of those people. I say this up front because what follows is gonna seem sycophantic... but my background is Unix development, and I've had to grudgingly admit a few things about .NET and C#.
First, he simple fact is, compared to writing Windows apps in C++, C# is a *godsend*. 'course, that's really an indictment of MS's C++ APIs, but the reality is that C# did exactly what they wanted: it allowed them to make a clean break from their old APIs, allowing them to replace them with new, cleaner (though still decidedly crufty and poorly designed in a *lot* of places) APIs. 'course, it sure ain't perfect (.NET's timezone support is, frankly, embarassingly bad), but it's lightyears ahead of what came before.
Second, C# is, I must grudgingly admit, a nice language. Is it incredibly derivative? Yup. But it does bring together, in a single package, a very nice feature set, over and above the stuff they copied wholesale from Java. Native generics, closures, real annotations... C# has got some very nice stuff in it.
Lastly, the very fact that C# is so feature-rich has forced Sun to really kickstart the Java development process once more. And that demonstrates that, rather than fragmenting the development community in a negative way, C# has actually improved the situation by providing competition and contrast (though I maintain that C# and Java don't *actually* operate in the same niches, so that competition is more in the realm of bragging rights).
I think the fragmentation is mostly on the Web application side.
I disagree. I think those that have chosen C# and .NET would've chosen a pre-.NET version of ASP, anyway, because they're already married to the Windows development stack and ecosystem. And those that would've chosen Java are still choosing Java because, in the end, it's a proven enterprise platform.
Meanwhile, there was *always* ASP versus Java... now there's ASP.NET versus Java. I'm not sure I see where that introduces fragmentation that wasn't already present in the marketplace.
Well there is fragmentation produces as they introduce YET another language.
So? That's a problem for Windows developers. Why should a Java programmer care? In the realms where Java is popular, C# has had basically no influence. So MS has, at worst, fragmented the Windows development ecosystem... big deal. :)
You currently cannot say C# replaces C++ on Windows platform as using any DirectX components for example is nightmare through C#.
...
More on the major downside of writing .NET applications is that you cannot guarantee that the stuff I work on my Vista workstation works on my co-workers XP workstation.
But none of this has anything to do with fragmentation to begin with. You're getting off-point. And that's ignoring the fact that, once again, this is a problem for MS... the rest of the programming world doesn't care one whit how hard DirectX is to integrate with C#.
Can it be a success when it cannot be used to produce major parts of their own operating system.
Last I checked Java wasn't being used to write operating system components, yet no one claims it's a failure. Now, that's not to say C# and .NET are unbridled successes, but that's a pretty crappy metric for making the call.
I'm curious, what gives you the idea that C# fragmented "the whole programming scene"? As far as I can tell, C# has really just replaced C++ on the Windows client side, where Java never had a foothold to begin with.
So, where is this fragmentation you speak of?
Ah, I see... rather than a fact-based refutation, I'm just modded down. Oh well, I suppose this is what happens when you present republicans with facts...
Can you fault Congress for actually listening to it's constituents?
Sometimes, yes. A panicking Wall Street is no better than a panicking constituency. Wall Street is interested in saving it's own neck and big paycheques. The people, meanwhile, are, apparently, primarily interested in sticking it to Wall Street at any cost. Both are completely irrational, and neither should be unquestioningly heeded.
'course, that presumes that government is a) capable of handling this crisis, and b) able to remain above the fray. Unfortunately, the odds of both of these things are approximately zero.
So you are saying that these things are actually way more valuable than their current prices would indicate?
Actually, maybe. See, right now, there's a panic. Originally, these assets were priced far higher than they were worth because no one properly assessed the risks associated with them. Now, the prices *may* be far lower than their worth, because the market is panicking, and no one can properly assess the risks associated with them.
So the answer might be yes. It might also be no. Paulson is betting that the current mark-to-market prices are depressed thanks to extreme paranoia in the market. Only time will tell if he's right.
Bah, I've heard this before, and it's all bullshit. CRA loans were but a fraction of the total number of subprime loans that were given out. It's a fact. Look it up. No, wait, I'll do it:
Meanwhile, the "racist" rules you're referencing were simply this: if you give a loan to person A with qualifications X, then if black person B shows up with qualifications X, you have to give them the same loan. That's it, that's all. If you have any evidence to the contrary, I'd love to see it.
That is the point of representative government.
Actually, no. The point of a representative government is for you to elect someone you feel will do a good job in office. That does *not* mean they should unquestioningly toe the line of their constituents. It means they should use their judgement, in conjunction with feedback from their constituents, experts, colleagues, and so forth, to do what they feel is the right thing. Otherwise, you might as well just have direct democracy and be done with it.
In this case, in my opinion, the right thing is to ensure that the US doesn't enter a decade-long recession, and if that means a bailout (and I'm not in a position to make that judgement, although everything I've read suggests that it's necessary), then god damn it, there should be a bailout, ignorant voters be damned.
To use an IT metaphor; the mainframe has eaten itself, and you're trying to fix it, and you've got to do things that may or may not destroy data, but that have to be done regardless just to get the system running again.
Yup. Basically, the way I figure it, either people aren't cognizant of the fact that, like it or not, the government has to intervene in some sort of "bailout-like" scenario in order to save the economy, or they're simply choosing to cut off their noses to spite their faces. The latter is simply irrational. The former is simply ignorance.
How is that different from a Libertarian?
See here. If you're fiscally *and* socially conservative, you're not a libertarian.