2008 LLVM Developers' Meeting

16 08 2008 In: C, Objective-C

Le 1er août a eux lieu l'édition 2008 de la rencontre des développeurs LLVM (Low Level Virtual Machine) sur le campus d'Apple.

Les vidéos et les slides sont maintenant disponible sur la page http://llvm.org/devmtg/2008-08/. Une bonne partie des présentations viennent d'employés d'Apple, ce qui permettre de découvrir les choses à venir dans le monde du développement Mac. Il s'agit tout particulièrement des présentations suivantes :

  • Clang Internals (slides) - Clang est le nouveau front-end C/ObjC/C++ actuellement en développement du projet LLVM qui pourrait permettre de remplacer GCC. Cette présentation décris l'état actuel et l'architecture du projet, ainsi que le fonctionnement de l'AST (Abstract Syntax Trees).
  • Finding Bugs with the Clang Static Analyzer (slides) qui présente un analyseur statique du code source qui permet de découvrir plus de problème lors de la compilation que les outils actuels.

Snippets pour Cocoa

31 07 2008 In: C, Cocoa, Liens, Objective-C

Les snippets sont des extraits de code, le plus souvent court, montrant comment résoudre en problème particulier en développement. Il s'agit par exemple de savoir comment :

Voici donc quelques sites proposant des snippets pour Cocoa et le développement Mac de manière général :

Présentation sur PHP /Objective-C

25 07 2008 In: C, Cocoa, Objective-C

Wez Furlong, un des développeurs de PHP nous présente ici php-objc qui permet de développer des applications Cocoa avec PHP, un peu comme PythonObjc et RubyCocoa le permettent pour Python et Ruby. Ça permet au développeurs PHP de ne pas avoir besoin d'apprendre un nouveau langage pour développer sur Mac.

LLVM : Le futur compilateur d'Apple ?

21 06 2008 In: Apple, C, Objective-C

Tous les projets d'Apple ne sont pas secrets, après l'utilisation de SproutCore dans les galeries .Mac, AppleInsider nous présente ici LLVM (Low Level Virtual Machine) et l'utilisation qu'en fait Apple. Il s'agit par exemple :

  • De l'histoire entre Apple et LLVM
  • De l'utilisation conjointement à GCC et des gains possibles de performance par rapport à GCC seul
  • De l'utilisation des fonctions de compilation JIT dans la pile OpenGL de Léopard
  • Et surtout pour finir de son avenir certainement conjointement avec OpenCL.

Pour découvrir tout ça, vous pouvez lire l'article Apple's other open secret: the LLVM Complier

Création du groupe de travail OpenCL

17 06 2008 In: C

The Khronos Group, un groupe chargé de la normalisation dans le domaine des médias, qui s'occupe entre autre de OpenGL, vient de créer un nouveau groupe de travail concernant OpenCL. Le communiqué de presse nous permet donc d'en savoir un peu plus sur OpenCL :

  • Les membres : 3Dlabs, AMD, Apple, ARM, Codeplay, Ericsson, Freescale, Graphic Remedy, IBM, Imagination Technologies, Intel, Nokia, NVIDIA, Motorola, QNX, Qualcomm, Samsung, Seaweed, TI, and Umeå University
  • Permettre d'utiliser au mieux les architectures avec plusieurs GPU et des CPU multi-coeurs (many-core GPUs and multi-core CPUs)
  • De permettre d'utiliser la puissance de GPU et CPU à travers un langage proche du C (enable any application to tap into the vast gigaflops of GPU and CPU resources through an approachable C-based language)

Il n'y a pas encore de documents concernant OpenCL sur le site (en dehors du communiqué de presse), mais il sera intéressant de jeter de temps en temps un oeil sur ce site pour découvrir ce que permettra ce nouveau langage.

En savoir plus sur OpenCL

11 06 2008 In: C, Mac OS X

Si l'on sait une chose sur le langage OpenCL (qui sera disponible dans OS X 10.6), c'est que l'on ne sait pas grand chose le concernant. En dehors de la petite description sur le site d'Apple, c'est plutôt flou. Mais voici quelques éléments sur OpenCL :

Il faudra certainement attendre un peu pour avoir plus d'informations dans l'Apple Developer Connection.

La différence entre Cocoa, Carbon et Objective-C

04 04 2008 In: C, Cocoa, Objective-C

Il n'est pas toujours facile lorsque l'on débute dans développement sous Mac OS X de bien faire la différence en Cocoa, Carbon et Objective-C. Voici donc la définition de chacun :

  • Objective-C est une langage de développement que l'on peut voir comme le langage C avec la gestion de la programmation orienté-objet. Il fonctionne par envoie de message entre les objets, et ressemble donc beaucoup plus à ce niveau là à Smalltalk qu'a C++. Pour une description détailler, la page wikipedia sur Objective-C vous permettra d'aller plus loin.
  • Cocoa est un framework de développement, c'est à dire un ensemble d'objet et de fonctions permettant de faciliter la vie du développeur. Il est écrit pour et en Objective-C.
  • Carbon est lui aussi un framework de développement mais il est conçu pour être utilisé avec C et C++ principalement. On peut le voir "en gros", comme un framework de transition entre le développement Mac OS 9 et le développement avec Cocoa.

Pour prendre un exemple d'actualité, Photoshop CS 3 et la future version 4 sont écrit avec Carbon, mais il est prévu pour la version CS 5 de le passer sous Cocoa.

Développer pour un GPU nVidia sous Mac

21 02 2008 In: C

nVidia vient de rendre disponible le kit de développement de GPU nommé CUDA sous Mac OS X. Il s'agit d'une extension au langage C qui permet d'accéder à la puissance du GPU pour accélérer les calculs. Vous pouvez donc maintenant :