Swift open source, mais pas ouvert à toute proposition,
La liste des requêtes peu susceptibles d'être acceptées a été publiée

Le , par Michael Guilloux, Chroniqueur Actualités
Swift, le langage de programmation d’Apple a été rendu open source au début du mois de décembre dernier. L’objectif, comme pour tous les projets communautaires, est de profiter des suggestions et requêtes des différents contributeurs afin d’améliorer le langage. Après le passage en open source, les travaux ont aussitôt commencé et en mi-décembre, après discussion et suite à la proposition d’un contributeur, il a été décidé que les boucles for de style C seront supprimées dans le langage de programmation d’Apple à partir de la version 3.0.

Comme tout changement, cela n’a pas fait l’unanimité, alors que certains développeurs ont considéré que les boucles for vont être tout simplement supprimées parce que quelqu’un en a eu l’idée. Si les responsables du projet ont accepté cette requête, il faut toutefois noter que dans le même temps de nombreuses autres n’ont pas obtenu l’approbation de ces derniers. Swift se veut en effet un langage open source, mais n’est pas ouvert à n’importe quelle suggestion. Au cours du mois de décembre 2015, plusieurs changements ont été fréquemment proposés par la communauté, mais n’ont pas eu de suite favorable. Dans la liste des requêtes couramment faites, mais qui sont peu susceptibles d’être acceptées, on peut citer :

  • remplacer l’opérateur ternaire ?: : de nombreuses suggestions portaient sur le remplacement de l’opérateur ternaire ?: par une syntaxe plus verbeuse. Une des propositions faites envisageait par exemple de le remplacer par une syntaxe if cond then value1 else value2. Autrement dit, au lieu de let x = cond ? 4 : 8 par exemple, on devrait avoir let x = if cond then 4 else 8. Cette syntaxe va cependant créer certaines confusions. Comme l’explique l’un des responsables du projet Swift, entre autres arguments qui permettent de rejeter la proposition, cette syntaxe ressemble à une déclaration if/else, mais est sémantiquement différente ;
  • remplacer les opérateurs logiques &&, ||, !, etc. avec des mots comme « and » , « or », « not » : si cela peut améliorer la lisibilité du code, les opérateurs booléens de style Python ne s’alignent pas avec la conception de Swift, a expliqué l'un des responsables du projet ;
  • utiliser les doubles guillemets ' ' au lieu des simples ' : cette proposition est également très peu susceptible d’être acceptée sous prétexte qu’il n’y a aucun besoin d’un délimiteur de fermeture (un deuxième guillemet). En plus, utiliser un seul symbole permet d’économiser une frappe ;
  • remplacer le mot clé continue avec des synonymes existants dans d’autres langages : certains développeurs ont suggéré de remplacer continue par des synonymes comme next de Ruby ou encore skip ou advance dans d’autres langages. Mais les responsables du projet estiment que Swift est un langage de la famille C et qu’il n’y a aucune raison de s’en éloigner sans motivation pertinente ;
  • remplacer les accolades { } par l’indentation de style Python : pour les responsables du projet, il n’y a aucune raison de changer Swift pour utiliser l’indentation de style Python au lieu des accolades ;
  • réécrire le compilateur Swift en Swift : si cette proposition peut être acceptée avec beaucoup de plaisir un jour, elle peut toutefois exiger la capacité d’importer des API C ++ dans Swift. Les responsables du projet Swift estiment en plus qu’il y a beaucoup de façons prioritaires d’améliorer le langage que de réécrire le compilateur en Swift.

Ce n’est pas la liste exhaustive des propositions les plus courantes qui ont été rejetées. Mais, il faut aussi noter que parmi les autres demandes qui sont peu susceptibles d’être acceptées, il y a également la suppression des points-virgules  ;.

Cette liste a été rendue publique pour informer la communauté que ces points ont été largement discutés. Ceux qui projetteraient donc de faire des requêtes dans ce sens doivent d’abord s’assurer d’apporter de nouveaux arguments que ceux déjà présentés dans les discussions. Pour toutes les propositions en général, les arguments devraient être également pertinents au lieu de simples « j’ai vraiment besoin de cela » ou « cela existe dans un autre langage et je le veux ici », est-il précisé sur la page GitHub de Swift.

Source : GitHub

Et vous ?

Que pensez-vous de cette liste de propositions faites par la communauté ? Sont-elles toutes non pertinentes ?

Voir aussi

Swift est maintenant open source, le code source du langage de programmation d'Apple est disponible sur GitHub
Swift : les boucles for de style C seront supprimées dans le langage de programmation à partir de la version 3.0


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de tomlev tomlev - Rédacteur/Modérateur https://www.developpez.com
le 05/01/2016 à 14:07
Citation Envoyé par Michael Guilloux  Voir le message
Que pensez-vous de cette liste de propositions faites par la communauté ? Sont-elles toutes non pertinentes ?

C'est du gros n'importe quoi, et c'est complètement normal qu'elles soient refusées. Quand un langage est finalisé, on ne fait pas des changements aussi radicaux que le remplacement des accolades par l'indentation ou le remplacement des opérateurs de base du langage . Il faut garder la compatibilité avec le code écrit pour les versions antérieures.
Avatar de Metalman Metalman - Membre expert https://www.developpez.com
le 05/01/2016 à 15:52
Là je devrais employer un mot en 3 lettres pour décrire les gens qui gèrent ça...

Je cite :
il a été décidé que les boucles for de style C seront supprimées dans le langage de programmation d’Apple à partir de la version 3.0.

remplacer le mot clé continue [...] Mais les responsables du projet estiment que Swift est un langage de la famille C et qu’il n’y a aucune raison de s’en éloigner sans motivation pertinente

utiliser les doubles guillemets ' ' au lieu des simples ' : cette proposition est également très peu susceptible d’être acceptée sous prétexte qu’il n’y a aucun besoin d’un délimiteur de fermeture (un deuxième guillemet). En plus, utiliser un seul symbole permet d’économiser une frappe

Bravo.

BRAVO !

De quoi avons-nous besoin en plus pour démontrer la totale bêtise que l'on atteint de nos jours ?
Avatar de spyserver spyserver - Membre averti https://www.developpez.com
le 05/01/2016 à 15:53
C'est pas "open source", c'est "open language" dans ce cas, lorsqu'on parle d'open source on parle de l’implémentation des APIs pas du fait de pouvoir modifier la syntaxe du langage à volonté ...

A mon sens ce genre de décisions doivent rester réservées à un cercle restreint de personnes (concepteurs du langage, experts, etc.) et non au premier dev venu qui bien sur va proposer une plétore de modifications qui LUI semblent adaptées pour ses propres besoins (forcément) ...
Avatar de tomlev tomlev - Rédacteur/Modérateur https://www.developpez.com
le 05/01/2016 à 16:13
Citation Envoyé par spyserver  Voir le message
A mon sens ce genre de décisions doivent rester réservées à un cercle restreint de personnes (concepteurs du langage, experts, etc.) et non au premier dev venu qui bien sur va proposer une plétore de modifications qui LUI semblent adaptées pour ses propres besoins (forcément) ...

Bah c'est très bien que le premier dev venu puisse faire des propositions ou réagir aux propositions qui sont faites, mais au final c'est l'équipe qui développe le langage qui doit prendre les décisions de façon raisonnée. On adopte pas une feature juste parce qu'elle est cool et que plein de gens la veulent, il faut que ce soit pertinent et utile.
Avatar de MichaelREMY MichaelREMY - Membre confirmé https://www.developpez.com
le 05/01/2016 à 17:26
arf, je ne suis pas certain que Taylor accepte de voir ses oeuvres voller en liberté comme ça...Elle a eu la peau d'Itunes, elle aura celle de l'Open Source.

sorry
Avatar de Angelsafrania Angelsafrania - Membre confirmé https://www.developpez.com
le 05/01/2016 à 22:16
C'est open source pas libre. Il y a une grande différence.
Qu'ils ouvrent le code pour des audits, pour la compréhension de ce qui se passe derrière c'est très bien.
Qu'ils soient ouvert à des suggestion c'est très bien.
Maintenant c'est comme pour Java, les propositions ne sont pas acceptées comme ça.
Il y a un processus, et des choix qui sont fait avec de très bonnes ou de moins bonnes raisons.

Donc c'est normal qu'ils n'acceptent pas des propositions loufoques ou qui cassent la rétro-compatibilité.
Dès qu'on ouvre la possibilité d'avoir des commentaires on a toujours les trolls ou des gens à coté de la plaque, et que leurs commentaires ne soient pas pris en compte me parait légitime.
Il doit bien avoir de bonne proposition bien argumentée dans le lot non ?
Avatar de tomlev tomlev - Rédacteur/Modérateur https://www.developpez.com
le 05/01/2016 à 23:50
Citation Envoyé par Angelsafrania  Voir le message
C'est open source pas libre. Il y a une grande différence.
Qu'ils ouvrent le code pour des audits, pour la compréhension de ce qui se passe derrière c'est très bien.
Qu'ils soient ouvert à des suggestion c'est très bien.
Maintenant c'est comme pour Java, les propositions ne sont pas acceptées comme ça.
Il y a un processus, et des choix qui sont fait avec de très bonnes ou de moins bonnes raisons.

Donc c'est normal qu'ils n'acceptent pas des propositions loufoques ou qui cassent la rétro-compatibilité.
Dès qu'on ouvre la possibilité d'avoir des commentaires on a toujours les trolls ou des gens à coté de la plaque, et que leurs commentaires ne soient pas pris en compte me parait légitime.
Il doit bien avoir de bonne proposition bien argumentée dans le lot non ?

On dirait que tu associes le fait d'être libre avec le fait d'accepter toutes les contributions... Ce n'est pas parce qu'ils n'acceptent pas toutes les propositions que ce n'est pas libre ; c'est sous licence Apache 2, qui est bien une licence libre (d'après la FSF en tout cas). Le projet peut être libre tout en étant maintenu par Apple, qui reste maître de ce qui va dedans ou pas (idem pour C# avec Microsoft). Je pense que tu admettras volontiers que Linux est libre ; pourtant Linus Torvalds n'est pas obligé d'accepter tout ce que les gens veulent changer dans le kernel...

Maintenant, si tu veux faire des modifs dans Swift mais qu'Apple n'en veut pas, rien ne t'empêche de créer ton propre fork, la licence le permet.
Avatar de captaindidou captaindidou - Membre averti https://www.developpez.com
le 06/01/2016 à 11:09
Ces requêtes sont des débats d'arrière garde.
Tout le monde est habitué à la syntaxe que se partage C,C++, Java, Objective, ...
Le pire de C/C++ n'a pas été repris dans ses nouveaux langages. C'est tout ce qu'il était utile de faire.

L'idée de réécrire le compilateur en Swift en Swift est tout simplement ridicule : ça n'apporte strictement rien à part une self-satisfaction. Ca demande des efforts très significatifs et un risque de régression non moins significatif.
Offres d'emploi IT
Consultant DevOps F/H
Zenika - Pays de la Loire - Nantes (44000)
Développeur PHP (H/F)
Smile - Aquitaine - Bordeaux (33000)
Editeur d'un progiciel delphi cherche repreneur
Non communiqué - Ile de France - Bougival (78380)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Accueil