La mauvaise direction?.
Je suis un passionné d'Apple depuis 1979, et ne puis m'empêcher d'hurler...
...Le choix de Steve Jobs est une honte, et une erreur fatale à court et moyen terme pour Apple.
Développeur industriel en temps réel, j?ai programmé pendant plus de 20 ans sur divers microprocesseurs en langages "C" et assembleur. J'ai réalisé également quelques applications commerciales pour Mac et nottament 2 jeux.
Ces dernières années, je me suis investi à fond dans le développement autour du PowerPC, et je ne puis que glorifier la clarté de cette architecture : plein de registres, Altivec, etc...etc... Je pense que l?on n'a pas fait mieux à ce jour.
Intel et ses archaïsmes représentent une régression absolue, même un vieux 68000 est plus sain qu?un Pentium 4, en termes de registres ou de passage d'argument aux fonctions.
D'ailleurs, dans la documentation mise en ligne, Apple annonce déjà la couleur et les problèmes :
"The PowerPC ABI specifies that arguments to functions are passed in registers. Also, x86 has far fewer registers, so many local variables use the stack for their storage. Thus, programming errors, or other operations that access past the end of a local variable array or otherwise incorrectly manipulate values on the stack may be more likely to crash applications on x86 systems than on PowerPC."
En clair, cela va planter? et sera plus lent ! (rappelons que les registres internes au microprocesseur sont infiniment plus rapides que ne l?est la pile (stack) qui est en RAM?)
Alors que depuis 2 ans Apple a demandé aux développeurs :
-Développez votre code en 64Bits
-Développez votre code en Altivec
-Développez votre code en multiprocesseurs,
on nous propose aujourd'hui de passer sur un microprocesseur qui n'a rien de cela : contrairement au G5, le PIV n'a pas été conçu à la base pour être multi-pro, il n'est pas 64 Bits, et n'a pas d'Altivec (il y a bien SSE2, mais c'est moins bien !)
Pire, Apple a choisi d'implémenter l'architecture iA32 d'Intel.. Mais pourquoi - bon sang - ne pas avoir pris, au moins, le wagon de tête avec iA64 ?
Pour ceux qui aiment les métaphores avec les voitures :
ici, on vous propose de remplacer votre V8 de 5 Litres qui ronronne à 4000tr/minute et qui sort 250 Chevaux...
?par un 2 litres suralimenté de cylindrées à 4 cylindres (un Pentium4 !) qui sort 225 chevaux à 7500 tr/minute...
?De nos jours, tout le monde a l'air d'être plus excité par la vitesse de rotation des moteurs que par la puissance réelle !
--
Plutôt que d?investir dans des centaines de développeurs pour porter du code vers le X86, il aurait été plus intelligent d?en mettre seulement 30 pour optimiser XCode, Cocoa, etc... ( qui sont d'une lenteur affligeante et produisent un code pas très optimisé) et le reste des ressources dans de la R&D et production autour du PowerPC
Si le problème était réellement de l?ordre de la performance, il n?y avait pas lieu de changer :
pour mémoire, une routine développée en ALTIVEC sur G5 dépasse très largement n?importe quel P4 à 3.6 Ghz.
(cf les tests sous Photoshop)....Le futur Photoshop Mac sur Pentium sera plus lent, je vous l'assure !
La réalité est que si les PC sont souvent plus rapides sur certaines appli, c'est que ces applis sont très optimisées vis-à-vis des API de Windows, et lorsque qu'elles sont portées sur Mac, c'est du rafistolage avec des bouts de scotch (notamment Office) (Cela vaut également pour les jeux en l'absence de DirectX sous OS X)
---
Mon autre point de vue à ce sujet est :
Depuis plus de 20 ans, le "PC" est coincé par le jeu d'instruction du microprocesseur Intel, mais pour des raisons de sacro-sainte compatibilité, tous les constructeurs ont dû rester "stick with"...
...Sinon, je vous garantis que bien des constructeurs de PC seraient passés sur des Processeurs Risc Alpha, ou Mips , ou autres, etc...
D'ailleurs, là où la compatibilité microprocesseur n'est pas de mise, on ne choisit pas de s'emprisonner avec un jeu d'instruction Archaïque d'Intel.
(Playstation , Xbox II, GameCube, informatique militaire embarquée, etc... pas de x86 là!)
Pourquoi Apple se met des menottes ?
Mon opinion est qu?Apple n?avait plus le choix pour des raisons politiques vis-à-vis d?IBM.
Un jour, Steve Jobs a du s'engueuler avec IBM et a tapé du point sur la table en disant : "si c'est çà, je vais utiliser des processeurs Intel !" Les gens de chez IBM, pragmatiques, et n'ayant rien à faire d'Apple l'ont pris au mot : "vas-y mon gars libre à toi".
--
Donc, à cause d'un coup de gueule de Steve Jobs, Apple nous propose un 4ème virage.
(le premier ayant été pour moi le passage de l'Apple II vers le Mac en 1986-87)
En ce qui me concerne, je ne prendrais pas ce virage et vais me consacrer à d?autres projets.
Apple a perdu son âme en devenant finalement un assembleur de PC comme les autres.
(oui, je sais l'important c'est le logiciel, bla?bla?)
Je souhaite, bon courage aux développeurs qui restent, et qui vont devoir affronter quelques millions de bugs et d'incompatibilités dans leur code (pensez aux drivers !)
Une pensée également aux utilisateurs Mac qui seront encore une fois mis à contribution, et vont comme dans les précédents virages, essuyer les plâtres.
Je suis un passionné d'Apple depuis 1979, et ne puis m'empêcher d'hurler...
...Le choix de Steve Jobs est une honte, et une erreur fatale à court et moyen terme pour Apple.
Développeur industriel en temps réel, j?ai programmé pendant plus de 20 ans sur divers microprocesseurs en langages "C" et assembleur. J'ai réalisé également quelques applications commerciales pour Mac et nottament 2 jeux.
Ces dernières années, je me suis investi à fond dans le développement autour du PowerPC, et je ne puis que glorifier la clarté de cette architecture : plein de registres, Altivec, etc...etc... Je pense que l?on n'a pas fait mieux à ce jour.
Intel et ses archaïsmes représentent une régression absolue, même un vieux 68000 est plus sain qu?un Pentium 4, en termes de registres ou de passage d'argument aux fonctions.
D'ailleurs, dans la documentation mise en ligne, Apple annonce déjà la couleur et les problèmes :
"The PowerPC ABI specifies that arguments to functions are passed in registers. Also, x86 has far fewer registers, so many local variables use the stack for their storage. Thus, programming errors, or other operations that access past the end of a local variable array or otherwise incorrectly manipulate values on the stack may be more likely to crash applications on x86 systems than on PowerPC."
En clair, cela va planter? et sera plus lent ! (rappelons que les registres internes au microprocesseur sont infiniment plus rapides que ne l?est la pile (stack) qui est en RAM?)
Alors que depuis 2 ans Apple a demandé aux développeurs :
-Développez votre code en 64Bits
-Développez votre code en Altivec
-Développez votre code en multiprocesseurs,
on nous propose aujourd'hui de passer sur un microprocesseur qui n'a rien de cela : contrairement au G5, le PIV n'a pas été conçu à la base pour être multi-pro, il n'est pas 64 Bits, et n'a pas d'Altivec (il y a bien SSE2, mais c'est moins bien !)
Pire, Apple a choisi d'implémenter l'architecture iA32 d'Intel.. Mais pourquoi - bon sang - ne pas avoir pris, au moins, le wagon de tête avec iA64 ?
Pour ceux qui aiment les métaphores avec les voitures :
ici, on vous propose de remplacer votre V8 de 5 Litres qui ronronne à 4000tr/minute et qui sort 250 Chevaux...
?par un 2 litres suralimenté de cylindrées à 4 cylindres (un Pentium4 !) qui sort 225 chevaux à 7500 tr/minute...
?De nos jours, tout le monde a l'air d'être plus excité par la vitesse de rotation des moteurs que par la puissance réelle !
--
Plutôt que d?investir dans des centaines de développeurs pour porter du code vers le X86, il aurait été plus intelligent d?en mettre seulement 30 pour optimiser XCode, Cocoa, etc... ( qui sont d'une lenteur affligeante et produisent un code pas très optimisé) et le reste des ressources dans de la R&D et production autour du PowerPC
Si le problème était réellement de l?ordre de la performance, il n?y avait pas lieu de changer :
pour mémoire, une routine développée en ALTIVEC sur G5 dépasse très largement n?importe quel P4 à 3.6 Ghz.
(cf les tests sous Photoshop)....Le futur Photoshop Mac sur Pentium sera plus lent, je vous l'assure !
La réalité est que si les PC sont souvent plus rapides sur certaines appli, c'est que ces applis sont très optimisées vis-à-vis des API de Windows, et lorsque qu'elles sont portées sur Mac, c'est du rafistolage avec des bouts de scotch (notamment Office) (Cela vaut également pour les jeux en l'absence de DirectX sous OS X)
---
Mon autre point de vue à ce sujet est :
Depuis plus de 20 ans, le "PC" est coincé par le jeu d'instruction du microprocesseur Intel, mais pour des raisons de sacro-sainte compatibilité, tous les constructeurs ont dû rester "stick with"...
...Sinon, je vous garantis que bien des constructeurs de PC seraient passés sur des Processeurs Risc Alpha, ou Mips , ou autres, etc...
D'ailleurs, là où la compatibilité microprocesseur n'est pas de mise, on ne choisit pas de s'emprisonner avec un jeu d'instruction Archaïque d'Intel.
(Playstation , Xbox II, GameCube, informatique militaire embarquée, etc... pas de x86 là!)
Pourquoi Apple se met des menottes ?
Mon opinion est qu?Apple n?avait plus le choix pour des raisons politiques vis-à-vis d?IBM.
Un jour, Steve Jobs a du s'engueuler avec IBM et a tapé du point sur la table en disant : "si c'est çà, je vais utiliser des processeurs Intel !" Les gens de chez IBM, pragmatiques, et n'ayant rien à faire d'Apple l'ont pris au mot : "vas-y mon gars libre à toi".
--
Donc, à cause d'un coup de gueule de Steve Jobs, Apple nous propose un 4ème virage.
(le premier ayant été pour moi le passage de l'Apple II vers le Mac en 1986-87)
En ce qui me concerne, je ne prendrais pas ce virage et vais me consacrer à d?autres projets.
Apple a perdu son âme en devenant finalement un assembleur de PC comme les autres.
(oui, je sais l'important c'est le logiciel, bla?bla?)
Je souhaite, bon courage aux développeurs qui restent, et qui vont devoir affronter quelques millions de bugs et d'incompatibilités dans leur code (pensez aux drivers !)
Une pensée également aux utilisateurs Mac qui seront encore une fois mis à contribution, et vont comme dans les précédents virages, essuyer les plâtres.