IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

80PARTAGES

5  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de 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.
3  0 
Avatar de 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.
2  0 
Avatar de 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.
1  0 
Avatar de 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 ?
1  0 
Avatar de spyserver
Membre confirmé 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) ...
1  0 
Avatar de MichaelREMY
Membre éclairé 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
1  0 
Avatar de Angelsafrania
Membre éclairé 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 ?
0  0 
Avatar de captaindidou
Inactif 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.
0  0