PDA

Afficher la version complète : Quoi apprendre et comment



adminlinux
24/11/2005, 23h19
Bonsoir,

J'aimerais aprendre autre chause que du bash shell afin de pouvoir déveloper des aplis pour KDE, mais je connais rien dans le domaine et j'aimerais savoir quoi utilisé ou aprendre a utilisé etc...

Merci.

galagann
25/11/2005, 01h03
Déjà, il faut savoir ce que tu voudrais exactement faire, avoir un but !

Parce que, il y a le language de programmation, le logiciel de développement, le compilateur...

adminlinux
25/11/2005, 01h46
Ben j'aimerais créer des aplication qui utilise des commande bash mais visiblement c'est fesable avec kommander, mai je sais pas comment....

offworld
25/11/2005, 01h50
Tu peux commencer par l'orthographe.

Fedorateur
25/11/2005, 10h56
C'est vrai que le français est un langage de programmation comme un autre...

alexmic
25/11/2005, 11h43
AH QUAND MÊME MERCI !

C'est vrai quoi! c'est incroyable de voir des petits génies de l'informatique qui scriptent voire programment et compilent sans faire la moindre faute de syntaxe mais sont incapables de rédiger deux mots sans y laisser une faute!

C'est tellement enervant!

Désolé Adminlinux c'est pas de l'acharnement, mais comprends-tu mon point?

Pour ta réponse j'entend de plus en plus de bien de python qui semblet être très puissant (mais un peu lourd), facile d'accès et qui permet entre autres de faire des GUI sous KDE sans trop de pépins...

Pour commencer va regarder par là.
http://primates.ximian.com/~sandino/python-glade/ (simple)
http://dosimple.ch/articles/Python-PyQt/ ‘simple aussi (voire plus simple encore)
ftp://ftp-developpez.com/python/cours/Tut...ython_notes.pdf (ftp://ftp-developpez.com/python/cours/TutoSwinnen/fichiers/python_notes.pdf)


Certains auront beau jeu de relever mes fautes dans ce message, mais bon... cé là vi!

tralala
25/11/2005, 12h50
Tout à fait d'accord ! L'orthographe est la première chose à apprendre !

Sinon, sans être rabat-joie, avant d'apprendre un langage, il est peut
être important d'apprendre à programmer (c'est à dire l'algorithmie).
Ca peut être utile. Cela dit, les 2 peuvent se faire en même temps...

Pour commencer facile, y'a le PHP. Je trouve ça pratique et pas trop
de contraintes.

Vincent

adminlinux
25/11/2005, 14h33
En réponces a vos allusion de l'orthographe, je vous rappel que je suis dyslexique qui a mon niveau est pris comme un endicap

Je trouve dommage que vous vous moqué de personne endicapé.

Pour la pragrammaion il est vrais que je vais aucune fautes de syntaxe....

Merci a l'avenir de plus me rappeler que je suis endicapé, car je le suis encore plus par vos remarque dégradente...

http://membres.lycos.fr/lemarquepage/scien...slex/dyslex.htm (http://membres.lycos.fr/lemarquepage/science/rencontr/2dyslex/dyslex.htm)

offworld
25/11/2005, 15h52
Tu m'escusera mais je ne crois pas l'avoir vu dans ton profil.
Si tu confond des lettres entre elle comment compte tu programmer?
Meme s'il n'y as pas d'erreur de syntaxe, les interfaces graphique contiennent beaucoup de mots.

Asimov
02/12/2005, 20h38
Et bien cela dépend de la nature de ce que tu veux faire: Python est bon langage, mais personnellement je ne raffole pas de l'idée que l'indentation soit d'une importance critique. Personnellement, je me tournerai plutôt vers ruby, ne pas avoir à faire de déclaration de type, réduit des le départ tes chances de faire des fautes de frappe.

L'interface sous KDE n'est pas encore complet mais cela devrait arrivé bientôt. Bien que python soit un brin plus performant que ruby pour l'instant, ce n'est pas un langage complet contrairement à ruby. Ruby supporte les threads!!!! . Il y a donc moi de chance d'être bloqué par les limites du langage

Niveau interface, je favorise FXRuby plutot que KDE, car il fonctionne sous Linux, Windoze et Mac.

Mais il y a un bémol au sujet de Ruby, la documentation en français est rare et même en anglais sur internet, tu devras te procurer des bouquins. Mais cela va changé bientôt, je travail sur un site francophone...

Si le web t'intéresse, il y a PHP qui est très bien et c'est possible de faire des applications avec PHP-GTK, et comme Ruby, c'est un langage élégant ( on peut faire du code sans trop de commentaire ....)

S'il n'y que Linux qui t'intéresse, tu pourrais jeté un coup d'oeil à GAMBAS. C'est une espèce de visual basic. Le basic n'est surement pas l'invention du siècle, mais on peut faire de pas mal de chose sans trop d'effort.

Autre type de langage qui pourrait t'intéressé: prolog, niveau interface c'est réduit: Dialog, Kdialog...
Mais niveau puissance, quand tu possède le langage, tu peux faire des chose très complexe en très peu de ligne. Si j'en avais le temps, je me ferais un système d'exploitation en conservant le noyeau de linux mais en balancant tous ce qui dépend du shell pour le remplacé par du prolog. Comme Prolog est LE langage en intelligence artificiel..... http://www.alionet.org/style_emoticons/<#EMO_DIR#>/cool.gif

Bonne recherche http://www.alionet.org/style_emoticons/<#EMO_DIR#>/wink.gif

abgech
02/12/2005, 21h43
... mais personnellement je ne raffole pas de l'idée que l'indentation soit d'une importance critique. ...[/b]
Je ne partage absolument pas ton avis. Quel que soit le langage (structuré), l'indentation apporte un effet visuel à la logique du traitement, et, de ce fait, me paraît indispensable.

<div class='quotetop'>Citation (Asimov @ 2/12/2005 à 19:38) <{POST_SNAPBACK}> (index.php?act=findpost&pid=65810)</div>
Autre type de langage qui pourrait t'intéressé: prolog, niveau interface c'est réduit: Dialog, Kdialog...
Mais niveau puissance, quand tu possède le langage, tu peux faire des chose très complexe en très peu de ligne. Si j'en avais le temps, je me ferais un système d'exploitation en conservant le noyeau de linux mais en balancant tous ce qui dépend du shell pour le remplacé par du prolog. Comme Prolog est LE langage en intelligence artificiel..... http://www.alionet.org/style_emoticons/<#EMO_DIR#>/cool.gif[/b]

De nouveau, pas d'accord avec toi. Prolog est un paradigme de programmation (programmation en logique) totalement différent de la programmation structurée (encore plus différent que la programmation objet), alors je ne pense pas que se soit un bon moyen de s'initier aux langages usuels.
Quand à faire de la programmation système en Prolog ... C'est un langage interprété (on peut difficilement en envisager un compilateur) et comme tel, très peu performant en terme de rapidité et de place mémoire. Cela dit, intellectuellement, très séduisant.

Pour moi, le meilleur langage d'apprentissage de la programmation reste le Pascal (il a été conçu pour ça). Et, mieux encore, pas de langage du tout: l'étude l'algorithmique et le pseudo-code (schéma de programme). Je n'ai pas enseigné l'algorithmique en école d'ingénieurs pendant plus de vingt ans pour rien.

Mais il ne faut pas s'y tromper, la programmation est un métier ! Il y a un abime entre le passionné qui écrit quelques lignes de code en se faisant plaisir (et qui a bien raison de le faire) et le professionnel qui écrit, par exemple, le code commandant les gouvernes de l'airbus 380 ! Ce n'est pas pour rien qu'un bon programmeur temps réel, de niveau ingénieur, n'est que rarement au chômage.

Asimov
03/12/2005, 19h17
abgech

>>> La programmation est métier.

D'accord avec toi sur ce point, mais seulement sur ce point...

Avec un pseudo comme ADMINLINUX, j'ai pas l'impression que c'est le métier de programmeur, qui le branche. J'ignore pourquoi, j'ai plutôt l'impression que c'est l'administration de réseaux et de serveurs qu'il a en tête. J'ignore ce qui me donne cette impression ....http://www.alionet.org/style_emoticons/<#EMO_DIR#>/rolleyes.gif

Le point que je soulevais au sujet de Python. L'indentation dans ce langage est crucial. Un programme en Python mal édenté ne fonctionne pas ! http://www.alionet.org/style_emoticons/<#EMO_DIR#>/mad.gif

Le Pascal est un bon langage d'apprentissage mais à toute fin pratique mort, par manque de standard. Et comme on peut transcrire relativement facilement un programme en Pascal en Ruby.
Et que dans ce langage, il y a moyen d'avoir interface graphique portable. Ma suggestion reste approprié...http://www.alionet.org/style_emoticons/<#EMO_DIR#>/bleble.gif

Vraisemblament tes informations sur Prolog ne sont pas à jour. Prolog est en un langage compilable (ref: swi-prolog). En fait la plupart des implantations commercials ont pris la même approche que les créateurs de Java: les micro-instructions et dans le cas de Swi-Prolog la compilation est faite en langage machines. Donc au niveau performance n'a rien à envier à Java dans la plupart des cas....http://www.alionet.org/style_emoticons/<#EMO_DIR#>/bleh.gif

Et peut-être un meilleur substitut au PHP sur un serveur. Prolog a toujour été négligé pour ces limites en terme d'affichage. Mais sur internet son handicap devient insignifiant.

Certe Prolog n'est pas un langage idéal pour s'initier au langage usuel. Mais justement ce que qui rend l'approche à Prolog difficile, c'est que les programmeurs sont initiés à ce langage après avoir été contaminé par les langages usuels. On peut faire de la programmation structuré en Prolog, mais meilleureusement la plupart des gens qui l'enseigne ont plutôt tendance à cacher ou à ignoré cet aspect. Ce qui est bien dommage car dans Prolog la gestion des exceptions est de beaucoup supérieur à la plupart des langages usuels (et avec des risque de crash pratiquement nul...).
Bref on peut faire de la programmation procédural avec un langage déclaratif. Mais difficilement de la programmation logique avec un langage procédural.

Mais pour revenir à la raison que je mentionnais Prolog, c'est que c'est un langage formidable pour faire des Batch Files.

abgech
03/12/2005, 21h13
Vraisemblament tes informations sur Prolog ne sont pas à jour. Prolog est en un langage compilable (ref: swi-prolog). En fait la plupart des implantations commercials ont pris la même approche que les créateurs de Java: les micro-instructions et dans le cas de Swi-Prolog la compilation est faite en langage machines. Donc au niveau performance n'a rien à envier à Java dans la plupart des cas....http://www.alionet.org/style_emoticons/<#EMO_DIR#>/bleh.gif[/b]
Java ne me paraît pas être le meilleur exemple, et de loin, de très très loin, en matière de performances. Il est vrai que je suis un peu contaminé par mon vêcu professionnel: la programmation temps réel. Il est vrai que mes connaissance de Prolog remontent à quelques années, mes langages de choix (pour développer effectivement, pas pour apprendre): le C, parce que l'on peut faire petit, tout petit et très efficace, pratiquement aussi bien qu'en assembler mais programmé plus rapidement. Ada, parce qu'en avionique, c'est pratiquement le seul langage admis (pour des raison de sécurité, prolog formellement interdit, à cause des allocations dynamiques) si l'on veut espérer voir son logiciel certifié.
Ada, par sa rigueur, peut être un bon candidat pour un langage d'apprentissage, à condition d'éliminer certains aspects un peu plus complexes comme, par exemple, le multi-tâches, mais alors, on se retrouve plus ou moins à programmer en Pascal, mais en plus rigoureux. Il existe un compilateur GNU ADA, disponible sur les distributions SuSE.
Une longue expérience d'enseignement me fait dire que Prolog n'est certainement pas un bon choix, trop spécialisé. C'est un peu comme si je disais d'apprendre à programmer ave APL, même si APL est un langage merveilleux pour un matheux.

ganaga
04/12/2005, 03h49
Java ne me paraît pas être le meilleur exemple, et de loin, de très très loin, en matière de performances. Il est vrai que je suis un peu contaminé par mon vêcu professionnel: la programmation temps réel.[/b]

Java est un très beau langage mais niveau performances, il reste du travail (non compilé on s'entend) ! Cependant le java temps réel commence à faire son apparition petit à petit.

Asimov
04/12/2005, 23h28
Le Prolog n'est pas un langage hyper-spécialisé, mais est perçu de cette façon. Comme je l'ai mentionné, il peut remplacé le PHP sans dégration de performance, mais de plus il peut remplacé avantageusement une base de donnée SQL dans beaucoup de cas.

De votre perspective de programmeur, ête-vous impressionné par les performances des moteurs de recherches (Google et co..) que vous rencontrez sur internet? Moi pas. Le volume des données manipulés est gigantesque, mais en terme de finesse, cela laisse généralement à désirer. Même lorsqu'on utilise les outils spécialisés. Et des moteurs de recherche sur la plupart de forum... Pour la plupart, je les trouve pratiquement inutilisable.

Je vous inviterai à revoir vos vieux manuels de Prolog pour vous rappelez ce que Prolog peut faire et gardez à l'esprit qu'un serveur HTTP ne manipule pratiquement que des chaîne de caractère!!

Moi ce que j'avais à l'esprit, c'etait son utilisation comme substitut à un langage vraiment très spécialisé et très limité: le shell. Avec prolog, je me suis fais un substitut de locate et je travaille sur un substitut pour cron qui supportera en plus de la gestion temps libre de mon ordinateur (comme vérifié si j'ai du courrier, pendant que je me fais un café...). Par la suite, j'ai l'intention de me faire un système de backup automatisé qui me donnera un répertoire virtuelle de mes CD comme un disque virtuel.

Un autre aspect qui est souvent négligé, c'est que prolog offre un façon uniforme de stockés des données. Beaucoup de programmeur sont impressionné par le XML. Pourtant cela fait au moins trente ans que Prolog a la capacité de faire des organisations complexes en offrant en plus la capacité d'offrir des accesseurs à ces donnée, à même ces bases de données.

Ce n'est pas que Prolog soit limité, c'est qu'il est enseigné d'une façon beaucoup trop abstraite...Il est vrai que Prolog n'est pas une panacée à tout les types de problème. Par contre, il peut en résoudre beaucoup en quelques lignes de codes et de donnée. Pour un programmeur ignoré Prolog, c'est comme si un peintre décidait d'ignoré une couleurs primaire et toute ses dérivées. C'est ignoré tout un pan de l'informatique.

io-one
05/12/2005, 17h47
Bonjour à tous.
Sur le point de l'orthographe moi qui suis aussi un peut dyslexique je prendrais la défense de adminlinux,
Quand on est dyslexique on doit traduire ce qu'on lit ou ce qu'on entend afin que le cerveau comprenne, ensuite une fois l'information traité par celui-ci on doit retraduire pour pouvoir écrire ou parler. Tout ceci limite bien sûre les capacités,
Il s'avère que le langage informatique ressemble en partie à ce que comprend le cerveau d'un dyslexique, de ce f ait il comprend et se fait comprendre mieux avec un shell qu'un être humain.
Ce qui expliquerait en partie les défaillances de l'orthographe de certains programmeurs.
En ce qui concerne un langage de programmation je proposerais Perl pour le début (en effet il est facile de gérer des scripts systèmes avec) pour ensuite évoluer sur du python qui est l'avenir du langage système.

plumachau
05/12/2005, 18h03
Salut,

Je vais me faire lincher, mais je me lance ...

J'ai commencé à bidouillé en Basic sous MS-DOS, puis ensuite en Pascal.

Une fois sous Windows, je suis passé à Visualbasic et Delphi.

Sous Linux j'ai essayé de passer au C++, mais c'est vraiment beaucoup d'apprentissage pour de maigres résultats.

J'ai essayé Kylix (Delphi sous Linux) mais c'est la cata ... ça plante et on ne peut pas vraiment développer avec ça.

Puis j'ai découvert Gambas (VB sous Linux) et là je m'amuse vraiment, c'est simple comme du Basic, on peut créer un petit programme avec interface graphique en quelques clicks, et si on veut aller plus loin il reste très stable (version 2.0)

ganaga
05/12/2005, 18h09
Salut,

Je vais me faire lincher, mais je me lance ...

J'ai commencé à bidouillé en Basic sous MS-DOS, puis ensuite en Pascal.

Une fois sous Windows, je suis passé à Visualbasic et Delphi.

Sous Linux j'ai essayé de passer au C++, mais c'est vraiment beaucoup d'apprentissage pour de maigres résultats.

J'ai essayé Kylix (Delphi sous Linux) mais c'est la cata ... ça plante et on ne peut pas vraiment développer avec ça.

Puis j'ai découvert Gambas (VB sous Linux) et là je m'amuse vraiment, c'est simple comme du Basic, on peut créer un petit programme avec interface graphique en quelques clicks, et si on veut aller plus loin il reste très stable (version 2.0)[/b]

C'est drôle, j'ai fait exactement le même parcours sauf que je me suis arrêté au C++ que j'utilise en fait pour mon travail.

abgech
06/12/2005, 09h19
Tout d'abord, pour consoler les dyslexiques.
J'ai eu, il y a quelques années, un étudiant gravement dyslexique, à tel point que lors de son adolescence les psys avaient décrétés "on ne pourra rien faire de lui", oh, en termes infiniment plus raffinés, mais le sens y était.
Lorsque j'ai fait sa connaissance, il avait alors environ 20 ans, cet étudiant avait une orhographe correcte, sans plus, souvent meilleure que celles de ses condisciples dits "normaux". Bien sûr au niveau des travaux écrits, il était lent, très lent. Mais pour les oraux, aucun problème, hormis son bégaiement. Cela ne l'a pas empêché de devenir un très bon ingénieur malgré son handicap et une timidité invraisemblable, due, certainement, à son handicap. Sans doute au prix d'un travail encore plus soutenu (ce qui, en école d'ingénieur porte tout son sens) que celui des étudiants non handicapés.

Pour en revenir au sujet de la discussion, je trouve est en train de dériver vers "mon langage est le meilleur", c'est-à-dire à une discussion qui s'apparente plus à une querelle sur le sexe des anges et à une guerre de religion. je doute que le pauvre ADMINLINUX puisse y trouver une quelconque réponse à sa question initiale qui était, rappelons-le: quel langage pour apprendre à programmer.

Pour ramener un peu d'humour, je voudrais donner ici quelque implémentations, dans différents langages, de l'algorithme "se tirer une balle dans le pied":

C:
Vous vous tirez dans le pied.

C++:
Vous créez accidentellement une douzaine d'instances de vous-même et leur tirez tous dans le pied. Apporter une aide médicale est impossible car vous ne pouvez pas affirmer quelles sont les copies, chacune se montrant du doigt et disant "c'est moi, là-bas."

PASCAL:
Le compilateur ne vous laissera pas vous tirer dans le pied.

ADA:
Vous ne pouvez pas vous tirer dans le pied car vous ne pouvez produire les 100 pages de spécifications des mots 'tirer', 'pied' et 'pistolet'.
De toutes façons, ADA interdit l'usage des armes...

PROLOG:
Vous dites au programme que vous voulez vous faire tirer dans le pied. Le programme comprend comment le faire, mais la syntaxe ne permet pas de l'exprimer.

APL:
Vous vous tirez dans le pied, puis vous passez tout le reste de la journée à vous demander comment le faire avec moins de caractères.

JAVA:
1) Définir les classe 'Pied' et 'Pistolet'.
2) Lancer la compilation. Aller chercher un cafe. Revenir devant sa machine. Boire le café pendant que la compilation se termine. Verifier le nombre d'erreurs de compilation dues a l'oubli d'une majuscule dans un nom de fonction de trente lettres. Recommencer le processus jusqu'a elimination complete des erreurs. (Le cas echeant, recharger la machine a cafe)
3)Enfin, apres avoir réussi la compilation, lancer l'applet 'Shoot_Foot' - qui plantera parce que vous n'avez pas intercepté l'exception "Chaussure_non_enlevée". Ca vous apprendra a pas etre rigoureux dans vos programmes...
4) Recommencer depuis le debut jusqu'à obtention d'une applet qui tourne. Si votre Browser est bon, si votre machine a 256+ megs de ram et un CPU cadence a minimum 2000 MHz, d'ici une demi-heure, la balle devrait avoir traverse la totalite du pied...
* PS : Java © Sun Microsystems, Inc - Building the Future
* PS2 : Sun Microsystems, Inc - Building the Future ne fournit pas les stocks de poudre a café.
* PS3 : Il se peut que votre applet ne puisse se lancer, faute de pouvoir accéder en écriture à la ressource locale 'Pied'. Dans ce cas, contactez Sun Microsystems, Inc - Building the Future, déposez une réclamation, et attendez la version x.y du JDK qui vous permettra d'accéder à la ressource - mais comme toutes les fonctions que vous avez utilisé seront declarees obsoletes entre-temps, vous pourrez jeter votre programme a la poubelle et retourner programmer en Fortran, qui, apres tout, n'est pas si mauvais que ca...

ASSEMBLER 80X86:
Vous ne pouvez pas tirer car le pistolet et les balles ne se trouvent pas dans le même segment.

FORTRAN:
Vous vous tirez dans chaque doigt de pied, itérativement, jusqu'à ce que vous n'ayez plus de doigts de pied, puis vous changez de pied et recommencez l'opération. Si vous n'avez plus de balles, vous continuez quand-même, car vous n'avez pas pensé à installer un gestionnaire d'exceptions.

BASIC
Tirez dans votre pied avec un pistolet à eau. Sur gros système, continuez tant que tout le corps n'est pas trempé.


Au surplus, pour d'autres langages voir: http://bp.noos.org/computer/shootyourself.php3

PsykotropyK
06/12/2005, 15h02
Visual Basic :

Dim pied as object
Dim pistolet as object
Dim ball as object
Dim tir as long
Dim ball as long

Sub Main()
Do
if tu_appuies_sur_espace then Tirer(1)
Loop
End Sub

private Sub Tirer(tir)
if tir = 1 then Balle(1)
end Sub

Private Sub Balle(ball)
if ball=1 then
if position_pied = trajectoire_ball then
Toucher
Else
msgbox ("raté")
End if
End if
End sub

Private Sub Toucher()
Msgbox ("touché")
Pied = false
Restart
End Sub

Private Sub Restart
Ball=0
position_pied=0
trajectoire_ball=0
Pied = true
MsgBox ("tu peux réappuyer sur espace pour te re faire sauter le pied")
End sub

Et la tu lance et tu te rends compte que tu as plein de conflits, et que de toute facon, tu peux pas afficher ton pied, ni ton doit, ni ton arme, ni même ta balle... Tu te pends...

Par contre, si tu veux ouvrir une boite de dialogue pour naviguer dans ton disque, le Visual Basic c'est bien...