Être dans le néant...
Essayer un nouveau langage, une nouvelle plateforme, un nouvel IDE, un nouveau framework
Depuis plusieurs semaines, je suis en reconversion pour une nouvelle spécialisation. Et la semaine dernière, j'ai essayé de “piraté” une application macOS afin lui faire faire ce que je n’arrivait pas à trouver comme comportement. L’application était construit en Zig, Swift et utilisait SwiftUI, pour la portion interface utilisateur.
J'ai écrit environ 100 lignes de code Zig dans ma vie, 0 ligne de Swift, et je n'ai créé qu'une seule fois une application graphique à proprement parlé - en 2001 pour afficher "Hello, World!"
Swift et SwiftUI exigent également que vous utilisiez l'IDE d'Apple, Xcode, quelque chose que je n'ai également utilisé que dans le sens "ah, ok". Vous pouvez vous en passer, j'en suis sûr, mais après avoir parlé avec des développeurs iOS dans le passé et après avoir vu combien de logique de construction peut être contenue dans une définition de projet Xcode, j'ai décidé de l'utiliser.
Nouveau langage, nouvelle plateforme, nouveau framework, nouvel IDE.
C'était quelque chose. Un endroit entre l’enfer et le désespoir.
J'ai copié et collé du code, j'ai maudit, j'ai googlé les erreurs, j'ai demandé à ChatGPT, j'ai demandé à Cody, j'ai prié pour la saisie semi-automatique de Xcode.
J'ai fait une (des) recherche(s) binaire/commentaire du code où je venais de commenter la première moitié, de relancer le build, de remarquer qu'elle ne fonctionnait toujours pas, de commenter l'autre moitié, de relancer le build, de remarquer qu'elle ne fonctionnait toujours pas , je me suis dit "J'ai besoin d'une pause", me suis levé, j’ai marché.
Rien ici n'est nouveau. Plusieurs fois, j'ai piraté du code en copiant et collant aveuglément. J'ai googlé les messages d'erreur fais ce que les gens disaientêtre une astuce secrète. Mon cœur connaît l'espoir désespéré de trouver autre chose que la question sans réponse de StackOverflow d'il y a 7 ans, plus qu'il ne connaît la joie d'un moment eureka. Commenter le code en dernier recours ? Oui, je l’ai fait - plusieurs fois.
Ce qui est nouveau, c'est la somme de tout ça. Je ne pense pas avoir déjà été dans une situation de développement où je n'avais aucun modèle mental de ce qui se passait. J'ai toujours su quelque chose : soit le langage, soit l'outillage, soit la plateforme, soit le framework et sa façon de penser.
J'ai piraté le JavaScript du site Web de quelqu'un d'autre sans rien savoir d'autre que la chaîne à rechercher dans le fichier *.js - mais je connais le Web. Je suis descendu dans les tréfonds de base de code inconnues avant de laisser des “patch” d'une ligne, en criant juste après "sortez-moi d'ici!!!!" - mais je connaissais le langage, les outils et le temps d'exécution.
Ici, j'étais complètement aveugle et j'ai commencé à me demander : est-ce courant ? Est-ce que c'est comme ça pour les gens fraîchement sortis de l’école, qui se lancent dans un nouvel emploi, utilisant un langage et un cadre dont ils n'ont jamais entendu parler, s'attendant à une formation sur le tas ?
Est-ce pour cela que les gens utilisent les IDE ? Pour faire ce que j'ai fait et taper une commande incertaine en espérant que cette boîte de saisie semi-automatique s'affiche avec la méthode que je cherchais?
C'était très étrange. Très frustrant. Très rafraîchissant, dans le sens de la douche froide.
Éclairant aussi. J'ai réalisé : j'aime apprendre en faisant, mais j'ai besoin de savoir quelque chose, n'importe quoi, avant de commencer. À quel point l'expérience de la semaine dernière aurait-elle été différente, si j'avais passé 1 heure à lire sur SwiftUI ou à regarder une cheatsheet de Xcode ? Je n’en ai aucun idée. Mais si j’avais à le refaire, j’y penserais à 2 fois.
(Remarque : parlant dêtre dans le néant — j'aimerais avoir de vos nouvelles ! Ce que vous pensez de la newsletter, ce que vous aimez ou n'aimez pas, quels conseils vous avez pour moi.)
Merci d'avoir lu. Si vous avez aimé cet article, abonnez-vous.