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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Swift Discussion :

Swift open source, mais pas ouvert à toute proposition


Sujet :

Swift

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Data Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 875
    Points : 86 930
    Points
    86 930
    Billets dans le blog
    2
    Par défaut Swift open source, mais pas ouvert à toute proposition
    Swift open source, mais pas ouvert à toute proposition
    La liste des requêtes peu susceptibles d’être acceptées a été publiée

    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    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.

  3. #3
    Membre expert
    Avatar de Metalman
    Homme Profil pro
    Enseignant-Chercheur
    Inscrit en
    Juin 2005
    Messages
    1 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Enseignant-Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 049
    Points : 3 532
    Points
    3 532
    Par défaut
    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 ?
    --
    Metalman !

    Attendez 5 mins après mes posts... les EDIT vont vite avec moi...
    Les flags de la vie : gcc -W -Wall -Werror -ansi -pedantic mes_sources.c
    gcc -Wall -Wextra -Werror -std=c99 -pedantic mes_sources.c
    (ANSI retire quelques fonctions comme strdup...)
    L'outil de la vie : valgrind --show-reachable=yes --leak-check=full ./mon_programme
    Et s'assurer que la logique est bonne "aussi" !

    Ma page Developpez.net

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 268
    Points : 556
    Points
    556
    Par défaut
    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) ...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    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.

  6. #6
    Membre éclairé
    Homme Profil pro
    nop
    Inscrit en
    Mars 2015
    Messages
    436
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : nop
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 436
    Points : 658
    Points
    658
    Par défaut
    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

  7. #7
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 179
    Points : 653
    Points
    653
    Par défaut
    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 ?
    L'expérience est une lanterne que l'on porte sur le dos et qui n'eclaire jamais que le chemin parcouru.

    La nature fait les choses sans se presser, et pourtant tout est accompli.

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    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.

  9. #9
    Inactif  
    Profil pro
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 620
    Points
    620
    Par défaut
    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.

Discussions similaires

  1. ça démarre pas, mais pas du tout !
    Par zooffy dans le forum Ordinateurs
    Réponses: 7
    Dernier message: 13/03/2009, 09h36
  2. Réponses: 9
    Dernier message: 25/04/2008, 22h21
  3. Réponses: 2
    Dernier message: 16/03/2008, 17h26
  4. transparence mais pas sur toutes les propriétés CSS
    Par Nixar dans le forum Mise en page CSS
    Réponses: 17
    Dernier message: 31/12/2007, 20h30
  5. [JXTable] Tri mais pas sur toutes les lignes
    Par grabriel dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 12/07/2007, 10h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo