Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4925 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4
Auteur Sujet :

Par quoi comencer ?

n°1639748
FlorentG
Posté le 09-11-2007 à 09:50:44  profilanswer
 

Reprise du message précédent :

MagicBuzz a écrit :

BASIC reste un langage comme un autre pour apprendre, et pas pire que le C. Tout dépend ensuite de l'apprentissage.


Et bah voilà, y'a rien d'autre à dire :jap:

mood
Publicité
Posté le 09-11-2007 à 09:50:44  profilanswer
 

n°1639749
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 09:52:43  profilanswer
 

MagicBuzz a écrit :

BASIC reste un langage comme un autre pour apprendre, et pas pire que le C. Tout dépend ensuite de l'apprentissage.


Le truc que t'as apparement raté, c'est qu'il existe maintenant des langages aussi bien adaptés à l'apprentissage sinon mieux et qui ont également la capacité de continuer à servir indéfiniment.

 

Le basic n'a donc plus d'intérêt.

Message cité 2 fois
Message édité par masklinn le 09-11-2007 à 09:52:59

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639750
FlorentG
Posté le 09-11-2007 à 09:57:29  profilanswer
 

masklinn a écrit :

Le truc que t'as apparement raté, c'est qu'il existe maintenant des langages aussi bien adaptés à l'apprentissage sinon mieux et qui ont également la capacité de continuer à servir indéfiniment.


Est-ce que tu pourrais nous faire une liste avec justification ? [:dawa] Ce serait cool

n°1639751
MagicBuzz
Posté le 09-11-2007 à 09:59:40  profilanswer
 

masklinn a écrit :


Le truc que t'as apparement raté, c'est qu'il existe maintenant des langages aussi bien adaptés à l'apprentissage sinon mieux et qui ont également la capacité de continuer à servir indéfiniment.
 
Le basic n'a donc plus d'intérêt.


Ca j'ai pas dit le contraire :p
D'ailleurs, dans mon post précédent, je dis que je n'approuve aucun des deux langages (C ou BASIC) pour apprendre, pour plusieurs raisons, et la principale, c'est qu'ils ont une syntaxe bien trop permissive.
 
Et je n'avais pas participé à ce topic avec cette intervention à propos des goto, parceque je n'ai pas de conseil à donner sur le choix d'un langage pour apprendre. Moi je trouve ADA très bien pour apprendre (logique, j'ai appris avec ça à la fac), mais il fait partie des langages qui une fois appris, sont vites oubliés car inconnus sur le marché ou presque.
 
Je conseillerais à la limite C# ou Java, mais je pense que c'est un bloc bien trop gros à gober pour débuter. L'intérêt pour moi du BASIC ou autres langages "scripts", c'est qu'on ne surcharge pas le code avec des instructions inutiles à l'algo (déclaration des types, fonction main, includes de lib standard, etc.).
 
Et débuter la programmation, c'est pour moi surtout apprendre à pondre un algo qui tiens la route et savoir le tester sans passer 3 jours à le transcrire. Et pour ça, je ne connais aucun langage vraiment accessible tout en restant un minimum propre.

n°1639769
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 10:18:34  profilanswer
 

FlorentG a écrit :


Est-ce que tu pourrais nous faire une liste avec justification ? [:dawa] Ce serait cool


Python

  • Créé en grande partie comme un langage éducationel, suite à ABC (GWR a bossé sur ABC et a considéré que c'était un échec)
  • Très haut niveau et concepts modernes, donc core language simple (y compris à apprendre) et petit, et lib standard étendue ("batteries included" ) permettant à l'élève d'étendre ce qu'il peut faire au fur et à mesure qu'il découvre la stdlib.
  • Multiparadigmes, permet au langage de suivre l'évolution de l'utilisateur et ne force pas un paradigme précis sur l'élève (scripting, impératif, fonctionnel, OO, on peut faire tout ça avec du Python)
  • Des masses de libs relativement bien documentées pour faire des choses intéressantes genre de la manip d'images (PIL) ou des jeux vidéos (PyGames)


Au final, python est suffisament simple pour qu'un enfant de 6 ans aidé de son père puisse l'apprendre tout en faisant des trucs sympas avec ( http://davidbau.com/archives/2005/ [...] world.html http://davidbau.com/archives/2005/ [...] essss.html http://davidbau.com/archives/2005/ [...] 2app.html)

MagicBuzz a écrit :

Je conseillerais à la limite C# ou Java


[:facepalm]

Message cité 1 fois
Message édité par masklinn le 09-11-2007 à 10:19:27

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639775
MEI
|DarthPingoo(tm)|
Posté le 09-11-2007 à 10:22:23  profilanswer
 

MagicBuzz a écrit :


Ca j'ai pas dit le contraire :p
D'ailleurs, dans mon post précédent, je dis que je n'approuve aucun des deux langages (C ou BASIC) pour apprendre, pour plusieurs raisons, et la principale, c'est qu'ils ont une syntaxe bien trop permissive.
 
Et je n'avais pas participé à ce topic avec cette intervention à propos des goto, parceque je n'ai pas de conseil à donner sur le choix d'un langage pour apprendre. Moi je trouve ADA très bien pour apprendre (logique, j'ai appris avec ça à la fac), mais il fait partie des langages qui une fois appris, sont vites oubliés car inconnus sur le marché ou presque.
 
Je conseillerais à la limite C# ou Java, mais je pense que c'est un bloc bien trop gros à gober pour débuter. L'intérêt pour moi du BASIC ou autres langages "scripts", c'est qu'on ne surcharge pas le code avec des instructions inutiles à l'algo (déclaration des types, fonction main, includes de lib standard, etc.).
 
Et débuter la programmation, c'est pour moi surtout apprendre à pondre un algo qui tiens la route et savoir le tester sans passer 3 jours à le transcrire. Et pour ça, je ne connais aucun langage vraiment accessible tout en restant un minimum propre.


Le pascal, incomparablement le language le plus proche de l'algo je pense.
 
Declaration dans un coin, instructions dans l'autre. Syntaxe avec de la semantique (if () then () else ())


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1639776
MagicBuzz
Posté le 09-11-2007 à 10:23:24  profilanswer
 

Arrête de citer 3 mots de ce que j'ai écrit (avec un smiley qui s'affiche pas en plus :o) alors que j'ai dis le contraire une ligne au dessus : j'ai pas de langage à conseiller pour apprendre, je n'en connais pas. Ces deux exemples sont uniquement parceque parmi les quelques que je connais, ce sont les plus adaptés, et c'est our ça que je n'avais pas participé au topic. :o

n°1639777
MagicBuzz
Posté le 09-11-2007 à 10:24:52  profilanswer
 

MEI a écrit :


Le pascal, incomparablement le language le plus proche de l'algo je pense.
 
Declaration dans un coin, instructions dans l'autre. Syntaxe avec de la semantique (if () then () else ())


A ce niveau, ADA surpasse encore la Pascal.
En fait, ADA est une compilation de "tout ce qui se faisait de mieu autour des années 70". Le Pascal n'y coupe pas ;)

n°1639781
Trap D
Posté le 09-11-2007 à 10:26:47  profilanswer
 

masklinn a écrit :


Je fais pas de prolog, donc c'est pas une masklinnerie :o


Ben tu devrais au moins essayer, si tu en as le temps, c'est intéressant comme mode de réflexion.

n°1639783
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 10:29:29  profilanswer
 

MEI a écrit :


Le pascal, incomparablement le language le plus proche de l'algo je pense.


Bof. Là encore, le monde a évolué depuis les années 80, et franchement pour avoir commencé mon apprentissage avec (le turbo pascal, même), ben beurk quoi...

MagicBuzz a écrit :

Arrête de citer 3 mots de ce que j'ai écrit (avec un smiley qui s'affiche pas en plus :o) alors que j'ai dis le contraire une ligne au dessus : j'ai pas de langage à conseiller pour apprendre, je n'en connais pas. Ces deux exemples sont uniquement parceque parmi les quelques que je connais, ce sont les plus adaptés, et c'est our ça que je n'avais pas participé au topic. :o


Ben dans ce cas t'en cites pas et tu donnes pas d'exemple, j'vois pas ce que ça a de compliqué...

MagicBuzz a écrit :

En fait, ADA est une compilation de "tout ce qui se faisait de mieu autour des années 70".


Jamais t'arrêtes [:petrus dei]

Trap D a écrit :


Ben tu devrais au moins essayer, si tu en as le temps, c'est intéressant comme mode de réflexion.


Ouais mais j'ai pas vraiment le temps (ou le courage), faut déjà que je me fasse une vraie appli en Erlang pour confirmer que je maitrise, que je me refasse une tentative d'apprentissage de Haskell, que je découvre Forth puis Factor et que je regarde enfin Common Lisp parce qu'il serait temps... :sweat:

Message cité 1 fois
Message édité par masklinn le 09-11-2007 à 10:30:16

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
mood
Publicité
Posté le 09-11-2007 à 10:29:29  profilanswer
 

n°1639784
sircam
I Like Trains
Posté le 09-11-2007 à 10:31:21  profilanswer
 

Quand j'avais 12 ans, c'était il y a longtemps, je faisais du BASIC sur Commodore 64. Je faisais des GOTOs car je ne savais pas que c'était le malle. De tte façon, on n'avait rien d'autre à l'époque. Internet n'existait même pas et j'étais content d'avoir un lecteur de disquette, parce que les autres n'avaient qu'un dataset.
 
Vers 16 ans, j'ai découvert l'assembleur, toujours sur C64. Les GOTO étaient remplacés par des JMP. C'était bien, de n'avoir que deux registres de 8 bits pour travailler. [:pingouino]
 
Arrivés aux études, en première, c'était algo et Pascal, considéré comme pas trop crade et bien orienté à usage didactique. On ne pouvait jamais utiliser de GOTO. J'appris que c'était le malle. L'exposition précoce au BASIC ne fut en rien nuisible.
 
Puis, au cours de langage d'assemblage, couramment appelé cours d'assembleur, on devait faire des GOTO en quelque sorte, et on nous disait qu'on n'avait pas le choix.  J'étais perplexe. [:pingouino]
 
On faisait des trucs crades en C et on s'élevait l'esprit avec PROLOG. C'était dur mais tellement bon.
 
Finalement, je fais du Java. Au début de ma carrière, je trouvais que c'était vraiment puissant, clair, trai bieng. Mais maintenant, j'ai vieilli et je trouve que c'est plus du Bondage & Discipline avec une bonne dose de perversion qu'autre chose. Un truc inventé pour avoir une sécurité d'emploi. Une supercherie. Finalement, je ne dénigre plus PHP. Une attitude nihiliste et pragmatique.
 
A présent, je repense à ma jeunesse et je regrette de ne pas avoir été concepteur de jeux sur Amiga. :/
 
Je me demande si je vais pas faire du Ruby ou du Python et arrêter les médicaments.
 
C'était 3615 My Life, Friday mood, merci de m'avoir écouté, ça fait du bien de partager.
 
[:pingouino]


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
n°1639789
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 10:38:43  profilanswer
 

sircam a écrit :

Quand j'avais 12 ans, c'était il y a longtemps, je faisais du BASIC sur Commodore 64. Je faisais des GOTOs car je ne savais pas que c'était le malle.


Ouais enfin fondamentalement c'est pas nécessairement "mal", ça peut être utile dans certaines situations habituellement très bas niveau, genre l'unroll error handling en C. Le problème c'est surtout que c'est très facile à mal utiliser et que ça rend difficile de raisonner à propos du code.
 
C'est pourquoi la majorité des langages modernes ont limité la portée des gotos à des choses facilement gérables et difficiles à abuser (continue et break, par exemple, ne sont rien de plus que des gotos vers la fin de la boucle ou son dehors)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639790
MagicBuzz
Posté le 09-11-2007 à 10:40:38  profilanswer
 

masklinn a écrit :


Jamais t'arrêtes [:petrus dei]


http://fr.wikipedia.org/wiki/Ada_%28langage%29
 
Et qu'est-ce qu'il faudrait que j'arrête ?
- Pour l'année, j'étais pas sûr. Et pourtant c'est ça.
- ADA a été inventé afin de remplacer "chaque langage connu de l'époque", dans une optique d'avoir un langage "parfait et unique". Dans l'article Wiki, ils disent qu'il repompe massivement la syntaxe du Pascal, mais y'a pas que ça, ADA introduit un tas d'autres choses absentes du Pascal mais présentes dans d'autres langages. :spamafote:
 
Franchement, argumente, parceque je ne vois pas ce que tu repproches à ce que j'ai dit :spamafote:

Message cité 1 fois
Message édité par MagicBuzz le 09-11-2007 à 10:41:43
n°1639797
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 10:50:01  profilanswer
 

MagicBuzz a écrit :

Franchement, argumente, parceque je ne vois pas ce que tu repproches à ce que j'ai dit :spamafote:


Que ADA est la compilation de "tout ce qui se faisait de mieux dans les années 70". Il n'a jamais été créé dans le but de replacer "chacun des langages connus à l'époque" ou d'avoir un langage "parfait et unique" ([:pingouino]), il a été créé avec les buts suivants et extrèmement spécifiques dans le cadre quasi-exclusif d'avoir un langage adapté aux besoins du DoD américain:

  • Haut niveau
  • Modulaire
  • Temps réel
  • Pouvant être utilisé pour des systèmes embarqués
  • Le plus sécurisé possible (puisqu'il était prévu dès le début qu'il soit utilisé pour l'avionique, les armements y compris nucléaires, les systèmes spatiaux, et en général des systèmes critiques dans lequel toute erreur peut provoquer des morts)


Plus globalement, le HOLWG avait pour but d'unifier la codebase du DoD dans un seul langage indépendant du matériel au lieu des centaines de langages, certains ne tournant que sur du matos obsolète et la pluspart ne permettant pas de coder modulairement ou efficacement, utilisés à l'époque au département.

 

Et avant Ada 95, il était pûrement impératif.


Message édité par masklinn le 09-11-2007 à 10:51:15

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639799
FlorentG
Posté le 09-11-2007 à 10:55:03  profilanswer
 

masklinn a écrit :


Python

  • Créé en grande partie comme un langage éducationel, suite à ABC (GWR a bossé sur ABC et a considéré que c'était un échec)
  • Très haut niveau et concepts modernes, donc core language simple (y compris à apprendre) et petit, et lib standard étendue ("batteries included" ) permettant à l'élève d'étendre ce qu'il peut faire au fur et à mesure qu'il découvre la stdlib.
  • Multiparadigmes, permet au langage de suivre l'évolution de l'utilisateur et ne force pas un paradigme précis sur l'élève (scripting, impératif, fonctionnel, OO, on peut faire tout ça avec du Python)
  • Des masses de libs relativement bien documentées pour faire des choses intéressantes genre de la manip d'images (PIL) ou des jeux vidéos (PyGames)

Je crois que tout est dit :jap: Je vais m'intéresser de près à ça. Je voulais faire un soft qui affiche les données du profiler xDebug en C#, mais je me demande si je vais pas recommencer en python, ce serait un bon exercice pour piger le langage [:petrus75]

n°1639804
MagicBuzz
Posté le 09-11-2007 à 10:56:56  profilanswer
 

Il avait quand même pour but de devenir le langage unique utilisé par l'armée américaine, et donc remplacer chacun des 500 langages utilisés par cette dernière à ce moment.
 
A partir de là, il fallait bien qu'il sâche faire d'une manière ou d'une autre ce que permettaient les autres langages (enfin, ça me semble évident).

n°1639859
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 11:35:31  profilanswer
 

MagicBuzz a écrit :

Il avait quand même pour but de devenir le langage unique utilisé par l'armée américaine, et donc remplacer chacun des 500 langages utilisés par cette dernière à ce moment.

 

A partir de là, il fallait bien qu'il sâche faire d'une manière ou d'une autre ce que permettaient les autres langages (enfin, ça me semble évident).


Et donc? Le truc que t'as pas l'air de percevoir, c'est que le DoD n'utilisait pas tous les langages existants, et n'utilisait pas les meilleurs pour certaines valeurs de meilleur. À l'époque chaque créateur de hardware créait son petit langage dans son coin (ou tout du moins sa variante propriétaire d'un langage existant, incompatible avec les autres), parfois ses avec un langage différent pour chaque nouvelle machine ou lignée de machine, et ça c'est sans même considérer les différents assembleurs. Donc avoir 500 langages différents, pour un département aussi gigantesques que le DoD, c'était pas d'une grande difficulté.

 

Cette source de création d'Ada (l'unification des langages), c'est exactement la même que l'origine du C.


Message édité par masklinn le 09-11-2007 à 11:37:04

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639895
MagicBuzz
Posté le 09-11-2007 à 11:51:17  profilanswer
 

Ouais, nan mais ça je suis bien d'accord.
Ce que je voulais dire dans mon post par "tout ce qui se faisait de mieux", c'est que ADA ne se contente pas de la syntaxe sympatique du Pascal, mais reprend nombre de qualités d'autres langages (et pour cette raison, je le qualifie de suppérieur à Pascal, puisqu'il n'en reprend que les points positifs, et remplace ses défauts par des points positifs trouvés dans d'autres langages).
 
Après "ce qu'il se fait de mieux", c'est effectivement un abus de langage, mais c'est pas la peine non plus de prendre chaque mot au pied de la lettre, t'es pas un compilateur non plus, tu sais interpréter logiquement. M'enfin de toute façon c'est absolument impossible. Même Phyton par exemple, ne peux en aucun cas reprendre tout ce qui se fait de mieux partout, rien que parceque le mieux, c'est mieux dans un contexte, pas forcément dans tous les cas.
 
Pour reprendre le débat du début de la page, le GOTO et les pointeurs sont deux excellents exemple : un langage qui est dépourvu de ces deux notions va exposer des défauts (impossible de sortir d'une boucle en cours de route, impossible de faire un arbre en mémoire, etc.), tout en évitants les défauts de ces deux notions (bordelisation générale du code).
 
Après, je connais pas Phyton, mais en C# par exemple, on trouve des compromis sur le cas des pointeurs et des GOTO : utilisation de références au lieu des adresses directement (donc pas d'accès en mémoire hasardeux), et présence de break, continue ou return afin de maîtriser la portée des GOTO. Mais pour des besoins spécifiques, cela ne suffit pas toujours, en ce qui concerne l'optimisation principalement : sortir de boucles imbriquées va nécessiter une batterie de tests supplémentaires inutiles par exemple, aller à un noeud précis d'une liste chaînée va nécessiter de parcourir toute la chaîne depuis un bout alors qu'avec un pointeur (si on est sûr de son coup) on a juste à appliquer un offset au pointeur, etc.
Et je ne parle pas des langages de conception totalement différentes de la programmation séquencielle/procédurale. LISP si je ne m'abuse, n'a rien en commun avec un langage tel que le C ou l'ADA et il est surréaliste d'espérer pouvoir intégrer le mode de fonctionnement de l'un dans l'autre. A partir de là, évidement "compilation de tout ce qui se fait de mieux" est un abus de langage.
Ca veut juste dire que pour le périmètre défini par le cahier des charges d'ADA, ce dernier va repomper les concepts le plus intéressants des autres langages de l'époque.


Message édité par MagicBuzz le 09-11-2007 à 11:55:13
n°1639953
omega2
Posté le 09-11-2007 à 12:12:45  profilanswer
 

Masklinn > En Python, on peut faire facilement des interfaces graphiques de manière standard quelque soit l'OS?

n°1639957
FlorentG
Posté le 09-11-2007 à 12:13:44  profilanswer
 

omega2 a écrit :

Masklinn > En Python, on peut faire facilement des interfaces graphiques de manière standard quelque soit l'OS?


Y'a un port de wxWidget je crois

n°1639961
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 09-11-2007 à 12:16:07  profilanswer
 

FlorentG a écrit :


Y'a un port de wxWidget je crois


wxWindows, pyQT, pyGTK, Winforms avec IronPython....

n°1639971
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 12:20:50  profilanswer
 

Harkonnen a écrit :


wxWindows, pyQT, pyGTK, Winforms avec IronPython....


Voilà, et même si c'est pas bien beau CPython inclus Tk en standard (IDLE est fait en Tk), et Tk ça tourne partout

 

edit: et puisque Harko parle des winforms, il y a aussi un bridge Cocoa sous OS X, avec intégration à Interface Builder depuis 10.5


Message édité par masklinn le 09-11-2007 à 12:21:33

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1639975
omega2
Posté le 09-11-2007 à 12:23:37  profilanswer
 

Harkonnen > Ok, donc finalement, c'est aussi bordélique qu'en C/C++ vu le nombre de bibliothèques graphiques disponibles. ;)
Vivement qu'un langage permette de passer d'une librairie à l'autre de manière transparente en changeant juste un réglage.
 
PS : Je sais bien que ça nécessiterait énormément de boulot vu le nombre de différences entre ces librairies et le fait que certains fonctionnalités qui ne sont présentes que dans certaines d'en elles.

Message cité 1 fois
Message édité par omega2 le 09-11-2007 à 12:24:15
n°1639992
gzii
court-circuit
Posté le 09-11-2007 à 12:29:49  profilanswer
 

Ca me semble même impossible, sinon le langage briderait ses possibilités d'extension.

n°1640014
omega2
Posté le 09-11-2007 à 12:43:59  profilanswer
 

gzii > D'un autre côté, est ce qu'on a vraiment besoin d'avoir 5 moyens différents de faire une fenêtre? Même s'ils standardisent tout ce qui peut l'être ça n'empêcherait pas de rajouter la lecture de widget par telle ou telle librairie.
En fait, quand j'y pense c'est un des reproches fait à php : le fait d'avoir de nombreuses fonctions qui servent à la même chose avec juste de petites différences entre les deux.

n°1640018
gzii
court-circuit
Posté le 09-11-2007 à 12:50:12  profilanswer
 

Non là ce sont des bibliothèques différentes. Bloquer ça veut dire qu'on n'en autoriserait qu'une.
Maintenant tu peux toujours choisir ce que tu ajoutes, et si tu n'en veux qu'une tu prends celle qui te convient.

n°1640031
omega2
Posté le 09-11-2007 à 13:01:22  profilanswer
 

Je sais bien que c'est des bibliothèques différentes mais à l'arrivé, on se retrouve quand même avec 5 façons de faire une fenêtre, des boutons, etc et ce même si elles ont chacune des éléments que les autres non pas ou qu'elles n'ont pas la même philosophie. Même si c'est pour prôner la liberté on se retrouve quand même avec une grosse redondance à l'arrivée.
Entre nous, quand on se retrouve face à un tel choix, comment choisir la librairie à utiliser? Personnellement, je ne trouve pas ça encourageant quand je jettes un oeuil sur un langage et que la première chose que je découvre, c'est qu'il me faudra un mois pour tester plusieurs librairies dont le but est identique et ce juste pour savoir laquelle me conviendra le mieux.

n°1640049
Shinuza
This is unexecpected
Posté le 09-11-2007 à 13:19:28  profilanswer
 

MagicBuzz a écrit :

Je conseillerais à la limite C# ou Java, mais je pense que c'est un bloc bien trop gros à gober pour débuter.


Non mais, même pas à la limite, arrête tes conneries  [:pingouino]


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°1640067
gzii
court-circuit
Posté le 09-11-2007 à 13:34:13  profilanswer
 

omega2 a écrit :

Je sais bien que c'est des bibliothèques différentes mais à l'arrivé, on se retrouve quand même avec 5 façons de faire une fenêtre, des boutons, etc et ce même si elles ont chacune des éléments que les autres non pas ou qu'elles n'ont pas la même philosophie. Même si c'est pour prôner la liberté on se retrouve quand même avec une grosse redondance à l'arrivée.
Entre nous, quand on se retrouve face à un tel choix, comment choisir la librairie à utiliser? Personnellement, je ne trouve pas ça encourageant quand je jettes un oeuil sur un langage et que la première chose que je découvre, c'est qu'il me faudra un mois pour tester plusieurs librairies dont le but est identique et ce juste pour savoir laquelle me conviendra le mieux.


 
Tu peux préférer un langage fermé, géré par une personne plutôt qu'un langage qui laisse à quiconque la possibilité de lui en ajouter.
C'est un peu comme les jeux video, certains sont fermés, d'autres ouverts aux mods et dans ce cas on trouve de tout, de très bonnes choses et de moins bonnes.
Avec internet on a quand même un gros avantage : On peut facilement être conseillé (même s'il s'ensuit parfois un débât étonnant :lol: ).
Je pense que la seconde solution est par conséquent plutôt profitable.


Message édité par gzii le 09-11-2007 à 13:35:57
n°1640089
MagicBuzz
Posté le 09-11-2007 à 13:55:49  profilanswer
 

omega2 a écrit :

gzii > D'un autre côté, est ce qu'on a vraiment besoin d'avoir 5 moyens différents de faire une fenêtre? Même s'ils standardisent tout ce qui peut l'être ça n'empêcherait pas de rajouter la lecture de widget par telle ou telle librairie.


Je suis d'accord.
A l'image de DirectX pour faire abstraction du matériel, il ne serait pas incrongru je pense de faire une lib d'abstraction de toutes ces libs.
En plus, cela permettrait une meilleure intégration du même logiciel compilé.
 
Par exemple, il existe sous Windows des libs GTK.
Par simple configuration de la couche d'abstraction, on pourrait parfaitement choisir d'utiliser GTK ou WinForms pour faire le rendu, de la même façon qu'on peut choisir sur quelle carte graphique faire le rendu avec une application Direct3D, sans avoir besoin de recompiler le programme ou réinstaller DirectX.


Message édité par MagicBuzz le 09-11-2007 à 13:57:55
n°1640093
MEI
|DarthPingoo(tm)|
Posté le 09-11-2007 à 13:59:25  profilanswer
 

Ouai faut faire du MVC.
Mais bon si c'est pour faire du .NET multiplateforme autant direct rester en GTK.

Message cité 1 fois
Message édité par MEI le 09-11-2007 à 14:00:48

---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1640111
MagicBuzz
Posté le 09-11-2007 à 14:23:54  profilanswer
 

Donc, je viens d'installer Quick Basic 7.1 (sous Vista, c'est sportif arf)
 
Et donc :

Code :
  1. DECLARE SUB toto (var!)
  2. CLS
  3. FOR i = 1 TO 10
  4.  CALL toto(i)
  5. NEXT i
  6. SUB toto (var)
  7.   PRINT "hihi" + STR$(var)
  8. END SUB


 
Il est où le GOTO ?

n°1640112
MagicBuzz
Posté le 09-11-2007 à 14:25:13  profilanswer
 

MEI a écrit :

Ouai faut faire du MVC.
Mais bon si c'est pour faire du .NET multiplateforme autant direct rester en GTK.


(j'ai du me perdre en route mais... on parlait pas de Python à la base ?)


Message édité par MagicBuzz le 09-11-2007 à 14:58:01
n°1640114
MEI
|DarthPingoo(tm)|
Posté le 09-11-2007 à 14:26:31  profilanswer
 

Bah euh Windows Forms c'est du .NET einh. Alors bon si tu commence a utiliser du .NET pour Windows et GTK pour le reste c'est pareil j'vois pas l'interet alors que GTK est multiplateforme. :D


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1640126
MagicBuzz
Posté le 09-11-2007 à 14:41:57  profilanswer
 

C'est justement pour ça que je parle d'une lib d'abstraction des modules installés.
 
En gros, dans ton application Python, t'as un unique moduble visible, qu'on va appeler par exemple PyForms.
 
Il met à disposition un ensemble de contrôle forms génériques : fenêtres, boutons, grilles de données, etc. exposant les fonctionnalités habituelles.
En plus, pour chaque fonctionnalité/contrôle, il expose un "IsSupported", qui permet de vérifier que la machine permet de l'utiliser. Ainsi, par exemple, mettons que GTK n'a pas de contrôle "Calendrier", tu recevras à l'exécution un IsSupported = false, t'indiquant que tu dois proposer autrechose, alors qu'avec WinForms, il sera à true.
 
Ensuite, cette lib d'abstraction s'occupe de rechercher le système de forms installé préféré sur le machine cliente (donc à priori WinForms sous, GTK sous X-like et Cocoa sous OSX par exemple). Ce choix devrait pouvoir être forcé par un fichier de paramètre de la lib d'abstraction, ou dynamiquement durant l'exécution, à la faction des device DirectX.
 
Donc toi, dans ton code, tu te poses pas la question de savoir si le gars utilise GTK, Cocoa ou WinForms. Tu dessines juste tes contrôles en utilisant cette lib d'abstraction.
 
Et au moment de l'exécution, le système de rendu choisi est utilisé.
 
Ainsi, dans ton code, t'as une référence à une unique lib, ce qui permet d'utiliser le même programme compilé avec différentes sorties, et ne nécessite pas de modification substancielles si on désire utiliser un autre module pour la GUI.
 
En tout cas, c'est bien le rôle initial de DirectX : faire enfin abstraction des instructions propriétaires de Matrox, 3DFX ou Intel, mais aussi pour les cartes sons, des AdLib, Sound Blaster ou autres. Toi tu dis juste que tu veux jouer un son, ou dessiner un cuble à l'écran, et DirectX s'occupe d'expliquer ça calmement au drivers de ton matériel, sans que tu doives prévoir un binaire différent pour chaque combinaison de matériel existant (s'était le cas avec les premiers jeux 3D, où il existait souvent 3 versions : une avec un rendu software uniquement, une avec un rendu Matrox, et une avec un rendu 3DFX)

Message cité 1 fois
Message édité par MagicBuzz le 09-11-2007 à 14:54:01
n°1640130
MEI
|DarthPingoo(tm)|
Posté le 09-11-2007 à 14:51:54  profilanswer
 

Hum... en gros c'est SWING en Java quoi. :D


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
n°1640132
MagicBuzz
Posté le 09-11-2007 à 14:53:33  profilanswer
 

Euh, oui, après je connais pas les noms de ce genre d'implémentations, d'autant sous Java que je ne connais pas ;)
 
C'est juste une idée comme ça pour pallier au problème inhérant à la présence de libs multiples pour gérer X interfaces graphiques ;)
 
Ceci dit, pour Java...
Il sait utiliser les contrôles natifs de Windows ?
 
J'ai toujours vu Java tourner avec des contrôles tous moches issus de SunOS des années 80... Je croyais que la machine virtuelle disposait de son propre environnement graphique :)
SWING c'est ça ou un truc en plus ?

Message cité 1 fois
Message édité par MagicBuzz le 09-11-2007 à 14:55:35
n°1640135
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 14:57:05  profilanswer
 

MagicBuzz a écrit :

C'est justement pour ça que je parle d'une lib d'abstraction des modules installés.
 
En gros, dans ton application Python, t'as un unique moduble visible, qu'on va appeler par exemple PyForms.
 
Il met à disposition un ensemble de contrôle forms génériques : fenêtres, boutons, grilles de données, etc. exposant les fonctionnalités habituelles.
En plus, pour chaque fonctionnalité/contrôle, il expose un "IsSupported", qui permet de vérifier que la machine permet de l'utiliser. Ainsi, par exemple, mettons que GTK n'a pas de contrôle "Calendrier", tu recevras à l'exécution un IsSupported = false, t'indiquant que tu dois proposer autrechose, alors qu'avec WinForms, il sera à true.


T'as pas l'air de réaliser que c'est exactement le principe de wxWindows...


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1640142
MagicBuzz
Posté le 09-11-2007 à 14:59:05  profilanswer
 

masklinn a écrit :


T'as pas l'air de réaliser que c'est exactement le principe de wxWindows...


Ben j'ai dit, je connais pas :p
 
Mais alors pourquoi y'a toutes les autres libs ? Elles devraient être inutiles non ?

n°1640148
masklinn
í dag viðrar vel til loftárása
Posté le 09-11-2007 à 15:04:13  profilanswer
 

MagicBuzz a écrit :


Ben j'ai dit, je connais pas :p

 

Mais alors pourquoi y'a toutes les autres libs ? Elles devraient être inutiles non ?


Pourquoi ya une demi douzaine de SGBD principaux et des dizaines de langages de prog?

 

Peut-être, mais nous parlons ici au conditionnel, parce que les gens ne sont pas tous identiques?

Message cité 1 fois
Message édité par masklinn le 09-11-2007 à 15:04:55

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°1640151
MEI
|DarthPingoo(tm)|
Posté le 09-11-2007 à 15:05:58  profilanswer
 

MagicBuzz a écrit :

Euh, oui, après je connais pas les noms de ce genre d'implémentations, d'autant sous Java que je ne connais pas ;)
 
C'est juste une idée comme ça pour pallier au problème inhérant à la présence de libs multiples pour gérer X interfaces graphiques ;)
 
Ceci dit, pour Java...
Il sait utiliser les contrôles natifs de Windows ?
 
J'ai toujours vu Java tourner avec des contrôles tous moches issus de SunOS des années 80... Je croyais que la machine virtuelle disposait de son propre environnement graphique :)
SWING c'est ça ou un truc en plus ?


En fait en java y'a AWT / SWT / SWING. Et en Swing tu peut choisir ton theme. Et si tu prends le theme de ton OS en principe c'est en partie en natif. Sinon pour avoir du vrai natif t'as AWT. Mais AWT le pb c'est que y'a moins de composant du coup.


---------------
| AMD Ryzen 7 7700X 8C/16T @ 4.5-5.4GHz - 64GB DDR5-6000 30-40-40 1T - AMD Radeon RX 7900 XTX 24GB @ 2680MHz/20Gbps |
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : Par quoi comencer ?


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)