Perhaps that is why they did not find the cylon device... though I do not believe they said it actually transmits... it could just be a passive recorder that transmits in short bursts.
You're assuming that it was a transmitter. What if it was a bomb? Cylon #6 had one in her purse. Remember how the TV newscasters didn't know where the attacks were coming from? Maybe these devices were just time bombs dropped off at different spots on the planets.
On the contrary. She started to jack him off at precisely the most inopportune moment. Baltar realizes this and is still giving in. To me this clearly demonstrates that he is infatuated with her despite his best efforts, despite his knowledge that she isn't human, and despite the fact that she was instrumental in the near extinction of his species. If this isn't a compelling plot point, I don't know what is. It is this scene in particular that allows me to believe that he could be turned by the Cylons to give information or whatever.
For that matter, is everyone absolutely certain that she exists? Hello! The guy is a megalomaniac. He is a narcissist. He almost single-handedly destroyed humanity. The latter can put an amazing strain on the human psyche. Given the first two points, wouldn't it follow that he would conjure up the person most relevant to his life and yet have her completely adore him? Sure she points out the device on the bridge, but he's a genius! Haven't you ever looked for something you've lost for a long time and then suddenly, unrelated to where you're looking, remember where it is? Haven't you ever gone to a class in school, not understood at all, and then suddenly "get it" hours later while doing something completely unrelated? He sees a device on the bridge; A device that looks conspicuously like one in his Cylon girlfriend's purse. The psychosis could've pointed it out to him in any way the subconscious wanted to.
But that's enough conjecture about Baltar...
Plus that cigar makes Starbuck come across a little disgusting.
You mean like Dirk Benedict's character in the original? Was he disgusting too?
The uniforms suck. The flight suits are okay, but the wrestling outfits are terrible!
<sarcasm>T-shirts and tank tops. Yeah. Major fashion faux-pas. I can see how that's a valid show critique.</sarcasm>
Their constant camera zooms made it only that much harder to get into the action and figure out what was going on.
Isn't that the point when all hell is breaking loose? Personally I didn't have a problem following it, but maybe I just played too many first-person shooters in my youth.
The Galactica needs bigger engines.
You mean it needs bigger exhaust pipes? Yes indeed, the difference between a Geo Metro and a Dodge Viper is the size of its exhaust pipe.
But the senseless sex and violence are really stinking it up.
Because you believe no one has sex or...? Heh heh... Too much violence? Heh heh... Twelve planets are incinerated, billions of lives lost, and it's part of a good story. One baby dies off-screen, and it's senseless violence.
Needless to say, I really liked it. Not perfect (sound in space was muted but I still heard Vipers and especially Cylon fighters flying by), but damn good for TV.
...he's apparantly confused grown-up with gratuitious. Sex works much better when it's done dramatically, instead of the "hey watch us get it on!" style that Moore forces on us.
I thought it was an important plot point to say that the deck chief and Boomer have a relationship. If you've ever had a relationship where you work, I'm sure that you can attest to the crap that can go along with it. "Why are you fixing her ship first?" "You don't put the extra time into our ships like you do her's." Etcetera. I think it was very realistic that they'd keep it on the down low. At what happens when you keep things like this on the down low? You don't see each other often enough. When you do see each other, if others are around, you can't smile and hug and kiss casually. And you ravenously tear each others' clothes off whenever you get the opportunity.
Was a lot damned better than the Enterprise pilot and the oil rubdown. Now that was gratuitous.
In fact, the "no sound in space" approach actually heightened the tension, and proved that you don't have to dumb-down physics for the masses.
I keep hearing this, and it's leading me to believe that I watched a different show than everyone else. Call me crazy, but I heard Cylon ships flying by. I heard FTL jumps. Granted, the volume was turned down, but it was definitely not silent. And no, I'm not talking about the sounds heard inside the Gallactica after an impact.
I disagree. Why do you think SB is a "punk rock reject"? Because she has short hair? She seemed very much like an active duty marine to me. None of this "model in a uniform" crap that most movies and TV foist in front of us. A woman that does pushups to pass the time in the brig has muscles. A person who rises to the top of the game every time tends to be tenacious, aggressive, and perhaps arrogant.
You'll note that she doesn't tell off Tigh until she's off the record. She hits him only after he tosses the table and goes for her. She is brutally honest in every scene she's in. Hell yes, I'd serve with her. You may not like her, but you always know where she stands.
Apollo seems to be more than a decent pilot and a quick witted officer. He doesn't like his father. Big whup. A lot of folks don't. He never lets it affect his job. I don't see your problem with Boomer (aside from Cylon allusions). I fail to see where she does anything wrong.
To what standard are you holding the people you would hypothetically serve with? And would you meet those standards?
Yup. The conversation about Starbuck between Adama and the XO (eXecutive Officer) speaks volumes when Adama points out that Tigh tossed the poker table. At first, Tigh doesn't remember that he did.
Translation: Cut her some slack, you were drunk as a skunk.
The cylon infiltrator may have been curious for those two years. Perhaps she didn't have the opportunity to experiment for fear of being discovered. It wouldn't do to draw attention to yourself if it jeopardizes an invasion plan. Since all of the cylons' plans were already in motion -- in one day, nothing could stop what was going to happen -- what would it hurt? That said, I genuinely believe I saw surprise on Cylon 6's face after the snap.
-- In other news --
If FTL tech weren't available, there would be no story. You can't conveniently get out of the current solar system let alone go to another one without it. How long ago was Pioneer 10 launched and it only recently passed Sol's heliopause? Make something ten times faster than P10 and you're still talking years to leave this system let alone getting to the next one.
85 firefighters died putting the fire out. They never really covered how many died from impact. The chief engineer was perhaps fixating on 85 because he saw their deaths as preventable. And remember, a nuclear explosion is mostly a fireball, not concussive force. The concussion wave is mostly due to the superheating of air around the explosion. In space, there's no air to heat. Therefore the concussion wave wouldn't be the same. A faraday cage could shield against most of the EMP effects. Modern armies are already using this technology.
Rockets and bullets are mass. Throw mass at sufficient velocity and you will do damage no matter the target. Fire a laser at a reflective surface or one that dissipates heat effectively and it will do less damage. Emit some gas/smoke and watch the laser become noticeably less effective.
The hand guns of Boomer and her co-pilot appeared to something more than a projectile weapon. So maybe there's your laser. Maybe again, that on battlestar and basestar scales, hurling mass works better. I for one am happy to see a little less Hollywood-style "pretty lights."
It's not like he lied and claimed his scrap of paper was #47 when the old lady with the bad eyes handed it to him. He was pretty much resigned to his screwed position at the time.
Nope. He didn't say anything at all. It was only when the officer called him by name that he even did anything. I think as an audience member you were intended to believe that he was about to claim #47 as his own. Someone calling his name immediately made him go into paranoid mode. His response to his name being called wasn't "Yes?" or "That's me," or "What?" but rather "I didn't do anything."
This goes right back to back to an earlier discussion about how the world was ending but all he could think about was that "they'll convict me as a traitor." He is in fact only thinking of himself. Give him another second and he would've claimed #47 for himself.
And paying $100 now, $75 next year for a faster model, and $50 for even faster one the following year, I will end up paying less than the expensive model overall *and* will end up doing things faster.
...except that you aren't just replacing it with the same item. This isn't like getting a disposable camera. The newer drives are usually faster, more reliable, and much better feature-wise than their predecessors. It's common for folks to upgrade their CD burner for example because the previous one was "just too slow." This is commonly done about every few years. If the drives can last three years, where's the problem?
The landfill? Sure, not throwing the drives away would be better than throwing them away, but let's be realistic here. Computer waste is not nor has ever been the biggest portion of total solid (and possibly toxic) waste. That honor would go to disposable diapers, newspapers, and fast food packaging. Packinging in general is a major contributor. But computers -- yes, even with the materials used to make them -- are just a drop in the bucket.
Then again, my cheapest price hard drives, CD-ROM drives, burners, motherboards, etc. have all lasted more than five years for me. Now I'm running into the problem of perfectly usable hardware that just sits around doing nothing. Who really wants a used 4X CDROM drive when a new 24X CD-R costs peanuts?
So basically what you're saying is that FreeBSD starts to drop incoming sockets past a certain point. I guess this can be taken one of two ways (or both).
1) FreeBSD developers feel the need to drop incoming socket connections in order to preserve performance for the rest of the system.
- and/or -
2) Linux 2.6 scales better.
Why would this option start dropping at 4,000 connections *by default* instead of going the distance by default and allowing the sysadmin to throttle back if necessary?
Judging as a language, I don't see the benefits. As a platform... of course I see the massive support and some working solutions which is all it takes to convince me Java is worthwhile.
Exactly.
Where we really disagree is C++ inappropriateness for high level work.
These statements are more at odds with one another than I think you want to acknowledge. C++ is many time inappropriate precisely because it lacks a standard class system as complete as Java's. High-level mean abstraction. Abstraction requires libraries. You don't have to explain C++'s benefits to me. I know them well. I'm actually one of those sick bastards who likes template metaprogramming. But POSIX only takes you so far and I'm tired of researching the cryptic API of some thread library that really only offers start(), suspend(), stop(), join(), and minor variations of that theme. Yes, I know about the dangers of suspend() and stop(), but those problems have been solved (or at least managed) for some time as well. Implementation1 one day and implementation2 the next, but I want "thread" now.
And of course, the final note that trumps all of our language advocacy: algorithm is more important than language.
well, one, I bet you someone does have a class system to abstract differences between Oracle, Sybase, MySQL, etc. etc. Without checking, I would still bet that.
A good bet. A lot of shops have one of some quality or another. That's the point: all this time spent reinventing something that looks like what everyone else has been writing. Unless you work for a database vendor or database tools supplier, what does this have to do with the job at hand? Wouldn't it be better to defer this job to folks that are actually concentrating on the problem? This way, you and I can concentrate on our own problem sets. Division of labor at its finest!
Now please don't misunderstand. I am most certainly not advocating one particular implementation take over and be forced down everyone's collective throat. While I have to admit sheepishly that I actually like Swing's API, I think the fact that it was done in an all or nothing manner was a mistake. FYI: There are folks that have API-identical GUI libraries that compete with Swing. I've forgotten the URLs, but they basically only require that you instantiate their own version of JFrame and work from there.
But I digress. JDBC is great precisely because it has no single implementation. It is only the interface. RDBMS1 vs. RDBMS2: who cares? Same interface. There is power there. Power in training. Power in end-developer implementation. Power in availability. Power in cross-platform uniformity. The mistake of Swing (and AWT) wasn't the implementation any more than JDBC is flawed because of the JDBC-ODBC bridge. AWT should have been interfaces as well with competing GUI toolkit implementations underneath one-upping one another for your patronage.
However, Swing has an advantage over C++: at least there is a common API. There is little reason to make multiple toolkits with gtk_button structs vs. qt_button (or whatever the hell it is). Have a different paradigm for GUI? Great! Make an interface for it and write your implementation to it. But the common mode of "add button to panel, set event listener, and manipulate table" encompasses >90% of all the GUI toolkits out there.
Unfortunately, it makes economic sense (in a sick way) to make things less interoperable. But never confuse this with some form of technical advantage. All it does is lock the code to a particular toolkit.
My rankings are as follows from best to worst:
Clean, cross-platform, language-specified interface with execution-time toolkit selection
Clean, cross-platform, language-specified interface with compile-time toolkit selection
Clean, cross-platform, language-specified API toolkit
Cross-platform API toolkit
Clean API for few or one platform
Original MFC (Sorry, couldn't resist)
As you can see, Swing is not my first choice. Unfortunately, no language has given me my first choice to my knowledge. (I'd love to hear differently!) But this is why C++ ends up further down my totem pole. And this is where JDBC shines. I want to talk to databases. I don't want to write cross-database abstraction layers. I don't want to wrestle with ODBC driver incompatibilities. And if I switch from SAP DB to PostgreSQL to MS SQL Server to Oracle, I don't want to have to deal with differences in how a result set is iterated. It's a result set for pete's sake! The datatypes are defined by SQL92 (among others). It's a solved problem. It's like all of those people who keep writing their own linked list implementations in C++. Why? Don't you have better things to do?
Linked lists. Databases. Threads. GUIs. Same problem, just further up the chain.
You're right about the fact that the chaos of the real world can be a great thing. Diversity is strength. I say diversify that implementation to your heart's content behind that nice, clean, consistent interface.
Surely someone abstracts that, otherwise you write your own classes in such a way as to be able to add support for other DBs.
Do you see how this is only one-removed from the common pre-1998 practice in C++ to write your own string implementation? It's a solved problem. It's an oft-solved problem. I'm actually flabbergasted that C++ hasn't made universal interfaces for relational databases, threads (POSIX is only really an option on *nix), regexes, etc. If you don't want to use them, you can always call the implementation classes directly (just like in Java), but the advantages to using the interface (virtual class) are so great, almost no one avoids the interface. I can't think of any db abstraction in C++ that wouldn't use function pointers. Once you have function pointers, you are at the efficiency of vtables but with greater complexity.
C++ is a Swiss Army Knife. Java is a set of power tools. For the tight spots, the Java power tools get a bit cramped and can't quite line up with the problem. In these situations, you need C++. In cases where you just want to cut a big board with a smooth curve, Java works out.
Fair enough? By the way, you're right. We do tend to agree more than disagree.
Sorry for misrepresenting myself with the note about Strousrup. I actually didn't mean to imply that he advocated the mandating of GC. That would certainly be a change of tactics for him to diverge from his long-standing position of not paying for what you don't use.
The original posters point was that using GC is just as fast as not using one. My point was that he was wrong, not that my way is the fastest way.
It can be. Citing Hans Boehm:
"Performance of the nonincremental collector is typically competitive with malloc/free implementations. Both space and time overhead are likely to be only slightly higher for programs written for malloc/free (see Detlefs, Dosser and Zorn's Memory Allocation Costs in Large C and C++ Programs.) For programs allocating primarily very small objects, the collector may be faster; for programs allocating primarily large objects it will be slower. We expect that in many cases the additional overhead will be more than compensated for by decreased copying etc. if programs are written and tuned for garbage collection."
Now I admit that Dr. Boehm may be biased since he wrote and maintains a garbage collector. However the link listed has actual analyses of both methods: explicit deallocation and garbage collection.
If you can accept that computers (through compilers) can generate code that rivals or exceeds most human abilities in many cases, why is it so hard to see that memory management may be reduced to a set of algorithms as well?
Contrived, but bear with me; C doesn't have a real, cross-platform database interface. And please refrain from mentioning ODBC. Show me three different database engines that have a compatible C interface through ODBC and I'll eat my shoe.
db_results *dbr; db_handle *dbh = open_db_connection(); if (!dbh) {
error("database error: could not connect"); } dbr = db_execute_query("SELECT bar FROM foo"); if (!dbr) {
error("database error: could not query"); } while (nextrow(dbr)) {
printf("Bar is %s", get_value(dbr, "bar")); } free(dbr); close_db_connection(dbh);
-------------
Now, let's compare with Java -- which incidentally has the same API on far more than three databases engines.
How exactly are the exceptions adding too many lines of code? It looks to me like the C code has two extra if-statements. A try-catch block that throws no exceptions (think: exceptional or errored behavior) has next to no overhead even though it provides proper error checking and handling. You are checking your result codes in C for possible errors, aren't you? Aren't you?
So you don't use the general case malloc() and free()? You have your own case-specific versions? Or didn't you know that malloc and free are tailored toward a general case of memory allocation and alternative version could be much more efficient if the size of the chunks were known ahead of time?
Uh hunh. And how many buffer overflow errors have you seen in Java apps? Not just failures. Bugs that open up holes to the server.
So how many of your apps have been security audited?
Read securityfocus.com and BugTraq for a month and then try tellig me with a straight face that a whole hell of a lot of C and C++ coders need training wheels.
Java and other languages (especially scripting languages) are getting faster and smaller in memory footprint quicker than C programs are reducing the number of security related bugs.
Use the right tool for the job and, more often than not, C is not the right tool.
Or did you mean pared down VMs like this or maybe this? How about scaling up to this?
I ask you this about C and C++ (which are distinct languages and should not be associated closely with one another like "C/C++"): where are the cross-platform, universal database APIs? If you answer ODBC, you obviously haven't ever programmed to ODBC for more than one database. How about those universal threading libraries? GUI? XML APIs? Math libraries? RPC? Authentication and authorization? I18n? L10n? How about the fact that there's more to Unicode than a type like wchar_t? Accessibility? Audio? Cryptography? Image handling and manipulation? Printing?
C and C++ is a Swiss Army Knife? Only if you like the Swiss Army Knife model with two blades and a flathead screwdriver.
Is Java the end-all be-all language? Of course not. Nothing is. Does it have limitations? Sure. Everything does. Just don't presume to suggest that C and C++ are some overlooked white knights. Hell, even the creator of C++ thinks there should be a garbage collector in C++.
Because Titan changes both spatially and temporally...
It changes temporally? Is this the "pertains to a temple" definition? Is Titan close to the temporal artery? Or is Titan a new religious dignitary? Or perhaps they meant Titan is in temporal (time-related) flux like in some Star Trek episode?
Methinks someone needs a dictionary. I believe the poster meant, "Because Titan changes both spatially and in temperature..."
It's nice that someone has made a GUI for it, but I wonder if this functionality truly belongs in a relational database rather than the filesystem level.
Nevertheless, the work done here for Gnome will make the functionality available for everyone with a decent relational database rather than just those with the next generation of filesystem handy (BeFS, WinFS, Reiser4, etc.).
And the reason given by the state for this is that you are property of the state. If you only belong to yourself, there can be no prohibition of suicide.
As it stands, suicide is seen as a detriment to the health of society as a whole -- therefore illegal.
Ergo in the U.S., you are owned by the state. Don't like it? Change the laws. As it stands right now, you are the government's chattle if you live in the U.S.
1. Since when? How many articles have you seen that advertise a new Linux distribution or a commercial branch of Wine. I know I've seen quite a few.
2. Who was advertising? Certainly not me. I was briefly quoting the parent post and giving a word of warning to people already using MySQL to aid them in data integrity. I personally don't care for MySQL and don't use it.
If you don't have the money, go for an OSS database.
If you don't have the money and actually care about your data, go for an OSS database like PostgreSQL.
If you have the money and actually care about your data, get Oracle or DB/2.
It should be noted however that PostgreSQL was proportionally even further behind Oracle in the past. They're far behind, but think they're running faster.
n/t
For that matter, is everyone absolutely certain that she exists? Hello! The guy is a megalomaniac. He is a narcissist. He almost single-handedly destroyed humanity. The latter can put an amazing strain on the human psyche. Given the first two points, wouldn't it follow that he would conjure up the person most relevant to his life and yet have her completely adore him? Sure she points out the device on the bridge, but he's a genius! Haven't you ever looked for something you've lost for a long time and then suddenly, unrelated to where you're looking, remember where it is? Haven't you ever gone to a class in school, not understood at all, and then suddenly "get it" hours later while doing something completely unrelated? He sees a device on the bridge; A device that looks conspicuously like one in his Cylon girlfriend's purse. The psychosis could've pointed it out to him in any way the subconscious wanted to.
But that's enough conjecture about Baltar...
You mean like Dirk Benedict's character in the original? Was he disgusting too?
<sarcasm>T-shirts and tank tops. Yeah. Major fashion faux-pas. I can see how that's a valid show critique.</sarcasm>
Isn't that the point when all hell is breaking loose? Personally I didn't have a problem following it, but maybe I just played too many first-person shooters in my youth.
You mean it needs bigger exhaust pipes? Yes indeed, the difference between a Geo Metro and a Dodge Viper is the size of its exhaust pipe.
Because you believe no one has sex or...? Heh heh... Too much violence? Heh heh... Twelve planets are incinerated, billions of lives lost, and it's part of a good story. One baby dies off-screen, and it's senseless violence.
Needless to say, I really liked it. Not perfect (sound in space was muted but I still heard Vipers and especially Cylon fighters flying by), but damn good for TV.
Was a lot damned better than the Enterprise pilot and the oil rubdown. Now that was gratuitous.
I keep hearing this, and it's leading me to believe that I watched a different show than everyone else. Call me crazy, but I heard Cylon ships flying by. I heard FTL jumps. Granted, the volume was turned down, but it was definitely not silent. And no, I'm not talking about the sounds heard inside the Gallactica after an impact.
Hell of a show nonetheless.
I disagree. Why do you think SB is a "punk rock reject"? Because she has short hair? She seemed very much like an active duty marine to me. None of this "model in a uniform" crap that most movies and TV foist in front of us. A woman that does pushups to pass the time in the brig has muscles. A person who rises to the top of the game every time tends to be tenacious, aggressive, and perhaps arrogant.
You'll note that she doesn't tell off Tigh until she's off the record. She hits him only after he tosses the table and goes for her. She is brutally honest in every scene she's in. Hell yes, I'd serve with her. You may not like her, but you always know where she stands.
Apollo seems to be more than a decent pilot and a quick witted officer. He doesn't like his father. Big whup. A lot of folks don't. He never lets it affect his job. I don't see your problem with Boomer (aside from Cylon allusions). I fail to see where she does anything wrong.
To what standard are you holding the people you would hypothetically serve with? And would you meet those standards?
Yup. The conversation about Starbuck between Adama and the XO (eXecutive Officer) speaks volumes when Adama points out that Tigh tossed the poker table. At first, Tigh doesn't remember that he did.
Translation: Cut her some slack, you were drunk as a skunk.
The cylon infiltrator may have been curious for those two years. Perhaps she didn't have the opportunity to experiment for fear of being discovered. It wouldn't do to draw attention to yourself if it jeopardizes an invasion plan. Since all of the cylons' plans were already in motion -- in one day, nothing could stop what was going to happen -- what would it hurt? That said, I genuinely believe I saw surprise on Cylon 6's face after the snap.
-- In other news --
If FTL tech weren't available, there would be no story. You can't conveniently get out of the current solar system let alone go to another one without it. How long ago was Pioneer 10 launched and it only recently passed Sol's heliopause? Make something ten times faster than P10 and you're still talking years to leave this system let alone getting to the next one.
85 firefighters died putting the fire out. They never really covered how many died from impact. The chief engineer was perhaps fixating on 85 because he saw their deaths as preventable. And remember, a nuclear explosion is mostly a fireball, not concussive force. The concussion wave is mostly due to the superheating of air around the explosion. In space, there's no air to heat. Therefore the concussion wave wouldn't be the same. A faraday cage could shield against most of the EMP effects. Modern armies are already using this technology.
Rockets and bullets are mass. Throw mass at sufficient velocity and you will do damage no matter the target. Fire a laser at a reflective surface or one that dissipates heat effectively and it will do less damage. Emit some gas/smoke and watch the laser become noticeably less effective.
The hand guns of Boomer and her co-pilot appeared to something more than a projectile weapon. So maybe there's your laser. Maybe again, that on battlestar and basestar scales, hurling mass works better. I for one am happy to see a little less Hollywood-style "pretty lights."
Nope. He didn't say anything at all. It was only when the officer called him by name that he even did anything. I think as an audience member you were intended to believe that he was about to claim #47 as his own. Someone calling his name immediately made him go into paranoid mode. His response to his name being called wasn't "Yes?" or "That's me," or "What?" but rather "I didn't do anything."
This goes right back to back to an earlier discussion about how the world was ending but all he could think about was that "they'll convict me as a traitor." He is in fact only thinking of himself. Give him another second and he would've claimed #47 for himself.
And paying $100 now, $75 next year for a faster model, and $50 for even faster one the following year, I will end up paying less than the expensive model overall *and* will end up doing things faster.
Sad but true.
...except that you aren't just replacing it with the same item. This isn't like getting a disposable camera. The newer drives are usually faster, more reliable, and much better feature-wise than their predecessors. It's common for folks to upgrade their CD burner for example because the previous one was "just too slow." This is commonly done about every few years. If the drives can last three years, where's the problem?
The landfill? Sure, not throwing the drives away would be better than throwing them away, but let's be realistic here. Computer waste is not nor has ever been the biggest portion of total solid (and possibly toxic) waste. That honor would go to disposable diapers, newspapers, and fast food packaging. Packinging in general is a major contributor. But computers -- yes, even with the materials used to make them -- are just a drop in the bucket.
Then again, my cheapest price hard drives, CD-ROM drives, burners, motherboards, etc. have all lasted more than five years for me. Now I'm running into the problem of perfectly usable hardware that just sits around doing nothing. Who really wants a used 4X CDROM drive when a new 24X CD-R costs peanuts?
So basically what you're saying is that FreeBSD starts to drop incoming sockets past a certain point. I guess this can be taken one of two ways (or both).
1) FreeBSD developers feel the need to drop incoming socket connections in order to preserve performance for the rest of the system.
- and/or -
2) Linux 2.6 scales better.
Why would this option start dropping at 4,000 connections *by default* instead of going the distance by default and allowing the sysadmin to throttle back if necessary?
Exactly.
These statements are more at odds with one another than I think you want to acknowledge. C++ is many time inappropriate precisely because it lacks a standard class system as complete as Java's. High-level mean abstraction. Abstraction requires libraries. You don't have to explain C++'s benefits to me. I know them well. I'm actually one of those sick bastards who likes template metaprogramming. But POSIX only takes you so far and I'm tired of researching the cryptic API of some thread library that really only offers start(), suspend(), stop(), join(), and minor variations of that theme. Yes, I know about the dangers of suspend() and stop(), but those problems have been solved (or at least managed) for some time as well. Implementation1 one day and implementation2 the next, but I want "thread" now.
And of course, the final note that trumps all of our language advocacy: algorithm is more important than language.
A good bet. A lot of shops have one of some quality or another. That's the point: all this time spent reinventing something that looks like what everyone else has been writing. Unless you work for a database vendor or database tools supplier, what does this have to do with the job at hand? Wouldn't it be better to defer this job to folks that are actually concentrating on the problem? This way, you and I can concentrate on our own problem sets. Division of labor at its finest!
Now please don't misunderstand. I am most certainly not advocating one particular implementation take over and be forced down everyone's collective throat. While I have to admit sheepishly that I actually like Swing's API, I think the fact that it was done in an all or nothing manner was a mistake. FYI: There are folks that have API-identical GUI libraries that compete with Swing. I've forgotten the URLs, but they basically only require that you instantiate their own version of JFrame and work from there.
But I digress. JDBC is great precisely because it has no single implementation. It is only the interface. RDBMS1 vs. RDBMS2: who cares? Same interface. There is power there. Power in training. Power in end-developer implementation. Power in availability. Power in cross-platform uniformity. The mistake of Swing (and AWT) wasn't the implementation any more than JDBC is flawed because of the JDBC-ODBC bridge. AWT should have been interfaces as well with competing GUI toolkit implementations underneath one-upping one another for your patronage.
However, Swing has an advantage over C++: at least there is a common API. There is little reason to make multiple toolkits with gtk_button structs vs. qt_button (or whatever the hell it is). Have a different paradigm for GUI? Great! Make an interface for it and write your implementation to it. But the common mode of "add button to panel, set event listener, and manipulate table" encompasses >90% of all the GUI toolkits out there.
Unfortunately, it makes economic sense (in a sick way) to make things less interoperable. But never confuse this with some form of technical advantage. All it does is lock the code to a particular toolkit.
My rankings are as follows from best to worst:
As you can see, Swing is not my first choice. Unfortunately, no language has given me my first choice to my knowledge. (I'd love to hear differently!) But this is why C++ ends up further down my totem pole. And this is where JDBC shines. I want to talk to databases. I don't want to write cross-database abstraction layers. I don't want to wrestle with ODBC driver incompatibilities. And if I switch from SAP DB to PostgreSQL to MS SQL Server to Oracle, I don't want to have to deal with differences in how a result set is iterated. It's a result set for pete's sake! The datatypes are defined by SQL92 (among others). It's a solved problem. It's like all of those people who keep writing their own linked list implementations in C++. Why? Don't you have better things to do?
Linked lists. Databases. Threads. GUIs. Same problem, just further up the chain.
You're right about the fact that the chaos of the real world can be a great thing. Diversity is strength. I say diversify that implementation to your heart's content behind that nice, clean, consistent interface.
Do you see how this is only one-removed from the common pre-1998 practice in C++ to write your own string implementation? It's a solved problem. It's an oft-solved problem. I'm actually flabbergasted that C++ hasn't made universal interfaces for relational databases, threads (POSIX is only really an option on *nix), regexes, etc. If you don't want to use them, you can always call the implementation classes directly (just like in Java), but the advantages to using the interface (virtual class) are so great, almost no one avoids the interface. I can't think of any db abstraction in C++ that wouldn't use function pointers. Once you have function pointers, you are at the efficiency of vtables but with greater complexity.
By the way, I'm not arguing. Only sharing ideas.
C++ is a Swiss Army Knife. Java is a set of power tools. For the tight spots, the Java power tools get a bit cramped and can't quite line up with the problem. In these situations, you need C++. In cases where you just want to cut a big board with a smooth curve, Java works out.
Fair enough? By the way, you're right. We do tend to agree more than disagree.
Sorry for misrepresenting myself with the note about Strousrup. I actually didn't mean to imply that he advocated the mandating of GC. That would certainly be a change of tactics for him to diverge from his long-standing position of not paying for what you don't use.
It can be. Citing Hans Boehm:
"Performance of the nonincremental collector is typically competitive with malloc/free implementations. Both space and time overhead are likely to be only slightly higher for programs written for malloc/free (see Detlefs, Dosser and Zorn's Memory Allocation Costs in Large C and C++ Programs.) For programs allocating primarily very small objects, the collector may be faster; for programs allocating primarily large objects it will be slower. We expect that in many cases the additional overhead will be more than compensated for by decreased copying etc. if programs are written and tuned for garbage collection."
Now I admit that Dr. Boehm may be biased since he wrote and maintains a garbage collector. However the link listed has actual analyses of both methods: explicit deallocation and garbage collection.
If you can accept that computers (through compilers) can generate code that rivals or exceeds most human abilities in many cases, why is it so hard to see that memory management may be reduced to a set of algorithms as well?
Now, let's compare with Java -- which incidentally has the same API on far more than three databases engines.How exactly are the exceptions adding too many lines of code? It looks to me like the C code has two extra if-statements. A try-catch block that throws no exceptions (think: exceptional or errored behavior) has next to no overhead even though it provides proper error checking and handling. You are checking your result codes in C for possible errors, aren't you? Aren't you?
So you don't use the general case malloc() and free()? You have your own case-specific versions? Or didn't you know that malloc and free are tailored toward a general case of memory allocation and alternative version could be much more efficient if the size of the chunks were known ahead of time?
Uh hunh. And how many buffer overflow errors have you seen in Java apps? Not just failures. Bugs that open up holes to the server.
So how many of your apps have been security audited?
Read securityfocus.com and BugTraq for a month and then try tellig me with a straight face that a whole hell of a lot of C and C++ coders need training wheels.
Java and other languages (especially scripting languages) are getting faster and smaller in memory footprint quicker than C programs are reducing the number of security related bugs.
Use the right tool for the job and, more often than not, C is not the right tool.
You mean like this?
Or did you mean pared down VMs like this or maybe this? How about scaling up to this?
I ask you this about C and C++ (which are distinct languages and should not be associated closely with one another like "C/C++"): where are the cross-platform, universal database APIs? If you answer ODBC, you obviously haven't ever programmed to ODBC for more than one database. How about those universal threading libraries? GUI? XML APIs? Math libraries? RPC? Authentication and authorization? I18n? L10n? How about the fact that there's more to Unicode than a type like wchar_t? Accessibility? Audio? Cryptography? Image handling and manipulation? Printing?
C and C++ is a Swiss Army Knife? Only if you like the Swiss Army Knife model with two blades and a flathead screwdriver.
Is Java the end-all be-all language? Of course not. Nothing is. Does it have limitations? Sure. Everything does. Just don't presume to suggest that C and C++ are some overlooked white knights. Hell, even the creator of C++ thinks there should be a garbage collector in C++.
It changes temporally? Is this the "pertains to a temple" definition? Is Titan close to the temporal artery? Or is Titan a new religious dignitary? Or perhaps they meant Titan is in temporal (time-related) flux like in some Star Trek episode?
Methinks someone needs a dictionary. I believe the poster meant, "Because Titan changes both spatially and in temperature..."
It's nice that someone has made a GUI for it, but I wonder if this functionality truly belongs in a relational database rather than the filesystem level.
Nevertheless, the work done here for Gnome will make the functionality available for everyone with a decent relational database rather than just those with the next generation of filesystem handy (BeFS, WinFS, Reiser4, etc.).
And the reason given by the state for this is that you are property of the state. If you only belong to yourself, there can be no prohibition of suicide.
As it stands, suicide is seen as a detriment to the health of society as a whole -- therefore illegal.
Ergo in the U.S., you are owned by the state. Don't like it? Change the laws. As it stands right now, you are the government's chattle if you live in the U.S.
1. Since when? How many articles have you seen that advertise a new Linux distribution or a commercial branch of Wine. I know I've seen quite a few.
2. Who was advertising? Certainly not me. I was briefly quoting the parent post and giving a word of warning to people already using MySQL to aid them in data integrity. I personally don't care for MySQL and don't use it.
3. Is the air thin up there on your high horse?
It should be noted however that PostgreSQL was proportionally even further behind Oracle in the past. They're far behind, but think they're running faster.