Intel Ports Developer Tools to Mac OS X 259
turnitover writes "According to eWEEK, "Intel Corp. will port its software developer tools to Mac OS X and will ship its first beta later this year, the chip maker told developers on Tuesday at its first-ever session on Mac OS X at the Intel Developer Forum in San Francisco." This, as Apple is working on its first Intel-based Macs, due sometime in 2006. Will the promise of the same feature set and the same tools (for Windows, Mac and Linux) mean the future of cross-platform development is here?"
the promise? (Score:4, Insightful)
the present of cross plataform is already here, it's called GCC.
Re:the promise? (Score:4, Funny)
Re:the promise? (Score:2)
Re:the promise? (Score:5, Funny)
Re:the promise? (Score:2)
Re:the promise? (Score:2)
Re:the promise? (Score:3, Interesting)
Re:the promise? (Score:3, Interesting)
Imagine an x86 Mac and a PPC64 Mac (G5) of equivalent specs, running OSX of the right flavour, both compiled with GCC. You'd expect them to both perform the same right? Now take your x86 OSX and recompile it with ICC and you get an immediate speed improvement... wouldn't you?
Re:the promise? (Score:5, Insightful)
If, however, the article is correct when it says that "The Intel tools ... will not provide a compiler for Objective C", that means that they couldn't compile the entire OS with ICC.
Re:the promise? (Score:5, Interesting)
Re:the promise? (Score:3, Informative)
In other words - the math-heavy parts of games, scientific applications, and media encoders / decoders.
For just about everything else, ICC's advantages vanish. ICC basically speeds up the bits that the P4 architecture is al
GCC? (Score:2)
Re:the promise? (Score:2)
Re:the promise? (Score:5, Insightful)
No one is going to think you're cool just because you're mean to someone. You'll get more respect if you reply in a nicer fashion; and who knows, maybe the politeness will come back to you in the future.
Intel Ports Developer Tools to OS X (Score:5, Funny)
What is old is new again (Score:5, Informative)
Re:What is old is new again (Score:2)
OS X calls these fat binaries, which 10.4 supports for the ppc and ppc64 architectures. The switch to Intel will add i386 and, presumably, x86_64. However, the article states that Intel compilers will not support ppc.
At Apple's WWDC, Steve Jobs made much of the simplicity of building universal binaries, an extension of the fat binary concept. It will be interesting to see if ISVs that use ICC deliver them. It should still be possible, but it may not be the on
Re:What is old is new again (Score:4, Informative)
OS X 10.4 uses fat binaries. For example, Apple recently botched a security update by failing to ship a fat binary for the BSD layer. This is what it's supposed to look like:
Apple's GCC has built-in support for fat binaries: If I had the right SDK installed, I could have added -arch i386. Building fat binaries with GCC and ICC will probably require the use of lipo(1).ho hum? (Score:5, Insightful)
And there's no IOKit....
So what's this going to compile? Core Foundation apps and Carbon apps without any vector code?
Ummmm. Well, it's a start.
Re:ho hum? (Score:5, Funny)
Re:ho hum? (Score:4, Insightful)
Just a wild guess, but what is most of the Darwin codebase ? Oh...
Re:ho hum? (Score:2)
I hope Apple sticks with gcc.
Re:ho hum? (Score:3, Insightful)
Crossplatform? (Score:5, Insightful)
What's making the porting hard in case of different software ecologies is not the compiler, cause gcc is really crossplatform and ubiquitous for years now. It's all those OS and otherwise libraries (gtk vs. cocoa vs. GDI) which do it. And I don't see Intel selling any crossplatform versions of those
Re:Crossplatform? (Score:2)
Cross-platofrm compatibility is not limited to getting the app to compile and run - for anybody to really look at it, it has to run well. Carmack, for example, attributes the PPC-Mac performance shortfall to many things, and one of them is that GCC is not as well-optimized as visual studio or Intel's tools. So, having a really, really good compiler is going to help developers quite a bit.
On windowing, Swing and GTK both run on Win32/Linux/OS X. You're up a river if you develop for Cocoa though. Of course,
Re:Crossplatform? (Score:3)
Re:Crossplatform? (Score:2)
Re:Crossplatform? (Score:2)
The more vanilla POSIX calls should work among *nixes (Mac OS X is a *nix). Some more work would be needed to make them work on Windows. (MSVC++'s libraries have versions of at least some of those calls, but I think their names begin with an extra "_".)
Re:Crossplatform? (Score:3, Informative)
And the Windows binary would be in PE (Portable Executable) format (we're presuming Win32 or Win64 here), the Microsoft executable file/dynamically-loaded code file format, while the Linux binary would be in ELF (Executable and Linking Format), the executable file/dynamically-loaded code file/object file/core dump file format, originally developed by AT&T, used on Linux, most BSDs, Solaris, and
The future is sort of here... (Score:5, Insightful)
Yes, if you define "cross platform" as being restricted to Windows, Mac and Linux. Also, this does not include PPC, which is another platform that Mac runs on. I am not optimistic that this is any sort of harbinger of great things, but it will be very nice to have three platforms that share the *same* hardware architecture, roughtly speaking.
before anyone says it (Score:5, Informative)
It'll be an option for people that need better performance on x86. Any collaboration is so that ICC can be hooked into XCode in an easy to use way.
Re:before anyone says it (Score:2)
err, nope. I guess I can say that this was already known in *June*:
Intel plans to provide industry leading development tools support for Apple later this year, including the Intel C/C++ Compiler for Apple, Intel Fortran Compiler for Apple, Intel Math Kernel Libraries for Apple and Intel Integrated Performance Primitives for Apple.
Source: http://www.apple.com/pr/library/2005/jun/06intel.h tml [apple.com]
Re:before anyone says it (Score:2)
Nothing in there says that ICC will be the default compiler in XCode.
I never denied that it would be available, only that it would be the default.
Re:before anyone says it (Score:2)
Using ICC by default would make XCode non-free for commercial use.
"Also, it is always a good idea to test your code on as many different compilers as possible. This makes sure that it will be easier to port later on."
I won't deny that, but for people doing Mac-only development it would introduce a lot of extra effort and platform-specific bugs. It would be foolish to do it by default. Apple needs to mini
Re:before anyone says it (Score:2, Informative)
Re:before anyone says it (Score:2)
Whether or not you or I think the resultant garbage is bad, sometimes people have taken advantage of it and that's enough to say they're not compatible.
"and the intel compiler can really scream over gcc in some applica0tions, and its almost never worse. its
Re:MOD PARENT UP! (Score:5, Informative)
Second, I think Xcode just gets its compiler list from reading a series of compiler definition files. As long as you build the definition file correctly, it would just be another compiler you can select from the pop-up list in the target inspector, IIRC. Xcode has supported gcc 2.95/3.0/3.3/4.0 for a while now, so this really isn't anything different from that perspective beyond its name not starting with 'g'.... :-)
Finally, with respect to the question of it only being useful for people who aren't trying to do PowerPC versions of their software, that's not entirely true. A universal binary is just a couple of ordinary binaries glued together with lipo(1) [apple.com]. Build the PowerPC side with gcc (or xlc) and the x86 side with the ICC compiler, glue them together, and you're done. In fact, that's exactly how universal binary builds work when gcc is used by itself....
Re:MOD PARENT UP! (Score:4, Interesting)
Of course, Apple could modify Xcode and add support for ICC, but it's not just a matter of editing some file... Integration in Xcode of compilers other than what Apple supports out-of-the-box is currently a nightmare.
A Big Deal (Score:5, Interesting)
Is Intel trying to make us forget about all those IBM-powered XBox 360, PS3, and Revolution systems to come?
Re:A Big Deal (Score:5, Insightful)
I dont think they are focused on IBM powered consoles as much as they are focused on being the last monopoly standing in the desktop market....or at least making sure that if AMD takes them down in court, nobody else is standing either.
Re:A Big Deal (Score:2)
Now they'd like to see Microsoft's influence reduced and be the only 800 lb. gorilla in the x86 world.
Don't ask me why, but it just dawned on me: where the phrase "800lb gorilla" came from. Why isn't it 1000 lbs or some other animal?
P.S. This is a serious question... I did some googling around but no joy.
Glad someone else realizes it... (Score:3, Insightful)
Basically, the closer you are to a monopoly, the more excess profits you get. Intel can't extract huge profits because AMD provides competition and MS grabs a big chunk.
Competition for OSes means that the excess pr
Re:A Big Deal (Score:5, Insightful)
With Apple, they've finally got a company that doesn't care about all that legacy PC crap. Apple will build the x86 machines that Intel has always wanted.
That's why Intel considers this to be such a big deal.
Re:A Big Deal (Score:2)
It's a pretty big win for Intel to get Apple on its side. Apple is widely known for leading the computer industry to new technologies, and pairing that with Intel's top-selling chip platform is a marketing bonanza. And it's sad; IBM gave it up for little or not cost.
Re:A Big Deal (Score:2)
So another way to say that is that, with Apple's business, Intel found an easy way to increase it's volume by 10%.
Re:A Big Deal (Score:2)
Blasphemer! The Space Aliens are neither intelligent nor benevolent. It was the Flying Spaghetti Monster [wikipedia.org]! Repent!
Ramen!
Re: (Score:3, Insightful)
Re: (Score:3, Interesting)
Cross-Platform Development (Score:5, Insightful)
Because all mainstream personal computers will use the same x86 processor in the next two years, certain programmers who deal with assembly issues will be relieved. However, we still have Carbon/Cocoa, Win32, and GTK/QT/POSIX to deal with.
And we currently have cross-platform tools. It's called the GNU toolkit (autoconf, gcc, gdb, gmake, and a few other handy applications that are used on just about every platform availiable).
Re:Cross-Platform Development (Score:2)
Re:Cross-Platform Development (Score:2)
Only if you want to deal with all that. :) If you'd rather not, you could use wxWidgets [wxwidgets.org] (or wxPython [wxpython.org]) which give you cross-platform native interfaces without doing theming and emulation. I think those who want to do cross-platform have it pretty good these days (although
Bummer! (Score:3, Insightful)
Bummer! I guess that rather implies that even with dual cores raplidly taking and Apple typically taking the high-performance road, that Apple is going to have cheap single processor Macs as well. Wish they'd have set the bar a bit higher, all things considered.
Re:Bummer! (Score:3, Insightful)
Re:Bummer! (Score:2)
Short answer? No (Score:5, Informative)
You still find that by and large Windows apps are developed in Visual Studio because, despite what you may have heard, it's a really, really slick IDE, many programmers claim it's the best ever. Also, since it's from Microsoft, it supports all the Windows stuff (like DirectX) very well.
So the Intel tools peing ported to OS-X make no difference at all. Cross platform will be no easier or harder for it, it'll just mean faster apps on the Mac.
Re:Short answer? No (Score:5, Interesting)
One of the great farces of the PPC Macs, in my mind, was the weight Mac users put into Altivec. Yes, it's a solid vector process, but, as I understand it, GCC doesn't vectorize for Altivec -- meaning, quite simply, that Altivec optimizations had to be done by hand. On the other hand, ICC is generally lauded for its ability to vectorize code in a manner that lends to performance increases thanks to the SSE/2/3 vector units on Pentium chips.
There've already been a lot of reports that OS X on x86 is faster than on PPC, the availability of Intel compilers for the platform will only make that difference more dramatic.
Re:Short answer? No (Score:4, Informative)
This used to be true, and as you point out this did create a fallacy that all Mac apps are magically faster because the chip has AltiVec. However this changed with the latest version of XCode and gcc 4.0, see here [ppcnerds.org]. This also applies to gcc4.0 on x86 with SSEn.
Re:Short answer? No (Score:2)
Not a complete fallacy since there is plenty of OS code that does use AltiVec when it's available, and this code is commonly used by nearly all apps (i.e. graphics rendering and so on).
Re:Short answer? No (Score:2)
Keep in mind that the reports I saw also said that Windows XP was faster on the devel boxes than standard x86 computers, even though the guts of the devel box is mostly a standard x86 computer.
I am curious how the final x86 version will compare. Some say that the x86 version doesn't load a lot of extensions because they aren't available, others say that x86 is just faster.
I'm not sure if I can accept the second claim at face-value
Re:Short answer? No (Score:3, Interesting)
Yup. The FORTRAN compiler often does some good autovectorization. Show me the C compiler does too.
Hell, why not look at this [pixelglow.com]? Ignore the Mac part, just look at the x86 results. Looks like ICC doesn't even beat Visual C++ for most of the tests they did here (at least not by much).
Apart from that, you can do some wierd-ass stuff wit
Re:Short answer? No (Score:3, Interesting)
No, it's not XLF, which I would have preferred, but IFort is capable of producing screamingly fast code that generates correct results (generally; there are always the first couple releases of a ne
Re:Short answer? No (Score:2)
Yeah, sure. (Score:2, Insightful)
No.
Ask AMD.
Re:Yeah, sure. (Score:3, Informative)
User-mode code generated for x86 (and EM64T, if Intel's tools support it) should work on AMD processors (I think for user-mode code EM64T is just x86-64), although you probably won't be able to optimize for particular AMD processors.
However, the answer "No" is still correct, as a lot of "cross-platform development" between Windows, OS X, and UN*
No (Score:5, Informative)
No. If you write a Mac app using Cocoa, it's only going to run on OS X, regardless of what compiler and other tools you use to build it. If you write a Windows app using the Win32 API, it's only going to run on Windows, regardless of what compiler and other tools you use. Same with Linux.
Conversely, if you write a portable app (or, more realistically, a portable library to use in your non-portable apps), then it will be easy to make it work on different compilers and with different tools on the various platforms, so having the Intel tools everywhere doesn't help that much.
Heck, gcc is widely used now on OS X and Linux, and is readily available for Windows, yet you don't see a great flood of cross-platform development. The Intel tools won't change that.
Who will use this? Not me! (Score:3, Informative)
Add to that, we are going to be supporting both PPC and X86 on the Mac for many years to come.
Does Intel's compiler even have solid Objective-C support?
Unless I hear something new to change my mind, I have to presume that very few developers will show any interest in Intel's compiler. They'll almost all stick with GCC -- which is what I plan on doing, certainly.
Re:Who will use this? Not me! (Score:2)
Doesn't matter, since OS X won't (officially) run on AMD processors.
Add to that, we are going to be supporting both PPC and X86 on the Mac for many years to come.
ICC won't prevent you from building universal binaries, so I don't see much of an issue here.
Does Intel's compiler even have solid Objective-C support?
It has no Objective-C support at all.
Re:Who will use this? Not me! (Score:2)
Correct - it probably won't hunt down all copies of GCC installed on your machine and remove them.
Whether it will itself build universal binaries is another question. I would be extremely suprised to hear that it does (even with that stuff about Altivec in the article; I suspect either the author, or some Intel spokesperson whom they asked about Altivec, wa
Re:Who will use this? Not me! (Score:2)
Indeed. It probably won't.
Perhaps you can build the PPC version with GCC or XL C/XL C++, the x86 version with ICC, and then lipo them together.
That was my thought as well. But this would require actually writing a makefile (which many developers may be too lazy to do) unless Apple puts in some Xcode magic to do it for you. Let's hope for the magic.
Re: (Score:3, Informative)
AltiVec ona a x86 compiler? (Score:3, Insightful)
Why would Intel even consider supporting AltiVec in a compiler for x86? This just sounds bizarr, considering altivec only exists in the PPC world...
Maby they really mean compiler-level conversion of AltiVec calls to SSE calls?
Re:AltiVec ona a x86 compiler? (Score:2)
No one (except the members of the AIM alliance) know for sure who has the rights to what. Wouldn't it be insanely funny if Apple got the rights to Altivec because IBM could not meet the agreed to performance timetables. I know this is really blue-sky conjecture, but that would make the MacTel chips scream. Especially with th
Re:AltiVec ona a x86 compiler? (Score:2)
Re:AltiVec ona a x86 compiler? (Score:5, Interesting)
If intel's compiler supports in some way those intrinsic functions (A large part might be doable as macros) and maps them to the relevant SSE instructions then Altivec optimized programs would a) still compile b) use the already vectorized code to generate vector assembly. I is beyond me how easily you can map one vector instruction set on the other. There certainly won't be a 1 to 1 mapping.
Cross-platform development started in 1996 (Score:4, Informative)
Re:Cross-platform development started in 1996 (Score:2)
Java was just the first thing that made it feasible to do serious commercial, closed-source cross-platform development.
Smalltalk (VisualWorks) did it years before (Score:2)
Virtual machines are an old technology (remember UCSD Pascal with their PCode machine specification?)
Java benefitted from the hype that surrounded anything coming from Sun Microsystems in the 'nineties. Apart from the fact that it was easier for managers and PHBs to control lines of code as deliverables, which doesn't work with real lazy evaluation OOP because you sometimes end up with -x lines of code on a project, the Java VM was really no great shakes.
The Smalltalk VM is still a couple of
So PPC machines get left behind (Score:3, Interesting)
So does this mean that developers who use this compiler will be producing x86 only binaries and ignoring all the existing Mac PPC hardware?
--
Not happy Jan.
No Objective C support in ICC (Score:2)
Counterfeit OSX ? (Score:2, Funny)
Look outside the box... (Score:2)
Can't wait (Score:4, Interesting)
Frankly, I don't see the need for Intel to worry about obj-c much...I would think the gains are not really worth it...if you're doing something graphically intense, then you're presumably going to target the gpu, and if it's mathmatically intense, you'd probably want straight C or C++ with templates.
Hell, if I thought it'd be even faster (and I knew how to program in it), I'd write my libraries in Fortran.
This is terrible (Score:3, Insightful)
Re:WTF????? (Score:5, Informative)
Apple will still be using GCC.
Re:WTF????? (Score:2, Interesting)
Re:WTF????? (Score:2)
...or that the author of the article didn't know what the hell he was talking about. I would be greatly surprised to hear that Intel would devote any effort whatsoever to add support for a competitor's instruction set
Re:WTF????? (Score:2)
Re:WTF????? (Score:2)
Re:I doubt it. (Score:2)
For at least some components of OS X, they can't do that; the article says "The Intel tools will support C, C++ and FORTRAN, but will not provide a compiler for Objective C". The compilers "will be interoperable with Objective C", which presumably means "will generate C and C++ code that can be called from Objective-C code generated by Apple's GCC".
Re:WTF????? (Score:5, Insightful)
IBM compilers (xl* compilers) were proprietary software and still were ported to OS X too, and AFAIK had better performances than gcc on PPC970 (even though Apple did help on optimizing gcc on G4/G5), just like ICC is better than gcc on x86 for most purposes (check benchmarks for yourselves).
No I'm not an Apple fanboy (please! I don't have any Apples nor plan to buy any) and I don't care much about Intel either. I'm more a free software guy trying to run only free software as far as I can for different reasons... And still I don't see how Apple could be less OSS friendly just because some other company (may it be Intel or not) releases closed softwares.
Where does it say Apple will stop using gcc themselves (and distributing it with OSX)? gcc runs on plenty of hardware and os'es
However, I'm not saying Apple is supporting "open source" software. I'd say that they're using FOSS smartly for now, but I don't see them in the OSS camp.
Lastly, ICC having better results than gcc gives the gcc team a great challenge and gcc4 is already a big improvement. ICC on OSX gives more choices to OSX developpers who would need good optimization for intensive arithmetic operations (where ICC shines). Anyway, gcc has strictly nothing to fear from icc, they're aimed at totally different "markets", and gcc is free, so what's to fear?
Re:Foul! (Score:5, Insightful)
Yes, that was to level the playing field... not to show which one was faster... because Apple could have used their own compiler and got faster results too... but the goal was to see which was faster... and then the G5 was indeed faster.
>"Their desire to use the Intel tools now demonstrates that they didn't use the Intel tools in their G5/Intel benchmarks because they knew Intel tools outperform GNU for Intel."
You're right but then, they never said otherwise. You, like so many others equated the use of GNU rather than Intels compiler as a means of skewing the results when it was about creating a level playing field.
Re:Foul! (Score:5, Informative)
Using gcc on x86 and G5 doesn't in any way whatsoever "level the playing field", since they are NOT the same compiler. The only way to level the playing field is to use the best compiler available for each processor, so that the comparison is indeed comparing the best performance that is available on each.
Re:Foul! (Score:3, Insightful)
Using the IBM benchmark would have been even more artificial since almost nobody would have used it to do their compiles wheras many open source projects would have used GGC on both Intel and PPC.
Re:Foul! (Score:2)
Exactly! You need to use the manufacturers recommended compiler on each platform. It's too bad that the folks brainwashed by Steve Jobs dishonest were quick to label my comment flamebait. I have No Idea why people would go to great lengths to defend a commercial company's hardball marketing tactics.
Re:Foul! (Score:2)
Apple's compiler is GCC (or, at least, GCC-based). Did you mean "IBM's compiler" (XL C/C++)?
Fair! (Score:3, Insightful)
It isn't Apple that is announcing these tools. It is Intel that is touting them.
Apple has been silent.
I know it is /., but you might want to consider reading the occational article.
SteveM
Re:Foul! (Score:2)
Re:Is that a challenge? (Score:2)
The Mac OS X compilers and libraries will probably require some special software, called "Mac OS X", to be running on the machine.
You will NEVER be able to build your own Mac... (Score:2)
They just have a team with great aesthetics. Do you have the same talents for your team?
Re:Mod down, troll in article (Score:3, Funny)
That troll caught me completely off-guard, and I nearly fell out of my seat.