Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suite d'articles sur les bases de Scala 3 #35

Open
Iltotore opened this issue Jul 26, 2022 · 5 comments · Fixed by #36, #41 or #65
Open

Suite d'articles sur les bases de Scala 3 #35

Iltotore opened this issue Jul 26, 2022 · 5 comments · Fixed by #36, #41 or #65
Assignees
Labels
Nouvel article Proposition de création d'un nouvel article

Comments

@Iltotore
Copy link
Contributor

Iltotore commented Jul 26, 2022

Sujet de l'article

Motivation

Malgré une relativement bonne base de développeurs seniors et de professeurs, Scala a toujours peiné à attirer de nouveaux développeurs en particulier de jeunes développeurs. La communauté du langage semble s'accorder sur trois principales causes:

  • La syntaxe parfois ésotérique (notamment avec le mot clé implicit en Scala 2 qui signifiait 3 choses différentes).
  • La communication assez pauvre en dehors de ceux qui connaissent déjà le langage.
  • Le manque de cours s'adressant aux vrais débutants. La plupart des cours "pour débutants" rentrent dans des détails peu pertinents pour les débutants et partent du fait que les lecteurs ont déjà certaines connaissances en programmation.

Le but de ces "cours" est de permettre aux débutants de découvrir Scala et d'en apprendre les bases sans les couvrir de notions "compliquées".

Pourquoi Scala 3 ?

Scala 3 étant nouveau, on pourrait se dire qu'il serait plus judicieux d'apprendre Scala 2, plus matûre.

Cependant, Scala 3 est en rapide adoption (1014 bibliothèques en un an, soit un tier de Scala 2.13.x, avec un bon support des différents outils externes, build tools, IDEs, etc...). De plus, Scala 3 possède plusieurs fonctionnalités qui le rendent plus adapté pour l'apprentissage:

  • Nouvelle syntaxe moins "bruyante" basée sur l'indentation
  • Plus de "god keywords" (comme implicit cité plus haut)
  • Des messages d'erreur plus précis
  • Une volonté générale de rendre le langage plus "beginer-friendly"

Structure de la suite d'articles

Je ne suis pas encore tout à fait sûr de la structure exacte de cette série de cours. Pour l'instant, je compte me baser sur une structure similaire à celle de l'article de Daniel Ciocîrlan avec quelques changements toutefois:

@Iltotore Iltotore added the Nouvel article Proposition de création d'un nouvel article label Jul 26, 2022
@Iltotore Iltotore self-assigned this Jul 26, 2022
@Equinox4 Equinox4 linked a pull request Aug 1, 2022 that will close this issue
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 1, 2022
Introduction to variables and basic data types in Scala
Co-authored-by: Guillaume Raffin <[email protected]>

Issue: NotANameServer#35
@Julien00859
Copy link
Member

À quelle audience s'adressent ces articles ? S'agit-il de parfaits débutants en informatique, ceux qui n'ont encore jamais vu de code de leur vie, encore moins écrit. S'agit-il des étudiants en fin de 1e cycle, ceux qui ont déjà quelques notions élémentaires comme les variables, les conditions et les boucles dans un autre langage mais qui n'ont pas encore écrit leurs propres programmes mais se sont plutôt contentés de faire quelques fonctions de traitement de données ? S'agit-il, enfin, mais ça irait à l'encontre de votre motivation, d'écrire une série de tutoriel pour des utilisateurs avancés, ceux qui connaissent déjà plusieurs langages et qui sont capable de faire des programmes plus conséquents en autonomie.

Identifier son audience est capital pour donner le ton à adopter dans la rédaction des articles. Si vous décidez de votre adresser à des débutants ou à des parfaits débutants, il est alors important de correctement définir chaque terme utilisé. Il n'est pas question de juste dire "voici comment définir une variable en scala, on a les types généraux, on peut faire des maths, merci et au revoir", il faut expliquer en longueur à quoi servent les types et les variables, comment s'en servir au travers de nombreux exemples.

@Iltotore
Copy link
Contributor Author

Iltotore commented Aug 1, 2022

À quelle audience s'adressent ces articles ? S'agit-il de parfaits débutants en informatique, ceux qui n'ont encore jamais vu de code de leur vie, encore moins écrit. S'agit-il des étudiants en fin de 1e cycle, ...

Le cours est sensé s'adresser aux novices complets. Le but est donc bien de le rendre le plus accessible possible.

Merci pour ces remarques toutes pertinentes au sujet du deuxième article. Dès que disponibles nous irons le retoucher avec @TheElectronWill et j'en tiens compte pour les futurs articles.

Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 13, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Co-authored-by: Guillaume Raffin <[email protected]>

Issue: NotANameServer#35
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 13, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 13, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 13, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 15, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
Equinox4 pushed a commit that referenced this issue Aug 15, 2022
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: #35

Co-authored-by: Guillaume Raffin <[email protected]>
@Iltotore
Copy link
Contributor Author

Je réouvre puisque de toute évidence l'issue a été fermée automatiquement et n'est pas terminée.

@Iltotore Iltotore reopened this Aug 16, 2022
@Julien00859
Copy link
Member

Julien00859 commented Aug 17, 2022

la prochaine fois, mettez "Related-To: #pr" ou "See also: #pr" ou (mieux) "Part-Of: #pr"

Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Aug 31, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 1, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 4, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 8, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 15, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 15, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 15, 2022
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue Sep 15, 2022
@Equinox4 Equinox4 linked a pull request Sep 16, 2022 that will close this issue
@Equinox4 Equinox4 linked a pull request Mar 4, 2023 that will close this issue
luc-git pushed a commit to luc-git/Not-a-Hub that referenced this issue Mar 6, 2023
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
luc-git pushed a commit to luc-git/Not-a-Hub that referenced this issue Mar 6, 2023
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
luc-git pushed a commit to luc-git/Not-a-Hub that referenced this issue Mar 6, 2023
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
luc-git pushed a commit to luc-git/Not-a-Hub that referenced this issue Mar 6, 2023
Introduction to variables and basic data types in Scala.
Assets memory-scheme.png and variable-scheme.png are named generically to allow reuse in other articles (e.g variables in another language)

Issue: NotANameServer#35

Co-authored-by: Guillaume Raffin <[email protected]>
Iltotore added a commit to Iltotore/Not-a-Hub that referenced this issue May 14, 2023
Equinox4 pushed a commit that referenced this issue May 14, 2023
@Equinox4 Equinox4 linked a pull request May 14, 2023 that will close this issue
@Iltotore
Copy link
Contributor Author

Cela a déjà été discuté sur Discord mais je pense quand même au moins faire fonctions et collections cette année pour boucler puis m'arrêter là sans aborder la POO ou la FP (ou du moins pas dans le cadre de cette "suite d'articles").

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Nouvel article Proposition de création d'un nouvel article
Projects
None yet
2 participants