Swift gagne en popularité au détriment de l’Objective-C
Swift, le nouveau langage de programmation proposé à tous les développeurs depuis un an et demi maintenant, gagne en popularité. Du moins, d’après les résultats pour le mois d’octobre 2015 publiés par TIOBE, une entreprise spécialisée dans l’audit qualité de logiciels. Son index mesure la popularité de chaque langage de programmation et le nouveau langage d’Apple a gagné en popularité selon cette mesure.
L’Objective-C, qui était le langage de prédilection pour les applications iOS et OS X, pâtit logiquement de ce nouvel attrait pour Swift. Il perd plusieurs places ce mois-ci et quitte même le top 10 pour atterrir au quatorzième rang. Le Swift à l’inverse a progressé et reste juste une place derrière.
Néanmoins, il ne faudrait pas résumer ce nouveau classement à un échange entre Swift et Objective-C. La baisse de l’un ne suffit pas à résumer la hausse de l’autre et dans la liste, Ruby a beaucoup progressé. Reste que la baisse de l’ancien langage d’Apple et la hausse du nouveau est logique et on imagine que la tendance va aller en s’accentuant à l’avenir.
Ce n'est pas étonnant. Swift est très prometteur et très agréable à utiliser malgré ses défauts de jeunesse.
Faut relativiser quand même... Swift est sous les 2% et très loi de Java et autres langages...
Java c'est 20%, C a 16% et C++ a 5%...
Les plus fortes progression c'est Java (6%) et Python (2%)
La plus grosse degringolade c'est Objective-C
Les autres langages ont une représentation en moyenne de 2%.
Tout ca veut dire une chose: 20% du logiciel est programmé avec du Java, ce qui est logique vu que c'est un langage qui couvre le serveur jusqu'a l'embarqué (en passant par Android). Et on retrouve Java meme sur des soft qui tournent sur Mac et Windows!
Ca veut dire qu'un developpeur qui veut travailler aujourd'hui doit maitriser Java et C, ça lui ouvre presque 40% du marché logiciel. Sauf s'il veut se cantonner a Apple, ou Java ne sert a rien.
Apres il faut prendre en compte la rentabilité et le niveau de concurence. Faire du soft Apple c'est plus rentable que faire du soft Android. Faire du soft serveur Java c'est plus rentable que faire des sites WEB PHP...
Apres, Swift est une benediction pour le développement de la qualité du logiciel, parce que le C et ses derivés sont aussi adaptés au developpement applicatif qu'un lance-pierre pour tuer des moustiques!
Le truc le plus etrange dans cette liste c'est Visual basic et la progression de l'assembleur.
"Le truc le plus etrange dans cette liste c'est Visual basic et la progression de l'assembleur."
Non le truc le plus étrange c'est +6% pour Java alors que depuis le temps qu'il est là, il devrait être bien plus stable.
Quoique c'est normal qu'il remonte autant puisqu'il s'était pris une grosse volée plus tôt et était tombé à 13%. Une chute moins grave que celle de 2004 (de 25% à 15% dans l'année). Heureusement pour lui, à l'époque, il s'était rattrapé en remontant de 7 points en un an. Soit 3x la popularité actuelle donnée à PHP qui a vu sa part divisée par 4 en cinq ans (soit plus que Python + Javascript réunis).
TOP CRÉDIBLE.
J'étais frileux au départ mais il est beaucoup plus intuitif à la longue. On trouve beaucoup plus facilement ce que l'on cherche.
Tant que Swift ne permet pas de cohabiter avec C++, il ne passera pas devant Objective-C en terme d'usage. Il y a beaucoup trop de bibliothèques en C++, pour que le portage systématique d'un code ObjC en Swift soit trivial.
Il s'agit là d'un classement selon la popularité du langage.
Donc on parle aussi de mode, et non d'un usage effectif.
@dilog :
TIOBE prends aussi en compte les offres d'emploi. Pour une pondération assez élevée, en plus.
@iPal
Mais alors en quoi c'est représentatif ? Parce que en forçant un peu le trait, ce serait quoi le score si t'avais 2M d'emplois pourvus en Swift et 5000 toujours à pourvoir en Java ?
Du coup ça me semble pas très pertinent comme classement. Je préfère encore me fier au classement Github pour mesurer la populatité d'un langage.
@SC
Ben c'est representatif du marche actuellement si tu cherches un boulot.
Un classement ne peut pas couvrir toutes les facons de regarder un sujet.
@dilog
Des générations de codeurs spécialisés ne vont évidemment pas retourner à l'école pour apprendre un nouveau langage mais ça ne veut pas dire que Swift n'a pas toutes ses chances dans certains domaines et pour plusieurs raisons:
- la première c'est évidemment la plateforme d'Apple qui même sans être majoritaire représente à elle seule un marché considérable.
- la deuxième c'est que Swift et son compileur sont OpenSource et disponible sur Linux en plus d'OSX/iOS
- la troisième c'est les partenariats avec IBM et Cisco qui devraient porter les solutions server basée sur Swift.
Mais on est d'accord que c'est un travail de longue haleine dans un domaine essentiellement conservateur.
Je note aussi que les étudiants sont de plus en plus demandeurs d'une formation en Swift et que ça va nécessairement finir par avoir un impact dans les années qui viennent.
Des générations de codeurs
STOP !
En 2015, plus personne ne code, mais beaucoup programment...
Halte à l'appauvrissement du vocabulaire !
@heret
Désolé mon chat si j'ai heurté ta sensibilité ! C'était vraiment pas prémédité !
Mais je préfère le mot codeur que programmeur. D'abord parce que je le trouve plus joli et plus explicite sur la fonction (en Français en tout cas). Le terme "programme" me faisant bien plus penser à ma machine à laver qu'à mon ordinateur.
Tu ne m'en veux pas dis ?
Entièrement d'accord. Codeur est un mot horrible pour dire programmeur ou, mieux, développeur. C'est un terme très péjoratif employé par ceux qui n'y connaissent rien, en premier lieu les journalistes et les politiciens.
@Jacti
Je vois pas ce qu'il a d'horrible ce mot moi... Et je vois pas en quoi développeur est plus explicite. On peut développer plein de trucs sans le moindre rapport avec l'informatique. Et le mot code me fait en plus directement penser au papa de l'informatique, Alan Turing, qui a décodé Enigma... Donc c'est un terme à la fois explicite sur la fonction et son histoire.
"C'est un terme très péjoratif"
Ah bon ? Pourquoi ?
"employé par ceux qui n'y connaissent rien"
Ravi de l'apprendre.
"en premier lieu les journalistes et les politiciens."
Mais qu'est-ce que les politiciens viennent foutre là-dedans ?
"Mais qu'est-ce que les politiciens viennent foutre là-dedans ?"
Tu n'est pas au courant qu'ils ont décidé de faire apprendre "le codage" aux enfants à l'école ?
Ce sont eux qui ont employé ce terme horrible. Je persiste et je signe.
J'ai 40 ans d'informatique et jamais ce terme n'a été employé dans mon environnement professionnel durant toutes ces années. Il est apparu récemment et c'est un terme extrêmement péjoratif pour les développeurs. D'autre part, Turing est loin d'être le père de l'informatique.Il faut remonter au moins à Charles Babbage. Turing n'a pas décodé Enigma qui était une machine. Il est plus connu, par les informaticiens, pour ses travaux sur la formalisation des concepts d'algorithme et de calculabilité. Il est à la base, avec Alonzo Church, de l'approche moderne de l'algorithmique. En fait il faut même remonter aux anciens babyloniens pour l'origine de l'algorithmique : Donald E. Knuth, « Ancient Babylonian Algorithms », Communications of the ACM, vol. 15, no 7, juillet 1972, p. 671-677 (ACM : Association for Computing Machinery dont je suis membre). Dire que Alan Turing est le père de l'informatique c'est encore un truc de journalistes qui n'y connaissent rien. L'architecture des ordinateurs actuels se base plutôt sur les travaux de Von Neumann.
Tes sources concernant l'informatique ne sont pas fiables car elles relèvent de la vulgarisation de mauvaise qualité.
@Jacti
Voilà un gars qui site Babbage, Turing, Knuth, Von Neumann... ça fait plaisir mais je ne comprends pas ton emballement.
L'informatique est l'art de gérer l'abstraction le rapport entre signifiant et signifié.
Un code n'est pas forcément cryptique et n'a pas forcément une vocation cryptologique, l'informatique se base bien sur l'encodage à divers niveau d'abstraction d'instruction.
Et la terminologie de code pour parler d'un programme est largement partagée dans le milieu.
Si tu aimes les grand classique de l'informatique tu peux réouvrir le Dragon's Book par exemple tu y trouveras à profusion la référence au "Code Source" et "Object Code" et on doit sans problème trouver des occurrence plus ancienne du concept tu en trouveras chez Backus et Naur, chez Wirth, chez Dijkstra , chez Sussman et j'en passe.
Par extension l'assimilation de l'art de programmer à celui de coder ce retrouve chez des auteurs de référence depuis fort longtemps.
Je ne vois vraiment pas ce qui peut t'énerver dans ce terme.
En tout cas tu te trompe largement en affirmant que c'est un emplois de béotien, cette assertion est fausse.
Non la terminologie de "code" n'est pas largement partagée dans le milieu, du moins par ma génération. C'est un appauvrissement du vocabulaire. Je suis de la première génération ayant appris l'informatique à l'Université (fin des années 60, début des années 70). On ne m'a jamais parlé de code sauf pour le "code assembleur" auquel on préférait d'ailleurs le terme "langage machine". Il arrivait qu'on parle de code source mais on parlait plutôt de programme et de programmeur.
Pour ce qui concerne la littérature informatique et les langages, le Dragon's Book a été, à une époque, mon livre de chevet avec aussi les 2 tomes de Aho et Ullman "The Theory of Parsing, Translation, and Compiling" de 1972 car j'ai fait un compilateur C et maintenu divers compilateurs : Fortran, Pascal, PL/1, etc. J'ai d'ailleurs rencontré Dijkstra et Sussman à une école d'été en 81 à l'université de Newcastle en Angleterre sur la programmation fonctionnelle. Il y avait également Dana Scott et Joseph Stoy , le maître de la sémantique dénotationnelle, ma spécialité. Je n'ai rien à apprendre concernant les définitions des termes informatique, étant membre de l'ACM et de l'IEEE depuis plus de 35 ans et ayant participé à l'élaboration de plusieurs standards internationaux concernant le génie logiciel. Je persiste et je signe : les termes de "code" et de "codage" ne sont pas adéquats pour désigner les activités de programmation et de développement logiciel et ce sont des termes péjoratifs pour un ingénieur de développement logiciel.
Je vous encourage, car vous êtes plusieurs à soutenir le terme de "code" à lire ces articles :
- http://www.huffingtonpost.com/kiki-prottsman/coding-vs-programming-bat_b_7042816.html
- http://www.naelshawwa.com/scripting-coding-programming/
- http://workfunc.com/differences-between-programmers-and-coders/
En conclusion on pourrait dire que : Coders are cheap, Programmers are expensive ;-)
@Jacti
"Non la terminologie de "code" n'est pas largement partagée dans le milieu, du moins par ma génération."
Si tu veux mais tu ne stoppera pas son usage qui était déjà très courant sur les campus US dans les années 70, je suis visiblement de la génération suivant la tienne.
"C'est un appauvrissement du vocabulaire."
ça se défend mais cela ne change rien à la réalité de l'usage du vocable.
J'ai suivit le mouvement de lutte contre ce vocable que tu mets en exergue avec les divers liens, il est avouons le assez récent et pour moi plus symptomatique d'une crise au sain de la communauté que d'un réel enjeux de langage.
Une part de la communauté souffre que tout es-t n'importe quoi soit aujourd'hui considéré comme un informaticien, que le même mot désigne un pisseur de code à la petite semaine et un PhD maîtrisant des problématiques théoriques complexes.
Bref ce mouvement est pour moi très significatif mais pas de ce que tu met en avant c-à-d la richesse du vocabulaire.
Le plus amusant c'est que les grands maitres que tu sites n'ont je crois jamais manifesté ce dégoût pour ce vocable, les enjeux de l'époque n'était sans doute pas les mêmes et ils n'avaient pas besoin de la reconnaissance d'une terminologie pour se sentir respecter.
Personellement je suis un "taquineur d'octets" ça me convient.
PS : Evites les arguments d'autorité ils ne servent à rien ;-)
@@Jacti
"Coders are cheap, Programmers are expensive ;-)"
Voici qui illustre parfaitement le pb de reconnaissance et de singularisation que j'évoquai précédemment.
Cette susceptibilité sur la dénomination est le signe d'une crise d'identité et d'une "lutte des classes" au sein de la vaste communauté. "J'ai un PhD je ne veux pas être assimiler à ce pisseur de code qui ne connait même pas l'EBNF"
Strictement rien à voir avec la défense de la richesse de la langue qui n'est ici qu'un prétexte.
@Jacteur
Tes sources concernant l'informatique ne sont pas fiables car elles relèvent d'un techno-snobisme de mauvaise qualité. Encore le syndrome de la tour d'ivoire et de la pseudo-élite auto-proclamée.
J'ai entendu le terme de codeur pour la première fois il y a 30 ans, dans un club Microtel, lors d'un cours d'apprentissage à la programmation sur Apple II.
Un club Microtel, ha, ha, ha. Comme source il y a plus fiable.
C'était très bien les clubs Microtels. De petits jeunes pouvaient apprendre l'informatique et utiliser des ordinateurs à une époque où il fallait débourser 4 mois de salaires pour un Apple II. Si la terminologie utilisée dans ces "endroits du peuple" (et le reste de l'univers) ne te plait pas, c'est un problème entre toi et ton psy.
J'avoue que j'ai été un peu dur et je suis d'accord avec toi. Ces clubs ont été le début de la "démocratisation" de l'informatique mais il ne faut pas les prendre pour ce qu'ils n'étaient pas : des endroits de "référence".
@Glop
" Encore le syndrome de la tour d'ivoire et de la pseudo-élite auto-proclamée."
Non même dans l'élite c'est d'un usage courant
Sauf à considérer que le MIT, Berkeley, Stanford, Carnegie Mellon ... c'est du pipi de chat.
@Lopokova Lydia
Le MIT, Berkeley, Standford et compagnie c'est l'élite, la vraie.. Ils communiquent, sont à l'écoute du monde, publient, participent à des conférences, en organisent, etc ..
Tout le contraire des gens repliés sur eux-même (la tour d'ivoire), persuadés de détenir la vérité, et d'avoir tout le temps raison (la pseudo-élite auto-proclamée).
@Glop
En tout cas je n'y ai jamais côtoyé un gars s'offusquant d'être traité de codeur :-)
C'est de l'argot, du jargon professionnel, pas de quoi en faire un plat.
Un gars qui a besoins de la déférence d'une dénomination pour se sentir bien dans ses pompes c'est assez limite :-)
Au milieu des années 80, j'avais un compte sur une machine de Standford University. Codeur n'a pas le même sens en français et en anglais.
Définition de "coder" d'après l'IEEE : Typically refers to a programmer with limited experience who writes simple programs. The term tends to imply a junior level
Voir ici : http://www.yourdictionary.com/coder#computer
@Jacti
Le jour ou l'IEEE aura le moindre impact sur le vocabulaire en dehors de ces petites commissions, Richard Stallman achètera une licence de Windows :-)
Tu crois réellement au combat que tu mènes pour défendre la dignité des programmeurs bafouer dans leur dignité ?
En tout cas je te laisse à tes problèmes de reconnaissances de codeurs qui aimerait qu'on oublis pas qu'il est programmeur. C'est presque aussi crétin que le combat pour l'emplois de "technicien de surface" les autres vocables étant terriblement insultant.
@Jacti
Le père Knuth dans le texte :
"I write about five programs each week, on average, and I continue to enjoy making them "literate". I often tear up the first draft or two, after I see how things are going, because algorithms tend to be full of surprises. I often make close studies of code written by the leading experts in whatever kind of application I'm currently studying; but I also try to rethink everything from scratch. I make many mistakes, but afterwards I try to help my readers to avoid themy"
Après on peu raller sur un usage venant des anglo-saxon qui s'impose mais c'est une autre histoire
Et un peu de lecture, un très chouette livre chez O'Reilly
Beautiful Code
http://shop.oreilly.com/product/9780596510046.do
@Sostène Cambrât
"Des générations de codeurs spécialisés ne vont évidemment pas retourner à l'école pour apprendre un nouveau langage"
Savoir programmer ce n'est pas connaitre un langage mais avant tout comprendre, connaitre et maitriser des paradigme de programmation.
L'apprentissage d'un nouveau langage n'est en suite pas compliqué.
@Sostène Cambrut
"Des générations de codeurs spécialisés ne vont évidemment pas retourner à l'école pour apprendre un nouveau langage"...
Pourquoi retourner a l'école ?
Les nouveaux language sont si conceptuellement différent des anciens qu'il faut suivre des cours!!!
Si tu maitrise le C++, ca va pas te prendre beaucoup de temps a passer a Java. C# et Java c'est quasi la même chose.
C'est sur que si tu vient du PHP et que tu doit passer a l'assembleur, c'est plus compliqué.
Mais bon, si tu es un programmer d'experience, tu maitrise deja plusieurs langages, et tu es familier avec plusieurs autres. C'est pas très dur de passer a un autre langage.
@Stardustxxx :
D'un langage à un autre, avec un peu d'expérience, c'est l'histoire d'une journée. Par contre, de framework (.NET à Spring à Cocoa), ça, ça peut prendre des semaines. Mais en aucun cas besoin d'aller prendre des cours.
Swift est un excellent langage, bien plus agréable à l'usage qu'Objective-C.
L'Objective-C qui passe de la 3ème à la 14ème place, c'est… violent
@Dark-mac
Ce qui est plus étonnant encore c'est qu'en cumulant les scores de Swift et de l'Objective C on arrive à la 6ème place.
Quelle est la meilleure méthode pour un néophyte qui souhaite apprendre le Swift?
Des bons bouquins?
Existe-t-il des formations spécifiques?
Merci pour vos retours
La meilleure manière d'apprendre le Swift, du moins en français, c'est l'excellent MOOC de Jussieu sur le développement iOS, du professeur Fabrice Kordon. La prochaine session aura lieu début 2016 (normalement). Voici un lien sur les vidéos :
http://pagesperso.lip6.fr/Fabrice.Kordon/5I452-2014/
Existe aussi en PodCast sur iTunes :
https://itunes.apple.com/fr/itunes-u/programmation-sur-plateformes/id919453516?mt=10
@glop Merci!
Pensez vous que Google prendra en charge ce langage afin de favoriser le développement multiplateforme et les adaptations de logiciels pour Android?
Quel est actuellement le langage, ou le mode opératoire, le plus utilisé pour le développement multiplateforme?
Même ci Objective C chute de manière importante, ce n'est pas swift qui en profite le plus vu la faible progression de cette dernière.
Java a clairement prit le pas.
@k43l
Mais oui, t'as raison. Tout le monde sait à quel point Java est le principal langage de développement sur la plate-forme iOS/OSX (ou pas).
Tout le monde ne développe pas pour iOS/OSX, hein.
La chute est mécanique : le même nombre de développeurs se repartissent maintenant sur 2 langages.
@Jacti
Une chose est sûre, tu ne travailles pas pour WordPress. "Code is Poetry"
@Zoupinou
Y a ça aussi qui devrait le séduire :
https://en.wikipedia.org/wiki/Cargo_cult_programming
Je suis tristesse, Rugby n’apparaît pas dans la liste.
Pourtant j'ai vu de nombre offre d'emplois pour des poste de développeur en Ru*g*by
:-)