Partage
  • Partager sur Facebook
  • Partager sur Twitter

Manque de confiance

    10 septembre 2018 à 23:35:33

    Hey !

    Tout est dit dans le titre. Très souvent, lorsque je programme sur un projet open-source, il m'arrive de manquer de confiance en moi, de penser que le résultat final (en parlant du code) ne sera pas "élégant" ou codé à la va-vite.

    Malgré de multiples relectures de mon code, j'ai toujours cette pression, juste avant de faire une commit Github, j'ai peur de me taper la honte ou de vouloir cacher le code que j'ai écrit plus tard (par honte).

    Pourtant, lorsque je lis mon code, il semble élégant et efficace. Le résultat est bien le résultat que j'attendais et je comprend parfaitement mon code.

    Mais voilà, j'ai toujours cette pression. Et clairement depuis quelques mois ça rend mes "gros projets" lents et presque impossible à faire avancer.

    Merci ! 

    -
    Edité par JomtekYT1 10 septembre 2018 à 23:35:45

    • Partager sur Facebook
    • Partager sur Twitter
      12 septembre 2018 à 11:01:18

      Cela reste justement le meilleurs moyen d'avancer, et un bon dev ne va pas juste te clacher, il te donnera des conseils pour avancer. Si tu veux tu peux mettre le lien de ton github ici et on te fera des retour. Si tu veux comparer tu as la possibilité de voir le mieux et tu verra que des vieux projets sont coder d'une manière que même moi je trouve ça dégueux. En vrai c'est le signe que on évolue et donc qu'on avance.

      • Partager sur Facebook
      • Partager sur Twitter
        12 septembre 2018 à 15:26:50

        Tu apprendras en pratiquant, et en acceptant la critique.
        • Partager sur Facebook
        • Partager sur Twitter

        Je ne suis plus modérateur, ne me contactez plus pour des demandes, je n'y répondrai pas.

          12 septembre 2018 à 15:41:54

          J'imagine que c'est ton projet de créer un langage de programmation (Lazen ? (j'ai toute les raisons de le croire, mais on ne sais jamais puisqu'un autre compte du même nom sur OC à les mêmes problèmes)) qui te tracasse.

          Avec d'autres membre de la communauté, on te propose beaucoup de solutions "avancées" (voir pourquoi plus loin) par rapport à tes questions : LLVM, bytecode, fonctionnement d'un compilateur, parsing, AST, assembleur et génération du code, ...

          Pour un débutant qui a un gros projet, recevoir une telle quantité d'informations nouvelles en peu de temps peut sembler insurmontable, et par conséquent dépriment. Ce qui amène à un manquement de confiance sur ses capacités par rapport à ce que l'on souhaite créer, et au chemin à parcourir pour y parvenir. Alors, comme dans ton cas, tu te remets en cause.

          Après des périodes aussi pénible que j'ai moi-même vécu, je me suis finalement dit ceci : 

          vanaur s'est dit :

          En fait, remettre en question mes capacités me permet juste de me rendre compte de là où ça bloque. Si je m'apitoie sur ça, alors je n'arriverai à rien. Il faut que j'avance.

          J'ai donc avancé, et me suis rendu compte au bout de plusieurs semaine que, finalement, j'étais capable de plus que je ne l'aurai imaginé en si peu de temps.

          Pour remettre dans le contexte, je créais un langage de programmation interprété en VB.NET. Sauf que lieu de travailler correctement à faire le lexer, le parser, la conception de l'ast, la génération de bytecode, l'exécution, ... J'ai créé une application tellement mal foutue -- mais quand même fonctionnelle -- que j'avais honte de la présenter. Quelques mois après, j'ai quand même voulu voir ce que cela faisait de révéler au public cette application afin de me rendre compte de ce qu'on en pensait. Voici le résultat.

          J'étais tellement honteux de ce que j'avais réalisé que cela m'a permis de voir les choses autrement. Je me suis mis à apprendre d'autres langages (C, C++, assembleur, rust, Smalltalk, F#, et un peu d'Haskell) afin d'élargir mes connaissances. Tu ne peux pas savoir tout ce que j'avais manqué...

          À partir de cette nouvelle base (et j'ai oublié de le dire, mais adieu et bon débarra VB.NET au passage), j'ai commencé à élaborer un projet (toujours un langage) encore plus performant. Puis, les mois passant, le concept du projet devenait de plus en plus clair. Depuis un an, environ, j'en discute avec quelques personnes qui me conseille, et me donne leurs avis (je les aide également) + ce poste public. J'ai donc commencé à développer ce projet depuis 3 mois, et, même s'il avance beaucoup plus lentement que l'originel, il est nettement plus performant et meilleur en tout point.

          Comme l'a dit quenti77, on trouve ses anciens codes vraiment dégueulasses; si tes projets qui datent de tes débuts ont toujours la même tête que ceux de maintenant, alors oui, il y a un problème... Mais quoi qu'il en soit, pose-toi la même question que je me suis posé, et réagis ;) !

          Bonne continuation :magicien:

          -
          Edité par vanaur 12 septembre 2018 à 15:45:12

          • Partager sur Facebook
          • Partager sur Twitter

          Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

            13 septembre 2018 à 19:49:19

            Merci vanaur.

            Oui, Jomtek est mon deuxième compte >_<(d'ailleurs je n'ai jamais évoqué des problèmes de manque de confiance dessus)

            Moi aussi j'ai déjà fait un interpréteur en VB.Net, pourtant j'ai jamais eu honte de le présenter, malgrès un code à vomir, des noms que même un chinois de 3 ans n'écrirai pas sur un clavier, j'ai le temps d'aller faire mes courses pendant l'interprétation d'un hello world :euh:, etc...

            Je me suis rendu compte que j'ai évolué niveau code. Maintenant j'indente correctement, mes noms de fonctions sont convenables, etc...

            Mais j'ai juste peur de re-faire comme il y a quelques années sans m'en rendre compte :(

            D'ailleurs, non, je ne vous ment pas ! Mon code était vraiment dégeulasse !

              If realInput.ToLower.StartsWith("math.get") Then
            
                        Dim getMathematicalExpression As String = FormatConverters.ConvertToAbleToRead(FormatConverters.removeSpacesAtBeginningAndEnd(realInput.Substring(8)))
                        Dim FinalResultOfMathematicalExpression As String = ""
            
                        For Each i As String In getMathematicalExpression.Split(" ")
            
                            If i = "+" Or i = "-" Or i = "/" Or i = "|" Or i = "%" Or i = "*" Then
                                FinalResultOfMathematicalExpression += i.Replace("|", "/") & " "
                            Else
                                FinalResultOfMathematicalExpression += FormatConverters.getExpression(i) & " "
                            End If
            
                        Next
            
                        Dim tables As New DataTable
                        Dim EquationResult = tables.Compute(FinalResultOfMathematicalExpression, " ")
            
                        Return EquationResult


            Vs

            res, idx_save = string(operator, "\n"), 1
                    ast_parents = []
                    push!(operator_indexes, length(expr))
            
                    for (index, x) in enumerate(operator_indexes)
                        x_modif = x
                        if index != length(operator_indexes); x_modif -= 1; end
                        operand = text_util.conv_to_str_in_lst(text_util.get_slice_safe(expr, idx_save, x_modif, true))
            
                        if check_trigger(text_util.conv_to_str(operand))
                            push!(ast_parents, [go(text_util.strip_lst(operand)), true])
                        else
                            push!(ast_parents, [text_util.conv_to_str(operand), false])
                        end
            
                        idx_save = x + 1
                    end

            ^^ (et j'ai déjà vu le topic sur Arlia :zorro:)

            • Partager sur Facebook
            • Partager sur Twitter
              13 septembre 2018 à 20:59:01

              JomtekYT1 a écrit:

              D'ailleurs, non, je ne vous ment pas ! Mon code était vraiment dégeulasse !

              Regarde un de mes anciens code vb.net :

              If var_i.Contains(a) Then
                  Dim adrs As Integer = Array.FindIndex(var_i, Function(s) s = a)
                  a = a.Replace(var_i(adrs), var(adrs))
                  '+++++++++++
                  Dim Youpi
                  Youpi = condition
                  Youpi = Youpi.Replace(a, "").Trim()
                  Youpi = Youpi.Replace(var_i(adrs), "").Trim()
                  Youpi = Youpi.Replace(var(adrs), "").Trim()
                  Youpi = Youpi.Replace(Mid(print, 1, x), "").Trim()
                  Youpi = Youpi.Replace("=", "").Trim()
                  '+++++++++++
                  Dim b = print.Replace(Mid(print, 1, x), "").Trim
                  b = b.Replace(Instruction, "")
                  b = b.Replace(">:", "")
                  comm = Youpi
              
                  Do While a = b
              If var(adrs) = b Then
                  commandes(Instruction)
              Else
                  Main(Nothing)
              End If
                  Loop
              End If

              Je faisais même pire que toi en enregistrant toutes les instructions dans des fichiers séparés...

              Et maintenant, toujours en VB.NET :

              '

              C'est nettement mieux !

              JomtekYT1 a écrit:

              Et j'ai déjà vu le topic sur Arlia

              Dans quelques années, ou mois si on est optimiste, il y en aura un nouveau. Mais pour présenter un projet beaucoup plus performant.

              Bonne continuation, et réfléchit à ma petite phrase si ça t'est utile ;)

              -
              Edité par vanaur 13 septembre 2018 à 21:01:38

              • Partager sur Facebook
              • Partager sur Twitter

              Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                14 septembre 2018 à 13:29:28

                Je bosse aussi sur un langage compilé :D

                Je m'amuse comme jamais je ne m'étais amusé. Créer un langage c'est vraiment exceptionnel.

                Revenons au sujet : Je pense qu'il faut surtout prendre un maximum de temps de réflexion et se dire qu'on a du temps devant nous avant de se mettre à écrire le programme.

                • Partager sur Facebook
                • Partager sur Twitter
                  14 septembre 2018 à 18:38:10

                  JomtekYT1 a écrit:

                  Je pense qu'il faut surtout prendre un maximum de temps de réflexion et se dire qu'on a du temps devant nous avant de se mettre à écrire le programme.

                  Ne prend pas trop ton temps non plus, sinon il ne t'en restera plus beaucoup pour te mettre à ton projet.

                  Ce qu'il faut faire, c'est gérer son temps de la manière la plus optimale, et si ça peut t'aider, de te fixer des petits objectifs par semaine ou par mois. Par exemple, mon petit objectif de la semaine passée, c'était de finaliser mon parser primaire, corriger les bugs révélées lors des tests unitaires, optimiser cette partie du programme, et commenter le code de cet entête (contrats et tout).

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                    15 septembre 2018 à 22:40:18

                    Oui, t'as raison. D'ailleurs je vois que t'es sur le serveur discord de l'atelier de création de langage :D (j'ai eu l'idée de le créer avec superfola)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 septembre 2018 à 23:24:47

                      Oui, 'Fola m'a invité lorsque le Discord ne comptait encore que 5-6 membres. Maintenant on est presque 30.

                      Une très chouette communauté franchement.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Le meilleur moyen de prédire l'avenir, c'est de l'inventer | N'oubliez pas [résolu] et +1 | Excusez mon ôrtograffe, j'essaie de l'améliorer...

                      Manque de confiance

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown