d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Français > Dev Javascript
Prev123Next
Add Reply New Topic New Poll
Member
Posts: 9,837
Joined: Feb 20 2011
Gold: 4,815.00
Oct 16 2018 07:25am
Quote (Bromen @ Oct 16 2018 03:47am)
Lis "The Art of Computer Programming" de Donald Knuth, c'est la bible pour ça. C'est hyper bien écris, très clair, il n 'y a pratiquement aucune coquille .. Et puis Donald Knuth c'est vraiment LE gourou en la matière. Par contre il y a beaucoup de bouquins (5 volumes de 900p atm), donc faut cibler un peu ce que tu veux, mais les livres sont dans l'ordre à suivre pour apprendre. Je te les recommande chaudement.


Oui, j'en ai déjà entendu parler de ce bouquin.
J'vais jeter un oeil au tome 1.

J'me considère vraiment pas terrible en algo ni en math, ça reste accessible pour un noob ?

edit: Tu préconises ce genre de trucs pour s'améliorer ? https://www.codewars.com/

This post was edited by TaGueule on Oct 16 2018 07:44am
Member
Posts: 11,427
Joined: Dec 25 2010
Gold: 0.00
Oct 16 2018 08:11am
C'est pour quel usage ? C'est tellement large la programmation qu'entre celui qui dév des IA et celui qui dév un client lourd y'a juste rien à voir
Member
Posts: 9,837
Joined: Feb 20 2011
Gold: 4,815.00
Oct 16 2018 08:33am
Ouais je sais.

Je touche déjà un peu en développement et algo, c'pas la question.
C'est juste que comme j'ai appris tout ça en autodidacte sans réelle méthodologie, j'sens bien qu'il y a des points lacunaires. L'algorithmie en est un.

Atm, je revois l'entièreté du Javascript, bien tout capter: callstack, lexical scoping, controlling context, event loop, browser api etc.
Ca me semble être indispensable vu qu'il y avait pas mal de concepts que je ne connaissais même pas.

Après, justement, j'aimerais bien foutre un gros gros coup sur l'algo, histoire d'être un peu plus solide.
J'ai plus fait de math depuis une éternité, j'me suis plutôt renseigné sur des domaines dans les sciences sociales ces dernières années, j'sens que j'ai pas mal perdu.

Et puis après ça, une fois que j'aurai repris un peu confiance en moi à ce niveau là, j'compte attaquer le machine learning un peu sérieusement avec tensorflow ou une lib du genre.

This post was edited by TaGueule on Oct 16 2018 08:36am
Member
Posts: 11,427
Joined: Dec 25 2010
Gold: 0.00
Oct 16 2018 09:42am
Ben pour être honnête l'algo et le js ça va pas trop ensemble. Si tu veux t'améliorer en javascript, comme tu l'as dit faut bien maîtriser les notions connexes et pour ça c'est de la pratique plus que de la théorie. Perso je connais pas bien le js car même si je connais bien la théorie des langages j'ai très peu de pratique sur le DOM, XPath, les BDDs, les APIs, etc.

Et si tu veux vraiment t'améliorer en algo, un langage type Caml s'y prêterait beaucoup mieux
Member
Posts: 9,837
Joined: Feb 20 2011
Gold: 4,815.00
Oct 16 2018 09:59am
Quote (You2 @ Oct 16 2018 04:42pm)
Ben pour être honnête l'algo et le js ça va pas trop ensemble. Si tu veux t'améliorer en javascript, comme tu l'as dit faut bien maîtriser les notions connexes et pour ça c'est de la pratique plus que de la théorie. Perso je connais pas bien le js car même si je connais bien la théorie des langages j'ai très peu de pratique sur le DOM, XPath, les BDDs, les APIs, etc.

Et si tu veux vraiment t'améliorer en algo, un langage type Caml s'y prêterait beaucoup mieux


J'veux bien que t'élabores un peu plus là dessus parce que, pour moi, l'algorithmie ça n'a rien à voir avec un langage en particulier.
Si tu parles d'allocation de mémoire, compilateur, etc, c'est trop bas niveau pour moi et ça m'intéresse que très moyennement. (du moins pour l'instant)

Je t'avoue que j'ai vraiment bof envie d'apprendre un autre langage. J'me fixe un peu sur le JS et le Python là.

edit: Et JS ça tourne partout maintenant, plus juste dans le browser.

This post was edited by TaGueule on Oct 16 2018 10:07am
Member
Posts: 11,427
Joined: Dec 25 2010
Gold: 0.00
Oct 16 2018 05:44pm
Chaque langage de programmation permet effectivement d'implémenter des algorithmes mais ils ont tous leurs spécificités qui font qu'ils sont plus ou moins adaptés pour telle ou telle tâche.
Par exemple le C est très puissant et parfaitement adapté pour la programmation noyau mais beaucoup trop bas niveau pour faire un serveur web. Pour faire de l'IA, on cherchera un langage haut niveau orienté mathématiques comme Matlab.
Le javascript c'est conçu pour le web donc sauf surprise faudrait que tu implémentes une bibliothèque entière pour pouvoir faire de l'IA. Si tu connais le python c'est beaucoup plus pratique car t'as pas mal de bibliothèques qui implémentent des fonctions d'algèbre linéaire comme NumPy.

This post was edited by You2 on Oct 16 2018 05:48pm
Member
Posts: 9,837
Joined: Feb 20 2011
Gold: 4,815.00
Oct 16 2018 07:02pm
Quote (You2 @ Oct 17 2018 12:44am)
Chaque langage de programmation permet effectivement d'implémenter des algorithmes mais ils ont tous leurs spécificités qui font qu'ils sont plus ou moins adaptés pour telle ou telle tâche.
Par exemple le C est très puissant et parfaitement adapté pour la programmation noyau mais beaucoup trop bas niveau pour faire un serveur web. Pour faire de l'IA, on cherchera un langage haut niveau orienté mathématiques comme Matlab.
Le javascript c'est conçu pour le web donc sauf surprise faudrait que tu implémentes une bibliothèque entière pour pouvoir faire de l'IA. Si tu connais le python c'est beaucoup plus pratique car t'as pas mal de bibliothèques qui implémentent des fonctions d'algèbre linéaire comme NumPy.


J'sais pas si t'as suivi un peu l'évolution de JS mais ça a quand même bien changé par rapport à il y a 5ans.
On est très très loin du front-end only et on voit pas mal de lib "poussées" se développer pour le javascript de part sa popularité. ( https://hackernoon.com/top-3-most-popular-programming-languages-in-2018-and-their-annual-salaries-51b4a7354e06 )
Un bête exemple qui en dit long, tensorflow la lib de google pour le machine learning (à la base en python) vient d'être implantée récemment en JS. ( https://js.tensorflow.org/ )

J'veux pas rentrer dans un débat sur les langages, on sait que ça mène à rien. Mais sans déconner, je pense que c'est le langage ad hoc si tu veux étudier le front-end (logique) mais que ça commence aussi à avoir sa petite réputation coté back-end via NodeJS.

Je serais curieux d'avoir l'avis de Bremen là dessus même si il est "trop pointu" pour mes ambitions.

https://static1.squarespace.com/static/58d20c79725e25b221549193/t/5acdf1b4f950b79e58555de1/1523446237428/

This post was edited by TaGueule on Oct 16 2018 07:06pm
Member
Posts: 30
Joined: Oct 15 2018
Gold: 0.00
Oct 16 2018 07:25pm
L'algorithmique t'apprends à créer de bons algos, à analyser leur complexité, à utiliser les bonnes structures de données et les bonnes méthodes sur ces structures, en faisant abstraction du language. Peu importe que tu fasses du matlab, du cobol ou du js au final, un algo c'est d'abord une logique que tu vas écrire sur un bout de papier par exemple. Ensuite tu peux l'implémenter, peu importe le langage. L'algo je trouve ça vraiment fondamental pour un développeur, peu importe ce qu'il fait, pour plusieurs raisons:

1 - ça te permet de comprendre comment marche une liste, une pile, un tas, un graphe, un arbre, les algos que tu peux faire sur ces structures, leur complexité ... Des structures de données qui sont partout, dans n'importe quel langage.
2 - ça t'apprends à t'émanciper des libraries toutes faites, souvent difficiles a truster en général, en plus d'être mal codées et du coup d'avoir des performances complétement intolérables.
3 - tu apprends (et c'est le plus important) a faire des algos efficaces (et beaux du coup ;) ) qui utilise les ressources qu'il faut, ni trop, ni pas assez. Ca se traduit par du code plus léger, plus facile à comprendre en général et plus performant.

Après il y a plein d'autres aspects qui ne t'intéresseront surement pas (qui ne sont pas utiles pour faire uniquement du code en tout cas), du genre la théorie de la complexité, les machines de Turing ou les competitive ratio. Par contre, je pense que quel que soit le langage que tu veux pousser (particulièrement des pompes a ressources genre js), bien connaitre les structures de données que tu utilises, les opérations que tu peux faire dessus, les algos que tu peux produire avec, comment construire des algos efficaces et pas trop complexes, comment les algos connus sont ou peuvent être implémentés... C'est indispensable.
Donc tu ne perdras pas ton temps à faire de l'algo et le livre de Knuth se comprend très bien, pas besoin d'être une bête en maths ^^

This post was edited by Bromen on Oct 16 2018 07:26pm
Member
Posts: 11,427
Joined: Dec 25 2010
Gold: 0.00
Oct 16 2018 08:15pm
Quote (TaGueule @ Oct 17 2018 02:02am)
J'sais pas si t'as suivi un peu l'évolution de JS mais ça a quand même bien changé par rapport à il y a 5ans.
On est très très loin du front-end only et on voit pas mal de lib "poussées" se développer pour le javascript de part sa popularité. ( https://hackernoon.com/top-3-most-popular-programming-languages-in-2018-and-their-annual-salaries-51b4a7354e06 )
Un bête exemple qui en dit long, tensorflow la lib de google pour le machine learning (à la base en python) vient d'être implantée récemment en JS. ( https://js.tensorflow.org/ )

J'veux pas rentrer dans un débat sur les langages, on sait que ça mène à rien. Mais sans déconner, je pense que c'est le langage ad hoc si tu veux étudier le front-end (logique) mais que ça commence aussi à avoir sa petite réputation coté back-end via NodeJS.

Je serais curieux d'avoir l'avis de Bremen là dessus même si il est "trop pointu" pour mes ambitions.

https://static1.squarespace.com/static/58d20c79725e25b221549193/t/5acdf1b4f950b79e58555de1/1523446237428/

Ah ouais, j'étais pas à jour sur NodeJS, c'est kif-kif alors effectivement. Mais du coup, à quoi te sert le python ?
Member
Posts: 34,659
Joined: Nov 24 2008
Gold: 0.00
Oct 17 2018 12:39am
No hablos espanol
Go Back To Français Topic List
Prev123Next
Add Reply New Topic New Poll