If you want to do professional...academic work, there are only two options.
Correct.
TeX or Microsoft Office.
Incorrect. (La)TeX or FrameMaker. MS Word is completely inappropriate for scientific academic work and I suspect for most other fields as well. List numbering doesn't work, figures behave horribly and formatting is a pain in the neck. Word may be great for the office, but a professional publishing package it is not.
I can see how this would be very nice to have, but for me it just doesn't justify the cost. The other features I can really do without. I just set my VCR weekly timer and that's it. Why does it make a difference whether I specify a show by name or by date and time? I do admit that the programming capacity of most VCR's is pathetic.
I suppose it is one of those things you just have to try before you get hooked. Strange that I have not seen much advertising for these things on TV.
And honestly, that is something that is hard to refute. More RAM is better, bigger HDs are better, bigger monitors/screens are better, faster modems are better...why don't CPU's follow the same rule?
Because everyone is only considering one component of "CPU speed." The current focus on MHz is analogous to specifying drive capacity by the number of platters. We need to talk about CPU speed, not frequency.
The answer is a pretty complicated one and to explain that would require some basic knowledge that you just can't squeeze into a 30 second commercial.
Why not? "Athlon -- the fastest PC microprocessor on earth."
Let me point you to Moore's Law [intel.com] clearly shows that CPU speeds increase at the same rate.
I'm sure this has been done: it would be interesting to see a graph of fab costs over the same time period. I'll bet it's higher and steeper than Moore's!
Let me tell you also, that if I'm running a maching on CPU bound tasks, even a 5% speed increase is worth buying. Especially if those tasks I'm running take large amounts of time to complete (weeks for scientific calculations!).
I absolutely agree with this. Although you still have to consider whether it would be faster to wait and run it later on a 2x machine.:) That is, assuming you don't have a good process-migration system.
TiVo is a great product, the problem is that the public just doesn't understand them yet. I've pretty much given up explaining them to people, as they invariably respond with: "my VCR can do that."
Count me as one of those public. What is so great about TiVo?
Is it the TV-guide integration? Certainly that would make things convenient, but I really only regularly watch about 3 shows a week anyway so it's not difficult to keep track of things.
I can see how TiVo's suggestions might be useful -- kind of like Amazon's recommendations which I have found to be very useful. However, why do I need that in a recording box? Why not just surf to some sort of on-line guide? I realize that this is how TiVo makes money but I'm looking at this from the consumer side.
Ideally I'd like to see the hardware, schedule and recommendations separate entities so you can mix-and-match. I realize this will never happen unless there is some sort of community effort because it's tough to make money off of them individually (except maybe the hardware).
The bit about whether AtheOS was updated to use new language features is a really important question, especially with respect to the exposed API. C++ has changed so much during the standardization process and there have been so many innovations that the entire nature of C++ design has changed radically. It's as if the committee and developers went in with one model in mind and came out with something completely different and wonderful.:)
People who share software with their friends risk high fines and jailterms.
Since when? If they copy and distribute copyrighted material without a license, sure. But not all software has such restrictive licenses.
People who reverse engineer software to get the source code face lawsuits, and, if UCITA passes, high fines and jailterms. These things may then also be viewed as acts of civil disobedience.
I've covered bad law before. They clearly need to be fixed, so yes, the second action is one of civil disobedience. The first is avoidance of monetary compensation or some other requirement of the license.
What's the difference? In the first case the user has a choice not to use the software. In the second case a developer has been restricted from pursuing her career. In the second case there are no alternatives because the desired goal is to interoperate with system X. In the first case the goal is to accomplish task Y. It is perhaps a subtle difference, but an important one.
The existence of software does not take it away. The existence of copyrights, liscenses and a government to enforce them does.
Three points:
A claim was made that producing proprietary software erodes freedom. That is clearly false.
Copyrights, licenses, patents, etc. do not take away freedom in and of themselves. The choice is always there not to make use of the products covered by them. Abuses of such provisions can take away freedom, but that's true with anything.
The GPL is based upon copyright law. Does the GPL take freedom away? Some would argue that it does. I would argue that it doesn't for the same reason proprietary software doesn't: the user has a choice not to use it.
I think the DMCA is useful because it shows something close to the ultimate end of blindly enforcing copyright laws past the time they make sense.
Buried in there is an assumption that copyright law makes sense in certain situations. The DMCA is an abuse of copyright law and I entirely agree with you that it takes away freedom.
They had the choice of death. And they had the choice of refusing to work and being whipped or starved. Those sound like choices to me, even if they seem rather unpleasant.
They could even have refused to have children so that no children would've been born slaves. Some even made that choice.
These are actions of civil disobedience, not choice in the free society sense. They are actions pursued because of a lack of freedom.
The existance of software cannot take away freedom. Users of software can take away their own freedom. Governments can take away freedom. The DMCA is a perfect example. Software in and of itself is morally neutral. It's a set of bits!
I think the choices that users have in an environment dominated by proprietary software are similarily unpalatable.
You must be joking.
We as consumers have a choice not to buy. In cases where ridiculous laws like the DMCA are involved, yes, I agree with you that things need to be fixed. But even then, in the time being we can refuse to buys DVD's, etc. I am doing just that, in fact.
RMS has done this for years, so one can't really claim it's impossible to use Free Software in a world where proprietary software exists. Either Free Software is a viable alternative or it isn't. If it is, then everyone should be happy. If it isn't, then what's the point of this argument?
You've missed the point. In a work environment, the lower-level employees don't make the decisions. The management does. They are free to choose any system they desire.
No, not everyone can use LaTeX, which is why we have things like KOffice.
If someone makes himself a slave, I believe it would be a void contract under US law. This is a far, far different situation from the use of proprietary software! This analogy is completely invalid.
Why would using Free Software cost you your job as long as you were able to perform it well? Proprietary software is sometimes necessary for interoperability but that is again a management decision. Talk to your manager about the software being deployed.
If this is an ideal you don't want to compromise, then it is simply another factor to consider when weighing job opportunities, no different from salary, location, etc.
More and more, it's becoming difficult to get a job in the USA that doesn't require the use of proprietary software.
But what freedoms have been removed here? Just because it's hard to completely suit your ideal doesn't mean freedom has been eroded. The POS system does not affect the workers at the restaurant. It affects the business. It was a business decision to use a proprietary software package. The business is equally free to use a Free alternative or to develop one. Choice hasn't been eliminated here.
The waiters at the restaurant don't have any say about which POS system is used because they're not in charge. It's a matter of hierarchy, not freedom.
In the industrialized world, we are rapidly approaching a day when you cannot work in any field without using software---and in nearly all cases, that software is proprietary software. The difference in the analogy you introduce disappears completely when that is the case.
No, it doesn't. You're confused about the identity of the "user." In those cases the "user" is the business as an entity. The individual workers are a part of that business. The people in charge are still free to make use of whatever software they choose. Hence the push to get Free Software into government offices, schools, etc.
It's silly to talk about proprietary software taking away freedom. Software doesn't take away freedom. Programmers don't take away freedom. Marketers don't take away freedom. Users take away their own freedom by choice.
Of course, this doesn't cover stupid laws that really do take away freedom. Comparing the two situations only takes away from our fight for the things that really matter.
I like Free Software. I use it in my daily work because it does what I need and is developed more rapidly than proprietary alternatives. I'm even hoping to contriute some not insignificant code to the collection of Free Software because I believe the benefits of open development make for a good product. What worries me about the FSF's rhetoric is that they want to take choice away from developers and users. The choice of license and the choice of software.
I liked this interview and wish Bradley all the best in his FSF work. However, I must take issue with a couple of his remarks.
For example, in the USA, white people used to have the right to own slaves. As a society, we eventually decided that this right was too restrictive on the freedom of the people who served as slaves.
Today, some argue that the "right to choose your own software license" is the greatest software freedom. By contrast, I think that, like slavery, it is an inappropriate power, not a freedom. The two situations both cause harm, and they differ only in the degree of harm that each causes.
No, they differ in a lot more than just that. The two situations are incomparable. Slavery results in the removal of freedoms from people. Developing proprietary software does not. Users still have the choice of whether or not to actually purchase and/or use the software. Victims of slavery have no choice in their situation.
Bradley is confusing the actions of the developer with those of the user. Developers can code under whatever license they choose. This does not mean users must make use of the product.
I still can't believe this analogy was made.
Others say "software libre" or "free (libre) software", using the Spanish word to make things clear. In fact, whenever I am speaking to an audience that I know will fully understand what "libre" is (in Europe, for example), I favor the term "Libre Software".
I've always liked this term and its counterpart, "Gratis Software." Using them in combination makes a clear distinction for the receiver. "Free" is just too loaded a term, at least in the US.
The ultimate solution is to change USA political sensibilities, so that USAmericans don't immediately label someone as a "lunatic" or "pinko" simply because (s)he puts freedom, community and goodwill as higher goals than the profits of shareholders.
Its ironic that Bradley makes this statement given his wonderful explanation of how to connect with non-hackers about Free Software. This is exactly the sort of statement that turns people off and creates the impression of a raving lunatic rebellious dangerous hacker culture.
Not everyone who develops or supports the option to develop proprietary software is working in the interests of corporations. Moreover, I'd bet that most people in the USA are quite concerned about excessive corporate power and have been for quite some time, something that Bradley has obviously missed given the above statement.
Please don't stereotype and generalize. Stereotyping and generalizing is what made Archie Bunker, and makes us, raving lunatics.
Actually you can. True, only one iterator per connection(you are using ADO, I'm guessing), but you can create multiple connections to the same database and get multiple iterators(MoveNext, etc).
As I said, I only have very limited experience. VB and databases are not my area of expertise.:) Thanks for the tip!
There's no reason to do your VB programming in Access BTW, unless your intention is to distribute your app along with an Access database.
That was our intention. It just seemed easier to do it that way given time constraints.
The next generation of MS programming tools looks pretty good. VB will be strongly typed(no more voodoo variables), and fully object oriented, supporting polymorphism and inheritance.
Great! You just reminded me of another shortcoming of VB that frustrated me to no end. Glad to hear it will be fixed.
Also, outside of VB C# looks killer and should serve to do away with MFC, at least for new applications.
Agreed. C# definitely looks interesting. Again, it's not in my main field of work, but cross-pollination is always a useful exercise.:)
Why do you say generics in C++ are a hack? Perhaps they're not quite as expressive as in some other languages but they do the job and do it well. I've often found that "missing" features of C++ can often be implemented using existing language features.
I only have very limited experience (specifically using VB with Access), but the one thing that annoyed me to know end was that record iterators are intrusive. This means one cannot keep several iterators around at the same time and manipulate them independently.
There are countless examples of braindead design like this in MS development products. Not the least of which is MFC.
VB is great for quick one-off type applications but I found it difficult to work with on projects of any reasonable size. It could have been so much more than what it is.
By who's standards? I have seen some very, very beautiful C++ code. Especially using templates.
and like most scientists, no time for such concepts as beauty.
Ok, this must be a troll. Many of the scientists and engineers I know are incredibly knowledgeable about art, literature, music, architecture and all of the other artistic disciplines. They are some of the most artistic people I know!
Try to tell a mathematician her work isn't beautiful. Perhaps it is not visually, but is by a much more abstract and, shall I say, beautiful standard.
Also, some of the most commonly used data structures are standard, eg Strings, and you don't need a separate proto-language to put together classes - yes I'm talking about having no need for STL.
I'm confused by this statement. Java has a String class in its standard library. The STL is part of the C++ standard library. What's the difference?
Stroustrup quotes a Bell Labs proverb in his books: Library design is language design. Andy Koenig follows it up with: and vice versa.
Java does have it draw-backs, such as speed, but this is quickly becoming a non issue on modern computers.
I agree with this statement.
Java, to me, is just not as powerful and flexible as C++. Certainly that power and flexibility can get oneself into trouble, but that doesn't mean it shouldn't be there. In Java I would dearly miss templates and operator overloading. Java is probably going to get generics, which is good. I hope they cover more than "container of X," though.
A lot of people I meet can't really cope with C++ so some simplification would not be a bad thing.
But we can already do this. If one isn't comfortable with certain features of C++, just don't use them!
Similarly as someone said earlier, I like operator overloading. If you're doing matrices etc. then it's cool. I also like templates - ugly, but type-safe.
Agreed, but operator overloading and templates go far beyond simple datatypes and containers. The entire C++ iostream library would be impossible without operator overloading and templates allow easy-to-use locales, custom memory management of data structures, metaprogramming, generators, concept checks, traits, generic algorithms and a whole boatload of other things that go way beyond vectors of tuples of maps of strings to functors.
Sorry to rant, but I've come across too many people who see the STL simply as a container library and entirely miss the beauty of it. It's a shame it was never really completely finished. Thankfully we have things like Boost to fill in the gaps.
Oh, and get a proper auto_ptr class and then we're done.
We do have a proper auto_ptr class. It's just not what most people think it is. Herb Sutter's Exceptional C++ covers auto_ptr usage nicely. Sometimes auto_ptr is the only way to make code exception-safe. If you need a more-featured smart pointer, look at Boost::smart_ptr.
I agree with you. This guy obviously wants a language that is easy to compile. Unfortunately, that misses the entire point of having a compiler in the first place.
As soon as I saw that he got rid of automatic objects, operator overloading, templates and multiple inheritance, I knew that he does not have much knowledge about the use of these features in large projects. Most complaints I hear about C++ usually focus on these items and are made by people who do not fully understand the power and flexibility they provide. They are stuck in the 2-D world of simple datatypes and containers of X.
Automatic objects are absolutely essential for the "resource initialization is acquisition" paradigm. Mutex locks, for example, are trivial to use with this technique. And they work automatically when exceptions are thrown. This is why automatic variables are a pain to implement with exceptions, but with D the programmer will have to clean up manually, writing the code that C++ compilers generate automatically.
Operator overloading is used for a lot more than complex, string and smart pointer objects. The [] operator is used on anything that acts like an array or map. The () operator is essential for nice functors, callbacks and generative programming. Operator overloading and templates has been used to create parsers that allow users to write BNF-style grammars directly in C++. I once used them to easily build ASTs for C expressions.
Which brings us to templates. Templates are a crucial element of C++. So much so that most experts now advise less inheritance and more template specialization. They are used for much more than "container of X." The whole C++ generative programming movement is based upon them. They in turn require things like operator overloading because templates are a weaker form of binding. Rather than conforming to the "isa" relationship, a template argument need only implement the syntactic interface of the operations used in the template.
Templates are so important that even Java is going to get them.
Multiple inheritance does have a performance penalty and certainly is complicated for implementors, but it is incredibly useful. Again, generative programming along with advanced generic programming with design patterns uses MI mixins to add features to objects. See books by Andrei Alexandrescu and
Krzysztof Czarnecki and Ulrich Eisenecker for what I'm talking about. This is very cool stuff.
Be very suspicious of languages developed by and for compiler writers.
Re:Been running it for a week now, great release.
on
KDE 2.2 Released
·
· Score: 1
It is *very* standard complient, but standards complience cannot be a compiler's only feature.
No, not the only feature, but don't underestimate the importance of this. I can't count how many times I've heard curses over VC++'s lack of standards compliance. Template specialization is always a sore point, especially given its prominence in recent C++ coding practices.
I, for one, will not be disappointed. First get it working, then optimize.
What's bloated about C++? C++ features are no more bloated than equivalent C features. What's the difference between a single-inheritance OO object and a tagged union and switch? Nothing except a function call and even that can be eliminated by a good compiler some of the time.
It's possible the certain implementations of C++ might contain bloat (GNU libstdc++ is notoriously bad, for example), but don't judge the language and libraries on that.
I found out I could use the following commands and nothing else to get software installed and use it:
You forgot step 1: apt-get update.:)
* http://packages.debian.org to find packages
You can use apt-cache for this: apt-cache search phrase.
* dselect (a little tricky)
I would not recommend it. apt-cache does everything I need, though YMMV.
being able to browse the entire distro and install/deinstall software (e.g. gnucash) and let the installation software figure out the package and version dependencies, install them in the proper order, and worry about stomping on more important packages, actually seemed to make it 'safer' for the user exploring the available software under linux.
This is a really excellent point -- one I had not considered before. I use apt a lot just to try out software. It's virtually painless as I know it won't break the distribution (especially if stuff comes from stable) and it is a cinch to uninstall software as well.
But if I'm going to be setting up a Linux user (and I expect to in the near future), I'm tempted to make dselect and apt-get setuid root and let the beginners check out the various packages themselves.
I would hesistate to do that. I understand your reasoning but you want to make sure your machine is under some sort of control. I haven't tried this, but it might be possible to setup chroot environments for your more ambitious users. This probably means installing a barebones distribution in each environment but it will at least allow users to try out new software. You could limit this to one system-wide
chroot setup.
I don't think I dodged your question. I answered it quite completely. It's not an issue of "globs of cells" and DNA combining. It's an issue of human life as a whole. It's an issue of dignity. Each life has the right to develop as fully as possible, whether embryo, fetus, baby, child, teenager or adult.
Yes, of course my religious views play a part. I'm purposely avoiding the use of any terms people might consider religious, but yes, that motivation is there as well.
Tonight I'm going to pull all the newspaper records I can from that year and I'll mail them to you.
I don't doubt for a second that such reprehensible comments were made. I testified to my own experience with my own group of acquaintences in an attempt to differentiate pro-life people from those who claim to be.
For the record, I have no data whatsoever regarding Bush's pro-life views. He doesn't appear to ever have stated his commitment to pro-life. More than once a week.
I wasn't arguing, I was asking for quotes. The closest I can find from your examples is from Bush's inauguration speech in which he said, "I will lead our nation toward a culture that values life -- the life of the elderly and the sick, the life of the young and the life of the unborn." This is a quite narrow definition of pro-life. It specifically avoids the capital punishment issue, for example. Hence my statement that the
Republican party (and Bush in particular) is not pro-life.
I didn't label pro-lifers as hypocrites.
Not directly, no, but the implication was certainly there. Someone pointed this out and you responded:
For myself, I cannot help but question their consistency. A political party that is so pro-life is also so pro-death penalty.
"Their" in the first statement can be taken as a generalization of all pro-lifers. Apologies if I misunderstood your statement. Perhaps "I cannot help but question the consistency of some pro-lifers" would be more accurate. The second statement is simply false as a political party that supports the death penalty by definition cannot be considered pro-life, no matter what it calls itself.
Tell them if it's life they're about, then they have to make an unconditional commitment.
I'm truly sorry about your experiences. Obviously you have not interacted with the best people on these issues. When I see the sorts of things you've described it breaks my heart. All I can say is that I do know a fine group of people who are consistent in their life views.
Correct.
Incorrect. (La)TeX or FrameMaker. MS Word is completely inappropriate for scientific academic work and I suspect for most other fields as well. List numbering doesn't work, figures behave horribly and formatting is a pain in the neck. Word may be great for the office, but a professional publishing package it is not.
I can see how this would be very nice to have, but for me it just doesn't justify the cost. The other features I can really do without. I just set my VCR weekly timer and that's it. Why does it make a difference whether I specify a show by name or by date and time? I do admit that the programming capacity of most VCR's is pathetic.
I suppose it is one of those things you just have to try before you get hooked. Strange that I have not seen much advertising for these things on TV.
Because everyone is only considering one component of "CPU speed." The current focus on MHz is analogous to specifying drive capacity by the number of platters. We need to talk about CPU speed, not frequency.
Why not? "Athlon -- the fastest PC microprocessor on earth."
I'm sure this has been done: it would be interesting to see a graph of fab costs over the same time period. I'll bet it's higher and steeper than Moore's!
I absolutely agree with this. Although you still have to consider whether it would be faster to wait and run it later on a 2x machine. :) That is, assuming you don't have a good process-migration system.
Count me as one of those public. What is so great about TiVo?
Is it the TV-guide integration? Certainly that would make things convenient, but I really only regularly watch about 3 shows a week anyway so it's not difficult to keep track of things.
I can see how TiVo's suggestions might be useful -- kind of like Amazon's recommendations which I have found to be very useful. However, why do I need that in a recording box? Why not just surf to some sort of on-line guide? I realize that this is how TiVo makes money but I'm looking at this from the consumer side.
Ideally I'd like to see the hardware, schedule and recommendations separate entities so you can mix-and-match. I realize this will never happen unless there is some sort of community effort because it's tough to make money off of them individually (except maybe the hardware).
Or do I record those and watch 'em in the winter? :)
BTW, Mon-Thurs showings of Farscape on SciFi start tonight at 8pm Eastern/Pacific. Watch it from the beginning!
The bit about whether AtheOS was updated to use new language features is a really important question, especially with respect to the exposed API. C++ has changed so much during the standardization process and there have been so many innovations that the entire nature of C++ design has changed radically. It's as if the committee and developers went in with one model in mind and came out with something completely different and wonderful. :)
Go auto keyword overload proposal! :)
Since when? If they copy and distribute copyrighted material without a license, sure. But not all software has such restrictive licenses.
I've covered bad law before. They clearly need to be fixed, so yes, the second action is one of civil disobedience. The first is avoidance of monetary compensation or some other requirement of the license.
What's the difference? In the first case the user has a choice not to use the software. In the second case a developer has been restricted from pursuing her career. In the second case there are no alternatives because the desired goal is to interoperate with system X. In the first case the goal is to accomplish task Y. It is perhaps a subtle difference, but an important one.
Three points:
Buried in there is an assumption that copyright law makes sense in certain situations. The DMCA is an abuse of copyright law and I entirely agree with you that it takes away freedom.
These are actions of civil disobedience, not choice in the free society sense. They are actions pursued because of a lack of freedom.
The existance of software cannot take away freedom. Users of software can take away their own freedom. Governments can take away freedom. The DMCA is a perfect example. Software in and of itself is morally neutral. It's a set of bits!
You must be joking.
We as consumers have a choice not to buy. In cases where ridiculous laws like the DMCA are involved, yes, I agree with you that things need to be fixed. But even then, in the time being we can refuse to buys DVD's, etc. I am doing just that, in fact.
RMS has done this for years, so one can't really claim it's impossible to use Free Software in a world where proprietary software exists. Either Free Software is a viable alternative or it isn't. If it is, then everyone should be happy. If it isn't, then what's the point of this argument?
No, not everyone can use LaTeX, which is why we have things like KOffice.
If someone makes himself a slave, I believe it would be a void contract under US law. This is a far, far different situation from the use of proprietary software! This analogy is completely invalid.
Why would using Free Software cost you your job as long as you were able to perform it well? Proprietary software is sometimes necessary for interoperability but that is again a management decision. Talk to your manager about the software being deployed. If this is an ideal you don't want to compromise, then it is simply another factor to consider when weighing job opportunities, no different from salary, location, etc.
But what freedoms have been removed here? Just because it's hard to completely suit your ideal doesn't mean freedom has been eroded. The POS system does not affect the workers at the restaurant. It affects the business. It was a business decision to use a proprietary software package. The business is equally free to use a Free alternative or to develop one. Choice hasn't been eliminated here.
The waiters at the restaurant don't have any say about which POS system is used because they're not in charge. It's a matter of hierarchy, not freedom.
No, it doesn't. You're confused about the identity of the "user." In those cases the "user" is the business as an entity. The individual workers are a part of that business. The people in charge are still free to make use of whatever software they choose. Hence the push to get Free Software into government offices, schools, etc.
It's silly to talk about proprietary software taking away freedom. Software doesn't take away freedom. Programmers don't take away freedom. Marketers don't take away freedom. Users take away their own freedom by choice.
Of course, this doesn't cover stupid laws that really do take away freedom. Comparing the two situations only takes away from our fight for the things that really matter.
I like Free Software. I use it in my daily work because it does what I need and is developed more rapidly than proprietary alternatives. I'm even hoping to contriute some not insignificant code to the collection of Free Software because I believe the benefits of open development make for a good product. What worries me about the FSF's rhetoric is that they want to take choice away from developers and users. The choice of license and the choice of software.
I liked this interview and wish Bradley all the best in his FSF work. However, I must take issue with a couple of his remarks.
No, they differ in a lot more than just that. The two situations are incomparable. Slavery results in the removal of freedoms from people. Developing proprietary software does not. Users still have the choice of whether or not to actually purchase and/or use the software. Victims of slavery have no choice in their situation.
Bradley is confusing the actions of the developer with those of the user. Developers can code under whatever license they choose. This does not mean users must make use of the product.
I still can't believe this analogy was made.
I've always liked this term and its counterpart, "Gratis Software." Using them in combination makes a clear distinction for the receiver. "Free" is just too loaded a term, at least in the US.
Its ironic that Bradley makes this statement given his wonderful explanation of how to connect with non-hackers about Free Software. This is exactly the sort of statement that turns people off and creates the impression of a raving lunatic rebellious dangerous hacker culture.
Not everyone who develops or supports the option to develop proprietary software is working in the interests of corporations. Moreover, I'd bet that most people in the USA are quite concerned about excessive corporate power and have been for quite some time, something that Bradley has obviously missed given the above statement.
Please don't stereotype and generalize. Stereotyping and generalizing is what made Archie Bunker, and makes us, raving lunatics.
As I said, I only have very limited experience. VB and databases are not my area of expertise. :) Thanks for the tip!
That was our intention. It just seemed easier to do it that way given time constraints.
Great! You just reminded me of another shortcoming of VB that frustrated me to no end. Glad to hear it will be fixed.
Agreed. C# definitely looks interesting. Again, it's not in my main field of work, but cross-pollination is always a useful exercise. :)
Why do you say generics in C++ are a hack? Perhaps they're not quite as expressive as in some other languages but they do the job and do it well. I've often found that "missing" features of C++ can often be implemented using existing language features.
There are countless examples of braindead design like this in MS development products. Not the least of which is MFC.
VB is great for quick one-off type applications but I found it difficult to work with on projects of any reasonable size. It could have been so much more than what it is.
By who's standards? I have seen some very, very beautiful C++ code. Especially using templates.
Ok, this must be a troll. Many of the scientists and engineers I know are incredibly knowledgeable about art, literature, music, architecture and all of the other artistic disciplines. They are some of the most artistic people I know!
Try to tell a mathematician her work isn't beautiful. Perhaps it is not visually, but is by a much more abstract and, shall I say, beautiful standard.
I'm confused by this statement. Java has a String class in its standard library. The STL is part of the C++ standard library. What's the difference?
Stroustrup quotes a Bell Labs proverb in his books: Library design is language design. Andy Koenig follows it up with: and vice versa.
I agree with this statement.
Java, to me, is just not as powerful and flexible as C++. Certainly that power and flexibility can get oneself into trouble, but that doesn't mean it shouldn't be there. In Java I would dearly miss templates and operator overloading. Java is probably going to get generics, which is good. I hope they cover more than "container of X," though.
But we can already do this. If one isn't comfortable with certain features of C++, just don't use them!
Agreed, but operator overloading and templates go far beyond simple datatypes and containers. The entire C++ iostream library would be impossible without operator overloading and templates allow easy-to-use locales, custom memory management of data structures, metaprogramming, generators, concept checks, traits, generic algorithms and a whole boatload of other things that go way beyond vectors of tuples of maps of strings to functors.
Sorry to rant, but I've come across too many people who see the STL simply as a container library and entirely miss the beauty of it. It's a shame it was never really completely finished. Thankfully we have things like Boost to fill in the gaps.
We do have a proper auto_ptr class. It's just not what most people think it is. Herb Sutter's Exceptional C++ covers auto_ptr usage nicely. Sometimes auto_ptr is the only way to make code exception-safe. If you need a more-featured smart pointer, look at Boost::smart_ptr.
As soon as I saw that he got rid of automatic objects, operator overloading, templates and multiple inheritance, I knew that he does not have much knowledge about the use of these features in large projects. Most complaints I hear about C++ usually focus on these items and are made by people who do not fully understand the power and flexibility they provide. They are stuck in the 2-D world of simple datatypes and containers of X.
Automatic objects are absolutely essential for the "resource initialization is acquisition" paradigm. Mutex locks, for example, are trivial to use with this technique. And they work automatically when exceptions are thrown. This is why automatic variables are a pain to implement with exceptions, but with D the programmer will have to clean up manually, writing the code that C++ compilers generate automatically.
Operator overloading is used for a lot more than complex, string and smart pointer objects. The [] operator is used on anything that acts like an array or map. The () operator is essential for nice functors, callbacks and generative programming. Operator overloading and templates has been used to create parsers that allow users to write BNF-style grammars directly in C++. I once used them to easily build ASTs for C expressions.
Which brings us to templates. Templates are a crucial element of C++. So much so that most experts now advise less inheritance and more template specialization. They are used for much more than "container of X." The whole C++ generative programming movement is based upon them. They in turn require things like operator overloading because templates are a weaker form of binding. Rather than conforming to the "isa" relationship, a template argument need only implement the syntactic interface of the operations used in the template.
Templates are so important that even Java is going to get them.
Multiple inheritance does have a performance penalty and certainly is complicated for implementors, but it is incredibly useful. Again, generative programming along with advanced generic programming with design patterns uses MI mixins to add features to objects. See books by Andrei Alexandrescu and Krzysztof Czarnecki and Ulrich Eisenecker for what I'm talking about. This is very cool stuff.
Be very suspicious of languages developed by and for compiler writers.
No, not the only feature, but don't underestimate the importance of this. I can't count how many times I've heard curses over VC++'s lack of standards compliance. Template specialization is always a sore point, especially given its prominence in recent C++ coding practices.
I, for one, will not be disappointed. First get it working, then optimize.
It's possible the certain implementations of C++ might contain bloat (GNU libstdc++ is notoriously bad, for example), but don't judge the language and libraries on that.
HLL != bloat!
You forgot step 1: apt-get update. :)
You can use apt-cache for this: apt-cache search phrase .
I would not recommend it. apt-cache does everything I need, though YMMV.
This is a really excellent point -- one I had not considered before. I use apt a lot just to try out software. It's virtually painless as I know it won't break the distribution (especially if stuff comes from stable) and it is a cinch to uninstall software as well.
I would hesistate to do that. I understand your reasoning but you want to make sure your machine is under some sort of control. I haven't tried this, but it might be possible to setup chroot environments for your more ambitious users. This probably means installing a barebones distribution in each environment but it will at least allow users to try out new software. You could limit this to one system-wide chroot setup.
Yes, of course my religious views play a part. I'm purposely avoiding the use of any terms people might consider religious, but yes, that motivation is there as well.
I don't doubt for a second that such reprehensible comments were made. I testified to my own experience with my own group of acquaintences in an attempt to differentiate pro-life people from those who claim to be.
I wasn't arguing, I was asking for quotes. The closest I can find from your examples is from Bush's inauguration speech in which he said, "I will lead our nation toward a culture that values life -- the life of the elderly and the sick, the life of the young and the life of the unborn." This is a quite narrow definition of pro-life. It specifically avoids the capital punishment issue, for example. Hence my statement that the Republican party (and Bush in particular) is not pro-life.
Not directly, no, but the implication was certainly there. Someone pointed this out and you responded:
"Their" in the first statement can be taken as a generalization of all pro-lifers. Apologies if I misunderstood your statement. Perhaps "I cannot help but question the consistency of some pro-lifers" would be more accurate. The second statement is simply false as a political party that supports the death penalty by definition cannot be considered pro-life, no matter what it calls itself.
I'm truly sorry about your experiences. Obviously you have not interacted with the best people on these issues. When I see the sorts of things you've described it breaks my heart. All I can say is that I do know a fine group of people who are consistent in their life views.
Right, which is why one can't consider embryonic stem cell research without also considering the possibility of a marketplace for harvested embryos.