Just so we stay clear about this: MS was the first to support AJAX via XMLHttpRequest, so this is only a change in how they do it.
Just so we stay clear about this, but Mozilla was the first to support ``AJAX'' via the XMLHttpRequest object.
MS supports the same interface (and may have originated the interface) with an ActiveX control.
I have web applications that use an interface similar to XMLHttpRequest that worked in Netscape 3, including asynchronous GET/POST operations from JavaScript using Java.
If the drivers are buggy, who the hell do you think gets blamed?
The...people...who...wrote...the...drivers?
You really think people track down that little known Korean company that actually made the hardware when they've got some BSOD in Windows?
Again, tossing some source into the wild and hoping for the best is not how businesses work. If they decide to support a product, nearly all of them want to do it well.
You're confused.
People are asking for access to the same specifications that they have to put together to have their own software developers make drivers for Windows, or in some cases, to obtain federal licensing permits, and etc.
They are not asking for "some source from the wild", they are asking to understand how the hardware works.
Doesn't plug into Win32. Its a replacement for the Win32 (MFC/.net) calls you would otherwise make. Same as *Step.
Win32 != MFC/.net. Those plug into Win32 as well.
You say Cocoa/Objective-C has 5% of the market, so you use QT. Do you have any idea what kind of penetration QT has?
Doesn't matter, once its compiled it just works on the target platform (win/mac/lin/embedded). Cocoa restricts me to Mac only.
No it doesn't. You keep saying this, but Using GNUStep gives you the same API on many platforms, and as mentioned, more platforms than QT.
If you are a C++ programmer Qt is a breeze.
Subjective.
Qt works on all the desktops out there and on embedded systems, what other systems are there?
You're confusing platforms and systems with "kinds of platforms" or "kinds of systems".
GNUstep runs on OS/2 (for example: a platform and a system). GNUstep runs on GGI (for example: a platform based on UNIX). There are more platforms that GNUstep runs on than QT.
And it offers funcionality that *Step doesn't have.
No it doesn't. In fact, QT had to use "moc C++" instead of C++ because C++ lacks language features that Objective-C has.
And give up operator overloading (say what you want but its useful as hell in math and sciences when you are working with vectors and matrices)
No. What's good there is using well understood operators with other number systems and fields.
Operator overloading isn't required for that. See Fortran.
templates (similar arguments),
No. What's good is the ability to quickly build generics. Templates were added to C++ so that C++ users could add and use generics similar to how Objective-C users can and do, although templates are far inferior to their Objective-C analog.
automatic type casting? Hell no.
Err, C++ doesn't do automatic type casting. It can do automatic type conversion, but C++ has four separate kinds of "cast operators", none of which actually convert the type, and none of which can be omitted and the compiler inserted "automatically".
The fact that you call C++ obscure makes it obvious that you are an idiot or trolling
Check again. I never called C++ obscure. I said QT's variant of C++ is obscure- far more so than Objective-C. "moc C++" is not C++, and the objects that it creates cannot be utilized by C++ code.
You even agreed that "moc C++" wasn't the same as C++, so I have no idea what argument you're making here.
I was going to answer blow by blow but you don't deserve it.
You mean you don't really know what you're talking about.
You have been moderated appropriately, go away.
Many times, but none of my posts on this thread have been moderated. On a nearby thread, I was moderated "Flame Bait" for mentioning lies told by the inventor and authority of C++, which just goes to demonstrate what kind of tools C++ users actually are.
I know that I HAVE JavaScript disabled (using the NoScript extension) for this and other reasons, and I don't want to have that functionality back whithout me noticing.
Javascript isn't required to implement tracking.
Consider a simple redirect URL.
This is a mechanism that's cleaner than redirect URLs (because the target URL isn't obscured) and doesn't require JavaScript.
Microsoft has the worst track record of any operating systems vendor in the security arena: It isn't enough to say that you deliver patches within a month of when you acknowledge the vulnerability, because people (a) can't or don't patch their systems and (b) modern Internet-host risk assessment isn't based on whether the site-administrator knows they're at risk, but how many, how frequent, and how damaging exploits are in the wild.
Administrative security issues aren't in question either- most targetted breakins are not performed with carefully engineered software hacks but with social hacks, and even the automated variety of these attacks tend to drown out any noise that would otherwise confuse a regular administrator.
When (if ever) is Microsoft going to take this overwealmingly serious problem and "fix it", and what is Microsoft going to do to correct their tarnished image? Are we going to see a monetary guarantee that Microsoft software is free from security defects (such as with Qmail and Dovecot)? Are we going to see Microsoft-endorsed blackouts of vulnerable Windows PCs where ISPs are (possibly monetarily) encouraged to shut down the connections of damaged Microsoft software?
Or are we going to see more "white papers" that say everything is fine, we're already better than everyone else, and stop asking questions?
"Windows users don't even know they're running users "
Could you please translate that to english for me? Google is having problems.
Ask people what kind of computer they have: Some can proudly say "I have a Mac" or "I have a Dell" - nobody says "I have a Microsoft Windows PC" - even though that's usually what is asked.
"I wouldn't need to buy more bandwidth right now."
Why do you need to buy more bandwidth?
Because a significant amount of my traffic is taken up by junk email generated by zombied Windows PCs and Windows worms and viruses. I thought I made that clear by pointing out that insecurities of Windows have a great effect on me despite the fact that I don't use it.
It seems easy enough to piss of Apple/MAC fans: just say something slightly negative, no matter how grounded in fact, about Apple or Mac.
Only if you say it without knowing what you're talking about.
It reminds me a bit of the Linux zealots.
Only if you say it without knowing what you're talking about.
This guy did that, so he got flamed.
This guy didn't know what he was talking about and now is backpeddling. That's what the higher profile trolls do, they say "If you think you're safer on a Mac, you're completely mistaken!", and then "Of course I don't mean in reality, nobody who read my article could think I was talking about reality! I was talking about my own little fantasy world where you're less safe on a Mac!"
Of course, if he had said it that way, he probably would've at least gotten a laugh. Instead his retort was to play the semantics game, and no wonder lots of people got upset.
Here's a person who either doesn't know what he's talking about (that is, merely repeats stuff people tell him, or is making conclusions that he isn't knowledgeable enough to make) or he's a mean old troll trying to piss people off. Either way, he's to be detested.
I personally didn't know much about the Mac crowd until recently -- but they are very touchy.
Good for you! Bridge that race gap!
Meanwhile, I know many Mac users and many Windows users, and I'd agree that most Mac users are most certainly touchier than Windows users, but that most Windows users don't even know they're running users and in fact, the defenders of Windows can't ever seem to do it with something even resembling a trace of logic. These people are far more touchy than Mac users, and worse still, are morally reprehensible because they defend it at the expense to themselves and others!
Here's a clue: In the last 5 years, not a single exploit that has been deployed for Linux has affected me, and yet all those dasturdly Blasters and Code-Reds are still affecting me - despite the fact I don't run Windows.
I don't care if you patch your system, I care that all these other people don't.
I contend- and others often more so that everyone would be much happier if there were no Microsoft and no Windows. I most certainly would be: You wouldn't be talking to me, and I wouldn't need to buy more bandwidth right now.
If I were a writing for primarily a Mac audience, I would be using Objective-C. But since I'm writing for Mac, Windows and Unix, I'm sticking with C++ for now.
You misunderstand: Look at the other threads on this subject. Many C++ users are vehemently opposed to Cocoa because it's Objective-C. They can use Objective-C++, and Objective-C/C++ isn't a fundementally different language. I think they don't realize these two points, and the barrier I refer to is why they don't realize these two points.
GNUstep is a native Objective-C framework, because it's chock full of NeXT/OSX paradigms. Sure you can write your application easily with it, but it will annoy the hell out of most Windows and Unix users.
Part of the flexibility that is *Step comes from those paradigms. They're absolutely wonderful, and it's a real shame those systems either can't or don't exist on other systems.
I find Windows users genuinely don't appear to mind GNUstep applications; Linux users certainly seem to however. Perhaps this is a problem...
The only thing i didn't like was the "illegally invade users' privacy". It's the 'illegally' that concerns me, what if DRM is made legal? I can see a loophole in there. The 'nor for modes of distribution'... does it include 'illegally', too?
No it doesn't. It doesn't exclude them either.
You cannot use GPL code to illegally violate anothers' privacy. You cannot use GPL code to prevent others from the other rights granted in the license.
Really, why not make a license that I don't need to be a lawyer to understand?
They did. The license is written in this way so that lawyers (and judges) don't have to be programmers in order to understand them.
Can I use GPLv3 software in a company (it's not private, usually)?
The GPL doesn't invalidate other reasons why you wouldn't be able to, but otherwise yes.
Can I modify it, but not distribute it outside the company?
If you're acting as the company-entity then yes. If not, then the normal rules apply.
All the quoted paragraph says is that if you take advantage of the freedoms the GNU GPL v3 gives you, you cannot use Patent Law to take those freedoms away from others that are taking advantage of the same freedoms that you did.
if I compile my code with GCC and link with a GNU library, my code will not fall under the GNU license unlese I sat it does.
It doesn't say that at all. It says that if you have to redistribute source with a binary because it's under the GPL, you don't have to redistribute everything that was used to make that binary if those listed conditions are met. For example, IF your code is derived from GPL code, or is otherwise redistributable under the GNU GPL, one doesn't have to redistribute GCC and the GNU C Library to satisfy the GPL: they would only have to redistribute the code in question, and not any "sub units" that are used to make it up.
That said, if it's your code it's your decision whether it's GPL or not (or maybe your employer's decision). If your code is actually derived from someone elses' code that GPL then your code is automatically redistributable under the GPL.
GCC has things like __builtin_apply that are GCC-specific. Ordinarily using these things would constitute a dependancy on GCC. This is why GCC has a special exception in its copying-terms. If this exception did not exist and you used __builtin_apply then you would have to redistribute GCC as well.
A better (more realistic) example is if your code links with libbinio which IS under the GNU GPL v2. Your code would be derived from it, and thus your code would be redistributable under the GNU GPL, but if libbinio is "ordinarily available" you wouldn't have to redistribute libbinio as well, and could simply refer people to it.
That was ALWAYS true. "class" was always a C++ keyword, and not a C keyword.
That's the point. C++ is not compatible with C, whereas Objective-C IS compatible with C.
It's not like trying to get a C programmer to write C++ (something that's very difficult), because Objective-C isn't anywhere near as complicated as C++ and yet does it so much better.
It's just not very interesting because it's trivial to resolve such incompatibilities -- unless your compiler is really, really good at reporting deceptive error messages, I guess.
So what? The question is not whether a capable C++ programmer can dive into C code, but instead what the barrier is with C++ programmers and Objective-C.
I pointed out that Objective-C is a strict superset of C, and Objective-C++ is a strict superset of C++. That means that if the programmer feels much more comfortable expressing certain logic in C or C++, they are able to when using Objective-C/C++.
This however, isn't true in the other direction- C users aren't always able to express C-think logic in C++.
Something like this:
const int *a; float *b, z; z =...; b = &z; a = (const int *)b;
Not valid C++ at all, no in C++ you need:
a = const_cast<const int *>(b);
This isn't surprising, or even new: C++ is not C. It's not a "better C", or a "newer C", it's got about as much in common with C as Java does.
But Objective-C is C, and Objective-C++ is C++.
Fine: C++ is your favorite language. You might even find it a fine language. That's okay, and I'm not making any effort to dispute that, or convert you or anyone else.
The question is: why do C++ users think the barrier into Objective-C is so high? Is it because they secretly realize they don't know C?
You might say "most C code", or "a lot of C code", or even "my C code" and get less argument, but by saying "good C code" you're saying that anyone who wants to use an obvious type name (like class) in C (like Bjarne did with C-with-classes) isn't producing good code.
Now, I may tend to agree: I think the author of C++ has no idea what he's doing and couldn't good code (let alone "good C code") his way out of a paper bag.
Nonetheless, the measure of goodness is still subjective.
The GCC manual says it synthesizes instructions using a narrower mode, and I suspect (although haven't checked, TBH) that it does the same thing with GCC FORTRAN.
The following does indeed compile on GCC 4 (on Tiger and FC4):
I wonder how much arbitrary code could have been executed by UNIX
Heh, you don't remember sendmail or BIND do you?
Of course, the Sendmail and ISC groups appear to have the mind-think of Microsoft, so maybe this isn't really a jab at UNIX, but simply at people who used these pieces of junk...
Yep - the WINE people are reimplementing the windows API bug-for-bug;-)
Otherwise sotware would not crash as expected.
Actually, that's been incredibly useful for me: I don't have any Windows machines, but I (admittedly haphazardly) maintain a Win32 port of some software.
This has helped me find bugs in Microsoft's own implementation of Win32- or if you'd prefer, bugs in the MSDN documentation.
The WINE people have spent a considerable amount of time inspecting Win32 function calls- more time I'm sure than Microsoft trying to find what values and what commands do exactly what, and without that efforts, I would not maintain a Win32 port at all.
The C++ is nice but since most osx programs are written on objective c, probably of little use.
It is trivial to write a translating compiler- in fact Apple has (had?) one for Objective-C and Objective-C++ at one point. Objective-C is a strict superset of C, so if XCode does directly target Intel's new offering I suspect that we'll simply see the translator again, and yes, it will be of considerable use.
Its a shame that most of the new OS X dev work is done using Objective-C and not C++.
I don't know that it would be a shame.
Certainly, if C++ were the language of choice for Cocoa, it might make C++ users feel more encouraged to target Cocoa, but it wouldn't actually help them write code for Cocoa.
The C++ interfaces for different display and widget systems are as different as the systems themselves- QT uses a "moc" C++ compiler that isn't even really C++ for signals and slots support- but encourages programmers to avoid tampering with the event loop, while Win32 encourages direct access with it.
So maybe if "Cocoa++" were around, it might help QT programmers (as the "moc C++" was designed to add features that Objective-C has, but that C++ didn't (and still doesn't well...)), but it certainly wouldn't help Win32 programmers in the slightest- except in "feeling" like all they've got to learn is a new API instead of a new language.
However, it may be better to point out that unlike the vast gap between C and C++ that makes them so distinctly different languages, Objective-C is a strict superset of C, in the sense that all C code is also Objective-C code. Apple also provides Objective-C++ which is a strict superset of C++, in the sense that all C++ code is also Objective-C++ code.
Now, most proficient programmers have no problem picking up a new language in a matter of hours; and Objective-C is so completely straightforward that just diving in is bound to validate that.
However, there are less-proficient programmers, and they tend to produce, sub-standard quality software. Given how much Cocoa software is of such high quality, it does beg the question: Is it the lack of poor programmers working in Objective-C, or is it that Objective-C is just that wonderful to use?
Having a "Cocoa++" might answer that question definitively, but I simply cannot see how that would be a Good Thing.
My only point of contention is on the topic of how to comply with this requirement; the current standards seem somewhat problematic, again, from a purely "end-user" perspective.
What the?
You said it was because redistributors had to include the source with the binaries that end-users were confused/abused/malnourished/etc.
I'm saying they don't have to include the source with the binaries, so what I understood to be your point is completely moot.
All you do is include an offer that has to be valid for three years. You can put this in the about box, or in a COPYING.txt file, or in a WHERE_TO_GET_SOURCE_CODE.txt file, or in the place you'd normally put a EULA- it doesn't really matter. What matters is that the OFFER needs to accompany the binaries (obviously, so that people who are interested in the offer can lay claim to it).
It just seems to me that the way it's being done now is contrary to the community's ideals and interests. Access to the source code is certainly the sine qua non of OSS; however, there are many ways to skin a cat, and I'd like to see better, more organic methods of disseminating the source.
How? What does "more organic methods" mean? What is presently being done now, what are the communities' ideals and interests? How are they in conflict?
If you have to pack up a bunch of files the user doesn't understand and can't read, then yeah, that's confusing. Just like including Chinese instructions to the Spanish. It doesn't mean anything to them, it just adds to clutter.
But as I pointed out, this isn't required. What's required is an offer that describes who to contact (postal address? email address? url?) that is valid for three years. Users that aren't interested can trivially ignore such a notice.
OK, good for you, you can spend an hour digging around to find the worst screen shot of your opponent and the best of your proponent. I've designed better.
Again, subjective.
My main tenent still stands: Cocoa only holds for Macs, which have a 5% market share. Who cares about 5%?
This is a circular argument. GNUstep runs where Cocoa does not.
The discussion is about C++.
So why are you defending QT? It's applications aren't written in C++.
Who cares about other programming languages (Java, Python).
Now compare the 3 API's. wxWidgets and QT are skinnable. What about GNUstep? Nope.
"moc C++" OK I give you that. But its still a decent API to work with and a breeze to port.
And GNUstep is a better API. It's also much more mature.... and a breeze to port. As in, you do nothing to port it. (been there, done that)
Wrong. C++ is incompatible with C, and moc C++ is incompatible with C++. In contrast, Objective-C is a pure superset of C (in other words: all C code is also Objective-C code), and Objective-C++ is a pure superset of C++ (in other words: all C++ code is also Objective-C++ code).
"That's not subjective either."
That part? No. It was just wrong.
I saw no mention of wxWidgets or QT in there. Nice try.
What are you babbling about?
"QT works on less platforms than GNUstep,"
Which begs the question... if GNUstep has plugins into Cairo, it must be missing that functionality (that Qt already has). Please respond:
If QT has plugins into Win32, it must be missing that functionality (that Win32 already has).
GNUstep is a collection of many things, and yes, there is a significant amount of duplicated effort there. For example:
GNUstep provides an "art" backend (which is often used on X11) because it supports the nfont system. This is quite a bit older than fontconfig, but these days, "everyone else" wants to use fontconfig, and to make integration easier, GNUstep supports fontconfig through its Cairo interface.
The fact that GNUstep can please so many people on so many different targets in so many different languages on so many different platforms is part of MY point.
The fact that QT is harder to use, targets less systems, supports fewer languages (and the primary one being obscure), and on less platforms doesn't help YOUR point: which is that C++ is more useful and more robust and Objective-C.
So how is it that C++ is so useful and robust if it needs a preprocessor to make it usable in your preferred environment (QT)?
You say Cocoa/Objective-C has 5% of the market, so you use QT. Do you have any idea what kind of penetration QT has? Are you so certain it's higher than MacOSX, GNUStep, OpenStep, and NeXTStep combined?
Just so we stay clear about this: MS was the first to support AJAX via XMLHttpRequest, so this is only a change in how they do it.
Just so we stay clear about this, but Mozilla was the first to support ``AJAX'' via the XMLHttpRequest object.
MS supports the same interface (and may have originated the interface) with an ActiveX control.
I have web applications that use an interface similar to XMLHttpRequest that worked in Netscape 3, including asynchronous GET/POST operations from JavaScript using Java.
If the drivers are buggy, who the hell do you think gets blamed?
The...people...who...wrote...the...drivers?
You really think people track down that little known Korean company that actually made the hardware when they've got some BSOD in Windows?
Again, tossing some source into the wild and hoping for the best is not how businesses work. If they decide to support a product, nearly all of them want to do it well.
You're confused.
People are asking for access to the same specifications that they have to put together to have their own software developers make drivers for Windows, or in some cases, to obtain federal licensing permits, and etc.
They are not asking for "some source from the wild", they are asking to understand how the hardware works.
I was just so curious where those URLs went.
:)
Should have made them goatse.cx
I'd be lying if I said I wasn't considering it
Bypassed? That may demand definition, for example,
Where does http://tinyurl.com/161 go?
How about http://freshmeat.net/redir/cexec/57387/url_homepa
How do you know without making a URL connection?
Oh sure, you can ignore links that look like that, and even block them. Nobody's suggesting that you cannot block PING-requested URLs.
But bypassed? What exactly could you mean by this?
Win32 != MFC/.net. Those plug into Win32 as well.
Doesn't matter, once its compiled it just works on the target platform (win/mac/lin/embedded). Cocoa restricts me to Mac only.
No it doesn't. You keep saying this, but Using GNUStep gives you the same API on many platforms, and as mentioned, more platforms than QT.
If you are a C++ programmer Qt is a breeze.
Subjective.
Qt works on all the desktops out there and on embedded systems, what other systems are there?
You're confusing platforms and systems with "kinds of platforms" or "kinds of systems".
GNUstep runs on OS/2 (for example: a platform and a system). GNUstep runs on GGI (for example: a platform based on UNIX). There are more platforms that GNUstep runs on than QT.
And it offers funcionality that *Step doesn't have.
No it doesn't. In fact, QT had to use "moc C++" instead of C++ because C++ lacks language features that Objective-C has.
And give up operator overloading (say what you want but its useful as hell in math and sciences when you are working with vectors and matrices)
No. What's good there is using well understood operators with other number systems and fields.
Operator overloading isn't required for that. See Fortran.
templates (similar arguments),
No. What's good is the ability to quickly build generics. Templates were added to C++ so that C++ users could add and use generics similar to how Objective-C users can and do, although templates are far inferior to their Objective-C analog.
automatic type casting? Hell no.
Err, C++ doesn't do automatic type casting. It can do automatic type conversion, but C++ has four separate kinds of "cast operators", none of which actually convert the type, and none of which can be omitted and the compiler inserted "automatically".
The fact that you call C++ obscure makes it obvious that you are an idiot or trolling
Check again. I never called C++ obscure. I said QT's variant of C++ is obscure- far more so than Objective-C. "moc C++" is not C++, and the objects that it creates cannot be utilized by C++ code.
You even agreed that "moc C++" wasn't the same as C++, so I have no idea what argument you're making here.
I was going to answer blow by blow but you don't deserve it.
You mean you don't really know what you're talking about.
You have been moderated appropriately, go away.
Many times, but none of my posts on this thread have been moderated. On a nearby thread, I was moderated "Flame Bait" for mentioning lies told by the inventor and authority of C++, which just goes to demonstrate what kind of tools C++ users actually are.
I know that I HAVE JavaScript disabled (using the NoScript extension) for this and other reasons, and I don't want to have that functionality back whithout me noticing.
Javascript isn't required to implement tracking.
Consider a simple redirect URL.
This is a mechanism that's cleaner than redirect URLs (because the target URL isn't obscured) and doesn't require JavaScript.
Sounds like a win to me.
Microsoft has the worst track record of any operating systems vendor in the security arena: It isn't enough to say that you deliver patches within a month of when you acknowledge the vulnerability, because people (a) can't or don't patch their systems and (b) modern Internet-host risk assessment isn't based on whether the site-administrator knows they're at risk, but how many, how frequent, and how damaging exploits are in the wild.
Administrative security issues aren't in question either- most targetted breakins are not performed with carefully engineered software hacks but with social hacks, and even the automated variety of these attacks tend to drown out any noise that would otherwise confuse a regular administrator.
When (if ever) is Microsoft going to take this overwealmingly serious problem and "fix it", and what is Microsoft going to do to correct their tarnished image? Are we going to see a monetary guarantee that Microsoft software is free from security defects (such as with Qmail and Dovecot)? Are we going to see Microsoft-endorsed blackouts of vulnerable Windows PCs where ISPs are (possibly monetarily) encouraged to shut down the connections of damaged Microsoft software?
Or are we going to see more "white papers" that say everything is fine, we're already better than everyone else, and stop asking questions?
I agree with you -- this guy isn't speaking English. It must be some sort of Mac-talk or something.
Maybe they have secret jargon to send coded signals to other Mac fans.
I genuinely had no idea that Mac fans are so "fanatical" until recently.
I like how you reply to my post AC, and then reply to the AC to make it look like there are other human beings that agree with you.
It must be a very lonely place where you are.
Ask people what kind of computer they have: Some can proudly say "I have a Mac" or "I have a Dell" - nobody says "I have a Microsoft Windows PC" - even though that's usually what is asked. Why do you need to buy more bandwidth?
Because a significant amount of my traffic is taken up by junk email generated by zombied Windows PCs and Windows worms and viruses. I thought I made that clear by pointing out that insecurities of Windows have a great effect on me despite the fact that I don't use it.
It seems easy enough to piss of Apple/MAC fans: just say something slightly negative, no matter how grounded in fact, about Apple or Mac.
Only if you say it without knowing what you're talking about.
It reminds me a bit of the Linux zealots.
Only if you say it without knowing what you're talking about.
This guy did that, so he got flamed.
This guy didn't know what he was talking about and now is backpeddling. That's what the higher profile trolls do, they say "If you think you're safer on a Mac, you're completely mistaken!", and then "Of course I don't mean in reality, nobody who read my article could think I was talking about reality! I was talking about my own little fantasy world where you're less safe on a Mac!"
Of course, if he had said it that way, he probably would've at least gotten a laugh. Instead his retort was to play the semantics game, and no wonder lots of people got upset.
Here's a person who either doesn't know what he's talking about (that is, merely repeats stuff people tell him, or is making conclusions that he isn't knowledgeable enough to make) or he's a mean old troll trying to piss people off. Either way, he's to be detested.
I personally didn't know much about the Mac crowd until recently -- but they are very touchy.
Good for you! Bridge that race gap!
Meanwhile, I know many Mac users and many Windows users, and I'd agree that most Mac users are most certainly touchier than Windows users, but that most Windows users don't even know they're running users and in fact, the defenders of Windows can't ever seem to do it with something even resembling a trace of logic. These people are far more touchy than Mac users, and worse still, are morally reprehensible because they defend it at the expense to themselves and others!
Here's a clue: In the last 5 years, not a single exploit that has been deployed for Linux has affected me, and yet all those dasturdly Blasters and Code-Reds are still affecting me - despite the fact I don't run Windows.
I don't care if you patch your system, I care that all these other people don't.
I contend- and others often more so that everyone would be much happier if there were no Microsoft and no Windows. I most certainly would be: You wouldn't be talking to me, and I wouldn't need to buy more bandwidth right now.
If I were a writing for primarily a Mac audience, I would be using Objective-C. But since I'm writing for Mac, Windows and Unix, I'm sticking with C++ for now.
You misunderstand: Look at the other threads on this subject. Many C++ users are vehemently opposed to Cocoa because it's Objective-C. They can use Objective-C++, and Objective-C/C++ isn't a fundementally different language. I think they don't realize these two points, and the barrier I refer to is why they don't realize these two points.
GNUstep is a native Objective-C framework, because it's chock full of NeXT/OSX paradigms. Sure you can write your application easily with it, but it will annoy the hell out of most Windows and Unix users.
Part of the flexibility that is *Step comes from those paradigms. They're absolutely wonderful, and it's a real shame those systems either can't or don't exist on other systems.
I find Windows users genuinely don't appear to mind GNUstep applications; Linux users certainly seem to however. Perhaps this is a problem...
The only thing i didn't like was the "illegally invade users' privacy". It's the 'illegally' that concerns me, what if DRM is made legal? I can see a loophole in there. The 'nor for modes of distribution'... does it include 'illegally', too?
No it doesn't. It doesn't exclude them either.
You cannot use GPL code to illegally violate anothers' privacy.
You cannot use GPL code to prevent others from the other rights granted in the license.
Really, why not make a license that I don't need to be a lawyer to understand?
They did. The license is written in this way so that lawyers (and judges) don't have to be programmers in order to understand them.
Can I use GPLv3 software in a company (it's not private, usually)?
The GPL doesn't invalidate other reasons why you wouldn't be able to, but otherwise yes.
Can I modify it, but not distribute it outside the company?
If you're acting as the company-entity then yes. If not, then the normal rules apply.
All the quoted paragraph says is that if you take advantage of the freedoms the GNU GPL v3 gives you, you cannot use Patent Law to take those freedoms away from others that are taking advantage of the same freedoms that you did.
if I compile my code with GCC and link with a GNU library, my code will not fall under the GNU license unlese I sat it does.
It doesn't say that at all. It says that if you have to redistribute source with a binary because it's under the GPL, you don't have to redistribute everything that was used to make that binary if those listed conditions are met. For example, IF your code is derived from GPL code, or is otherwise redistributable under the GNU GPL, one doesn't have to redistribute GCC and the GNU C Library to satisfy the GPL: they would only have to redistribute the code in question, and not any "sub units" that are used to make it up.
That said, if it's your code it's your decision whether it's GPL or not (or maybe your employer's decision). If your code is actually derived from someone elses' code that GPL then your code is automatically redistributable under the GPL.
GCC has things like __builtin_apply that are GCC-specific. Ordinarily using these things would constitute a dependancy on GCC. This is why GCC has a special exception in its copying-terms. If this exception did not exist and you used __builtin_apply then you would have to redistribute GCC as well.
A better (more realistic) example is if your code links with libbinio which IS under the GNU GPL v2. Your code would be derived from it, and thus your code would be redistributable under the GNU GPL, but if libbinio is "ordinarily available" you wouldn't have to redistribute libbinio as well, and could simply refer people to it.
That was ALWAYS true. "class" was always a C++ keyword, and not a C keyword.
...;
That's the point. C++ is not compatible with C, whereas Objective-C IS compatible with C.
It's not like trying to get a C programmer to write C++ (something that's very difficult), because Objective-C isn't anywhere near as complicated as C++ and yet does it so much better.
It's just not very interesting because it's trivial to resolve such incompatibilities -- unless your compiler is really, really good at reporting deceptive error messages, I guess.
So what? The question is not whether a capable C++ programmer can dive into C code, but instead what the barrier is with C++ programmers and Objective-C.
I pointed out that Objective-C is a strict superset of C, and Objective-C++ is a strict superset of C++. That means that if the programmer feels much more comfortable expressing certain logic in C or C++, they are able to when using Objective-C/C++.
This however, isn't true in the other direction- C users aren't always able to express C-think logic in C++.
Something like this:
const int *a;
float *b, z;
z =
b = &z;
a = (const int *)b;
Not valid C++ at all, no in C++ you need:
a = const_cast<const int *>(b);
This isn't surprising, or even new: C++ is not C. It's not a "better C", or a "newer C", it's got about as much in common with C as Java does.
But Objective-C is C, and Objective-C++ is C++.
Fine: C++ is your favorite language. You might even find it a fine language. That's okay, and I'm not making any effort to dispute that, or convert you or anyone else.
The question is: why do C++ users think the barrier into Objective-C is so high? Is it because they secretly realize they don't know C?
Well what about the barrier into Objective-C++?
It's been a while since I coded in Objective-C, but last time I did, it didn't appear to implement C99 standards...
Probably since before 1999, or at least before C99 support was added.
int main() {
for (int i = 0; i < 99; ++i);
return 0;
}
Compiled just fine with: gcc -std=c99 -o moo moo.m
So what? All good C code is also C++ code.
Subjective. This construct:
typedef void* class;
is valid C and Objective-C, but not C++.
You might say "most C code", or "a lot of C code", or even "my C code" and get less argument, but by saying "good C code" you're saying that anyone who wants to use an obvious type name (like class) in C (like Bjarne did with C-with-classes) isn't producing good code.
Now, I may tend to agree: I think the author of C++ has no idea what he's doing and couldn't good code (let alone "good C code") his way out of a paper bag.
Nonetheless, the measure of goodness is still subjective.
The GCC manual says it synthesizes instructions using a narrower mode, and I suspect (although haven't checked, TBH) that it does the same thing with GCC FORTRAN.
The following does indeed compile on GCC 4 (on Tiger and FC4):
typedef int zz __attribute__ ((vector_size(64)));
but what you say may have been true in GCC 3...
I wonder how much arbitrary code could have been executed by UNIX
Heh, you don't remember sendmail or BIND do you?
Of course, the Sendmail and ISC groups appear to have the mind-think of Microsoft, so maybe this isn't really a jab at UNIX, but simply at people who used these pieces of junk...
I think maybe Windows' landscape has changed
Yup. They're almost up to 1997.
Actually, that's been incredibly useful for me: I don't have any Windows machines, but I (admittedly haphazardly) maintain a Win32 port of some software.
This has helped me find bugs in Microsoft's own implementation of Win32- or if you'd prefer, bugs in the MSDN documentation.
The WINE people have spent a considerable amount of time inspecting Win32 function calls- more time I'm sure than Microsoft trying to find what values and what commands do exactly what, and without that efforts, I would not maintain a Win32 port at all.
The C++ is nice but since most osx programs are written on objective c, probably of little use.
It is trivial to write a translating compiler- in fact Apple has (had?) one for Objective-C and Objective-C++ at one point. Objective-C is a strict superset of C, so if XCode does directly target Intel's new offering I suspect that we'll simply see the translator again, and yes, it will be of considerable use.
Its a shame that most of the new OS X dev work is done using Objective-C and not C++.
I don't know that it would be a shame.
Certainly, if C++ were the language of choice for Cocoa, it might make C++ users feel more encouraged to target Cocoa, but it wouldn't actually help them write code for Cocoa.
The C++ interfaces for different display and widget systems are as different as the systems themselves- QT uses a "moc" C++ compiler that isn't even really C++ for signals and slots support- but encourages programmers to avoid tampering with the event loop, while Win32 encourages direct access with it.
So maybe if "Cocoa++" were around, it might help QT programmers (as the "moc C++" was designed to add features that Objective-C has, but that C++ didn't (and still doesn't well...)), but it certainly wouldn't help Win32 programmers in the slightest- except in "feeling" like all they've got to learn is a new API instead of a new language.
However, it may be better to point out that unlike the vast gap between C and C++ that makes them so distinctly different languages, Objective-C is a strict superset of C, in the sense that all C code is also Objective-C code. Apple also provides Objective-C++ which is a strict superset of C++, in the sense that all C++ code is also Objective-C++ code.
Now, most proficient programmers have no problem picking up a new language in a matter of hours; and Objective-C is so completely straightforward that just diving in is bound to validate that.
However, there are less-proficient programmers, and they tend to produce, sub-standard quality software. Given how much Cocoa software is of such high quality, it does beg the question: Is it the lack of poor programmers working in Objective-C, or is it that Objective-C is just that wonderful to use?
Having a "Cocoa++" might answer that question definitively, but I simply cannot see how that would be a Good Thing.
GCC also has a vector type.
My only point of contention is on the topic of how to comply with this requirement; the current standards seem somewhat problematic, again, from a purely "end-user" perspective.
What the?
You said it was because redistributors had to include the source with the binaries that end-users were confused/abused/malnourished/etc.
I'm saying they don't have to include the source with the binaries, so what I understood to be your point is completely moot.
All you do is include an offer that has to be valid for three years. You can put this in the about box, or in a COPYING.txt file, or in a WHERE_TO_GET_SOURCE_CODE.txt file, or in the place you'd normally put a EULA- it doesn't really matter. What matters is that the OFFER needs to accompany the binaries (obviously, so that people who are interested in the offer can lay claim to it).
It just seems to me that the way it's being done now is contrary to the community's ideals and interests. Access to the source code is certainly the sine qua non of OSS; however, there are many ways to skin a cat, and I'd like to see better, more organic methods of disseminating the source.
How? What does "more organic methods" mean? What is presently being done now, what are the communities' ideals and interests? How are they in conflict?
If you have to pack up a bunch of files the user doesn't understand and can't read, then yeah, that's confusing. Just like including Chinese instructions to the Spanish. It doesn't mean anything to them, it just adds to clutter.
But as I pointed out, this isn't required. What's required is an offer that describes who to contact (postal address? email address? url?) that is valid for three years. Users that aren't interested can trivially ignore such a notice.
Again, subjective.
My main tenent still stands: Cocoa only holds for Macs, which have a 5% market share. Who cares about 5%?
This is a circular argument. GNUstep runs where Cocoa does not.
The discussion is about C++.
So why are you defending QT? It's applications aren't written in C++.
Who cares about other programming languages (Java, Python).
Now compare the 3 API's. wxWidgets and QT are skinnable. What about GNUstep? Nope.
Wrong.
"moc C++" OK I give you that. But its still a decent API to work with and a breeze to port.
And GNUstep is a better API. It's also much more mature.
Wrong. C++ is incompatible with C, and moc C++ is incompatible with C++. In contrast, Objective-C is a pure superset of C (in other words: all C code is also Objective-C code), and Objective-C++ is a pure superset of C++ (in other words: all C++ code is also Objective-C++ code).
"That's not subjective either."
That part? No. It was just wrong.
I saw no mention of wxWidgets or QT in there. Nice try.
What are you babbling about?
Which begs the question... if GNUstep has plugins into Cairo, it must be missing that functionality (that Qt already has). Please respond:
I don't think you know what "begs the question" means.
If QT has plugins into Win32, it must be missing that functionality (that Win32 already has).
GNUstep is a collection of many things, and yes, there is a significant amount of duplicated effort there. For example:
GNUstep provides an "art" backend (which is often used on X11) because it supports the nfont system. This is quite a bit older than fontconfig, but these days, "everyone else" wants to use fontconfig, and to make integration easier, GNUstep supports fontconfig through its Cairo interface.
The fact that GNUstep can please so many people on so many different targets in so many different languages on so many different platforms is part of MY point.
The fact that QT is harder to use, targets less systems, supports fewer languages (and the primary one being obscure), and on less platforms doesn't help YOUR point: which is that C++ is more useful and more robust and Objective-C.
So how is it that C++ is so useful and robust if it needs a preprocessor to make it usable in your preferred environment (QT)?
You say Cocoa/Objective-C has 5% of the market, so you use QT. Do you have any idea what kind of penetration QT has? Are you so certain it's higher than MacOSX, GNUStep, OpenStep, and NeXTStep combined?