Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/08/2010, à 08:17

levasseur62

[résolu] commencer en programmation

Bonjour j'aimerais votre avis car je commence a programmer en c ,la route est longue est oui smile
c'est pourquoi je vous écrit c'est ligne car j'aimerais savoir pourquoi autant de langage est quelle sont les difference entre les langage

Merci

Dernière modification par levasseur62 (Le 22/08/2010, à 21:25)


Je suis en joie : je vais bientot couper le cordon ombilical : désinstallation complète de Win... Ça a tendance à avoir sur moi des effets psychotropes.
Dans 10 ans je les ressortirai et je dirai à mes filles :
- Vous voyez les enfants, votre papa a joué avec ça il y a dix ans...
- Quoi ? Des logiciels propriétaires... Tu n'as pas honte papa ?  - Si... un peu

Hors ligne

#2 Le 21/08/2010, à 08:22

J5012

Re : [résolu] commencer en programmation

faire un peu d'algorithme, et lire l'histoire de l'informatique

Hors ligne

#3 Le 21/08/2010, à 08:34

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

   Je pense qu'avant de poster ce message, il aurait été salutaire de lire cet épinglé.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#4 Le 21/08/2010, à 20:20

Daedalus11

Re : [résolu] commencer en programmation

Le Farfadet Spatial a écrit :

Salut à tous !

   Je pense qu'avant de poster ce message, il aurait été salutaire de lire cet épinglé.

   À bientôt.

   Le Farfadet Spatial

Tout à fait.

Hors ligne

#5 Le 22/08/2010, à 12:48

Link31

Re : [résolu] commencer en programmation

levasseur62 a écrit :

c'est pourquoi je vous écrit c'est ligne car j'aimerais savoir pourquoi autant de langage

À peu près pour la même raison qu'il y a tant d'espèces différentes sur Terre.

Hors ligne

#6 Le 23/08/2010, à 17:47

levasseur62

Re : [résolu] commencer en programmation

ok c bon arréter de vous acharnez sur moi xD,je débute et je fais comme je peut ,alors un peu de respect pour un bleu

merci:cool:

Dernière modification par levasseur62 (Le 23/08/2010, à 17:48)


Je suis en joie : je vais bientot couper le cordon ombilical : désinstallation complète de Win... Ça a tendance à avoir sur moi des effets psychotropes.
Dans 10 ans je les ressortirai et je dirai à mes filles :
- Vous voyez les enfants, votre papa a joué avec ça il y a dix ans...
- Quoi ? Des logiciels propriétaires... Tu n'as pas honte papa ?  - Si... un peu

Hors ligne

#7 Le 23/08/2010, à 18:33

Daedalus11

Re : [résolu] commencer en programmation

Pourquoi il y a plusieurs voitures sur le marché ? smile
Pour répondre tout bonnement au besoin de tous.

Un langage de programmation est conçu avec un ou plusieurs objectifs.
Java -> Portabilité
Python / Ruby -> Productivité
C / C++ -> Vitesse d'exécution
[ ect ]

Après c'est question de goût. Pour les programmeurs amateur le choix du langage repose sur le style que l'on préfère.
Objet ? Procédurale ? Fonctionnelle ?
Bas niveau ? Haut niveau ?
Syntaxe à la C-like ? Syntaxe "originale" ?

A toi de voir. Essaye différent langage.

Hors ligne

#8 Le 26/08/2010, à 04:00

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

levasseur62 a écrit :

ok c bon arréter de vous acharnez sur moi xD,je débute et je fais comme je peut ,alors un peu de respect pour un bleu

Je ne crois pas avoir vu d'acharnement. Il t'a été fait mention d'un fil de discussion qui pourrait t'aider, parce que c'est plus efficace que de se répéter à chaque fois que la question revient sur le forum. Également, différentes réponses t'ont été apportées sur des points précis de ta question.

   Tu es le bienvenu ici et je ne vois pas et je ne crois pas qu'aucun d'entre nous ait été agressif.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#9 Le 26/08/2010, à 09:30

bryanb

Re : [résolu] commencer en programmation

Il y a autant de langages que d'auteurs de langages de programmation et de plateformes.

Surtout chaque époque à son langage: code machine, assembleur, fortran, Cobol, C, Algol, Pascal, Basic, Modula, C++, Oberon, Lisp, etc...

les différences: il y a des langages se rapprochant de l'algorithmique, des mathématiques comme J, haskell etc..

et puis il y a des langages se rapprochant du C comme C++, javascript, java, objective C

et des langages se rapprochant de l'anglais comme Applescript, BASIC, Cobol

et puis dans ce groupe il y en a qui ont de fortes similarités avec pascal par exemple: Modula, Oberon, Delphi, Lazarus, dans une moindre mesure SNOBOL, ICON, Unicon

et puis les langages de script qui prennent le meilleur de tout ce qu'il y a: Javascript, Python, Self, IO

Pour finir je te conseillerais d'apprendre le maximum de langages possible. Une technique dont se sert un langage pourrait t'être utile avec un autre. Par exemple transposer les techniques d'unicon au javascript

Bon courage pour le C et si jamais tu en as marre essaie GAMBAS ou FreeBasic ( Il ne faut pas se moquer des BASIC, ils sont compilés et ont des pointeurs maintenant, ce qui t'aiderait à comprendre le C plus rapidement)

Hors ligne

#10 Le 26/08/2010, à 21:13

Daedalus11

Re : [résolu] commencer en programmation

La mauvaise image du BASIC vient surtout de ses variantes très mal implémentés.
Donc lorsqu'il y a un bon BASIC cohérent et de qualité, il est mit dans le lot (je pense évidemment à Gambas).

Mais bizarrement, je n'ai pas encore vu un utilisateur essayé Gambas et en dire du mal en retour wink .

Hors ligne

#11 Le 27/08/2010, à 04:12

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

bryanb a écrit :

et puis les langages de script qui prennent le meilleur de tout ce qu'il y a: Javascript, Python, Self, IO

C'est bien vite dit. Les langages de scripts sont très efficaces pour réaliser rapidement et efficacement des automates, pour simplifier la vie dans l'administration d'une machine ou d'un parc de machine, pour réaliser des interfaces graphiques. Cependant, comme tous les autres, ils ont leurs limites, qui vient de leur nature interprétée : ils ne peuvent plus suivre lorsque les temps d'exécutions deviennent importants et sont généralement dynamiquement typés, ce qui peut causer des bogues. Souvent, comme JavaScript, ils sont dédiés à une tâche très précise (le web interactif dans ce cas).

   De toute façon, l'histoire de l'informatique nous montre que tous les langages qui avaient pour objectifs d'être les meilleurs langages du monde parfaits pour tout ont toujours été des échecs cuisants. Il faut garder en tête que chaque langage a ses qualités et ses défauts et choisir celui ou ceux appropriés à ce que l'on veut faire.

bryanb a écrit :

Il ne faut pas se moquer des BASIC, ils sont compilés et ont des pointeurs maintenant, ce qui t'aiderait à comprendre le C plus rapidement

france1159 a écrit :

La mauvaise image du BASIC vient surtout de ses variantes très mal implémentés.
Donc lorsqu'il y a un bon BASIC cohérent et de qualité, il est mit dans le lot (je pense évidemment à Gambas).

La qualité d'un langage ne se mesure pas à la présence ou l'absence de pointeur, on peu très bien (et efficacement) se passer des pointeurs tant que l'on ne fait pas de programmation système (voir par exemple Haskel), ni non plus à la nature compilée ou interprétée – en fonction de ce que l'on veut faire, les deux approches ont leurs qualités et leurs défauts.

   Le problème de BASIC est un problème de fond, qui ne vient pas de ses variantes : il y a un grand manque de rigueur dans le typage, ce qui peut conduire à des erreurs complexes et il est faiblement structuré, poussant à la création de code spaghettis. Python n'est pas plus compliqué, ne présente pas ces problèmes de fond, possède un bien plus large panel de bibliothèques de fonctions et est très fortement portable : cette solution me semble de loin préférable.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#12 Le 27/08/2010, à 09:37

Daedalus11

Re : [résolu] commencer en programmation

il y a un grand manque de rigueur dans le typage, ce qui peut conduire à des erreurs complexes et il est faiblement structuré, poussant à la création de code spaghettis. Python n'est pas plus compliqué, ne présente pas ces problèmes de fond, possède un bien plus large panel de bibliothèques de fonctions et est très fortement portable : cette solution me semble de loin préférable.

Absolument pas d'accord avec toi.
Ca revient à dire ce que j'ai mentionné plus haut. Tes remarques concernent la pluplart des BASIC's mais Gambas est loin de donner un code spaghettis.
Mon code est clair, suit bien le modèle objet par classes, cohérent et lisible. Un code qui ressemble a de la POO en Python ou Java avec une syntaxe BASIC, c'est tout smile .

En ce qui concerne le typage (je parle pour Gambas) il n'y a aucun soucis de rigueur.

http://gambasdoc.org/help/cat/datatypes?fr

- l'emploi successif de 'self' en Python est pour moi énervant qui ne rends pas le code plus clair.
- le développement d'interface graphique n'est pas des plus rapides.

Hors ligne

#13 Le 27/08/2010, à 20:51

levasseur62

Re : [résolu] commencer en programmation

j'aimerais dévelloper linux,et voire comment est constitué un code source  d 'un logiciel ou du noyeau si possible?je vois beaucoup de théorie mais pas assez de pratique ce qui est bien dommage.


Je suis en joie : je vais bientot couper le cordon ombilical : désinstallation complète de Win... Ça a tendance à avoir sur moi des effets psychotropes.
Dans 10 ans je les ressortirai et je dirai à mes filles :
- Vous voyez les enfants, votre papa a joué avec ça il y a dix ans...
- Quoi ? Des logiciels propriétaires... Tu n'as pas honte papa ?  - Si... un peu

Hors ligne

#14 Le 27/08/2010, à 21:40

T_i_t_i

Re : [résolu] commencer en programmation

Hola ! Voir comment est développé le code source d'un noyau ? Tu y vas fort, c'est le moins qu'on puisses dire tongue
Abandonnes cette idée, du moins pour le moment wink, fait des petits programmes, entraines toi sur les bases, la théorie, puis peut être.... un jour.... auras tu le niveau pour te plonger dans les dizaines de milliers de lignes de codes, les centaines de centaines de fichiers... qui composent un OS comme Linux...
Ensuite si tu veux juste comprendre le principe, même chose, acquières des bases solides, puis tu pourra comprendre les grandes lignes de fonctionnement d'un OS.

Dernière modification par T_i_t_i (Le 27/08/2010, à 21:45)


Ubuntu 10.04 / GNOME
(wmii),c'est bien, (uzbl),aussi (merci helly ^^)

Hors ligne

#15 Le 27/08/2010, à 21:57

Link31

Re : [résolu] commencer en programmation

Pour programmer un noyau, il faut avant tout un bon niveau en C (ou C++, mais les bases sont les mêmes). Avec les outils qui vont avec : maîtriser son compilateur, l'éditeur de liens, le désassembleur, etc.

Ensuite, le noyau Linux (sans sa version actuelle) n'est pas le meilleur endroit pour apprendre le fonctionnement d'un noyau. Il vaut mieux commencer par quelque chose de plus petit, comme Minix, Simple OS ou Linux 0.01.

Et on peut écrire un noyau correct en moins de 10000 lignes de code (autrement dit, pas beaucoup wink).

Hors ligne

#16 Le 27/08/2010, à 22:07

levasseur62

Re : [résolu] commencer en programmation

j'ai du prendre la grosse tête:D, mais comment fait-on pour avoir le code source d'un logiciel du genre xchat par exemple?

Dernière modification par levasseur62 (Le 27/08/2010, à 22:11)


Je suis en joie : je vais bientot couper le cordon ombilical : désinstallation complète de Win... Ça a tendance à avoir sur moi des effets psychotropes.
Dans 10 ans je les ressortirai et je dirai à mes filles :
- Vous voyez les enfants, votre papa a joué avec ça il y a dix ans...
- Quoi ? Des logiciels propriétaires... Tu n'as pas honte papa ?  - Si... un peu

Hors ligne

#17 Le 27/08/2010, à 23:38

omc

Re : [résolu] commencer en programmation

funkalee a écrit :

j'ai trop mal au yeux quand je vois   ----------->RESOLUT  c'est horrible

lol

Hors ligne

#18 Le 28/08/2010, à 06:51

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

france1159 a écrit :

Mon code est clair, suit bien le modèle objet par classes, cohérent et lisible. Un code qui ressemble a de la POO en Python ou Java avec une syntaxe BASIC, c'est tout smile .

Je ne sais pas comment tu codes, mais je veux bien te croire. Cependant, il s'agit de ta pratique et non pas d'une caractéristique de Gambas : on peut structurer son code, mais il s'agit d'une démarche du codeur, pas d'un principe du langage.

   Nous ne parlons pas là d'un langage de macro-commande basé sur BASIC (comme l'est OOBasic), mais du langage. Du fait de la faible abondance de bibliothèques, Gambas (comme tous les BASIC) est surtout orienté pour l'apprentissage de la programmation. Dans ce cas, il est préférable que le langage mette en place des gardes-fous. Qu'un programmeur avancé soit capable de s'en passer, peut-être, mais pour le débutant il est préférable de ne pas lui permettre de faire des choses dangereuses.

france1159 a écrit :

En ce qui concerne le typage (je parle pour Gambas) il n'y a aucun soucis de rigueur.

http://gambasdoc.org/help/cat/datatypes?fr

Ce que tu donnes là, ce n'est qu'une liste de types et non pas des éléments sur le fonctionnement typage lui-même. En gros, ton lien dit que l'on peut faire des entiers, des chaînes de caractères et ainsi de suite. Ce n'est pas une nouveauté. En revanche, il n'indique en rien s'il s'agit d'un typage faible ou fort, statique ou dynamique et j'en passe. Le système de typage n'est pas détaillé.

   Je suis désolé, mais je ne sache pas que Gambas ait un système de typage fondamentalement différent de BASIC, qui est intrinsèquement faible et sans vrai contrôle.

levasseur62 a écrit :

j'aimerais dévelloper linux

Comme il a déjà été dit, le noyau Linux est essentiellement écrit en C, avec un peu d'assembleur et il est désormais préférable d'avoir un peu d'expérience en programmation système avant de s'y plonger.

levasseur62 a écrit :

voire comment est constitué un code source  d 'un logiciel

Si c'est un logiciel libre, c'est très simple : rends-toi sur le site du logiciel que tu veux étudier, les sources sont disponibles, il te suffit de les télécharger.

Link31 a écrit :

C (ou C++, mais les bases sont les mêmes)

Je croyais que tu faisais partie de mes alliés dans ma croisade pour que l'on cesse de croire que C++ n'est qu'une sur-couche de C, alors qu'il s'agit de deux langages différents et voilà que je vois que tu es passé du côté des mécréants : honte sur toi !

   De toute façon, le noyau Linux est codé en C, pas en C++.

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#19 Le 28/08/2010, à 09:38

Link31

Re : [résolu] commencer en programmation

Le Farfadet Spatial a écrit :
Link31 a écrit :

C (ou C++, mais les bases sont les mêmes)

Je croyais que tu faisais partie de mes alliés dans ma croisade pour que l'on cesse de croire que C++ n'est qu'une sur-couche de C, alors qu'il s'agit de deux langages différents et voilà que je vois que tu es passé du côté des mécréants : honte sur toi !

lol

Non, je sais de quoi je parle, pour avoir déjà écrit un noyau en C++. La première chose à faire est de réécrire certains éléments du runtime du C++ (libc + libstdc++), puisqu'on est dans un environnement complètement autonome. Or, réécrire la libc (en partie) et les parties bas-niveau de la libstdc++ oblige malheureusement à coder comme on le ferait en C, puisque les classes de la STL ne sont pas encore disponibles, et l'utilisation de classes tout court, ou même des namespaces, n'apporte pas un grand intérêt à ce niveau-là.

Une fois qu'on a fini de réécrire tout ça, le langage C++ devient enfin réellement utilisable en tant quel tel en espace noyau.

Hors ligne

#20 Le 28/08/2010, à 23:03

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

Link31 a écrit :

pour avoir déjà écrit un noyau en C++.

Oui, je suis bien d'accord, mais ce n'est justement pas la base, ni du langage, ni du noyau (mais un préalable pour ce dernier).

   Bon, ça ira pour cette fois…

   À bientôt.

   Le Farfadet Spatial

Hors ligne

#21 Le 29/08/2010, à 11:40

levasseur62

Re : [résolu] commencer en programmation

merci, pour votre dévoument je n'attendais pas tant,en tout cas sa fait plaisir
une question:les langages de programmation peuvent évoluer avec le temps?

Dernière modification par levasseur62 (Le 29/08/2010, à 19:52)


Je suis en joie : je vais bientot couper le cordon ombilical : désinstallation complète de Win... Ça a tendance à avoir sur moi des effets psychotropes.
Dans 10 ans je les ressortirai et je dirai à mes filles :
- Vous voyez les enfants, votre papa a joué avec ça il y a dix ans...
- Quoi ? Des logiciels propriétaires... Tu n'as pas honte papa ?  - Si... un peu

Hors ligne

#22 Le 02/09/2010, à 12:59

bryanb

Re : [résolu] commencer en programmation

levasseur62 a écrit :

merci, pour votre dévoument je n'attendais pas tant,en tout cas sa fait plaisir
une question:les langages de programmation peuvent évoluer avec le temps?

Oui les langages de programmation évoluent avec le temps. Mais c'est aussi et surtout les usages qui peuvent changer radicalement l'opinion que l'on se fait d'un langage. L'exemple le plus marquant est sans doute javascript: il suffit de voir les manuels en ligne et le code source d'une librairie comme jQuery. La technologie Chickenfoot est aussi basée sur javascript: c'est un interpréteur qui s'exécute dans un add-on Firefox et qui ajoute de nouvelles fonctionnalités à la syntaxe de base.

Dernière modification par bryanb (Le 02/09/2010, à 13:01)

Hors ligne

#23 Le 02/09/2010, à 15:42

Le Farfadet Spatial

Re : [résolu] commencer en programmation

Salut à tous !

   Merci à Bryanb, j'avais sauté cette question.

levasseur62 a écrit :

une question:les langages de programmation peuvent évoluer avec le temps?

Non seulement ils peuvent évoluer, mais en plus tous le font. Le processus d'évolution va dépendre du langage.

   Un langage qui n'a pas de norme et qui ne possède véritablement qu'une seule implémentation, comme Python, va avoir tendance à évoluer très rapidement, chaque nouvelle version de l'interpréteur ou du compilateur apportant des changements dans le langage. L'avantage est la très grande flexibilité, mais l'inconvénient est que, d'une version à l'autre (généralement il s'agit de version majeure), il peut être nécessaire de modifier les programmes.

   À l'inverse, un langage qui possède une norme, comme C++, évoluera plus lentement. L'avantage est la grande stabilité et le fait de pouvoir aisément changer de compilateur (à condition que tant le code que le compilateur respectent la norme). L'inconvénient est que le langage évolue beaucoup plus lentement. Pour reprendre l'exemple de C+, sa première standardisation date de 1998 (le projet avait commencé en 1979), il y a eu une mise à jour en 2003 et la nouvelle norme ne cesse de voir sa date de publication repoussée.

   À bientôt.

   Le Farfadet Spatial

Hors ligne