<![CDATA[Forum Ubuntu-fr.org / que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?id=21558 Sun, 18 Dec 2005 22:06:57 +0000 FluxBB <![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149997#p149997 zedtux a écrit :

Merci subit pour ta réponse, mais c'est exactement ce que je vous dis ! Je recherche donc une liste équivalente des includes sous linux...

Malheureusement, je ne connais pas les API's de Windows, donc je ne sais pas trop quoi te conseiller comme «équivalent» sous Linux.

Mais j'ai vu que tu parlais de sockets et de client ftp.
Si c'est dans cette voie que tu veux aller, il y a plusieurs possibilités :
- Les appels systèmes Linux eux-mêmes. Pour la doc, je te conseille vivement les manpages. Installe le paquet manpages-dev et consulte http://analyser.oli.tudelft.nl/beej/mirror/net/html/ ainsi que http://www.erlenstar.demon.co.uk/unix/faq_toc..
- Les bibliothèques dédiées. J'ai déjà utilisé http://www.gnetlibrary.org/. Simple, efficace.

Comme je l'ai dit, je ne sais pas à quoi servent les fichiers d'en-tête dont tu aimerais avoir l'équivalent sous Linux. De plus, même si tu voulais compiler tes programmes d'exemples, il y a 99.9% de chances que tu n'y arrives pas car il est extrêmement probable qu'il n'y ait tout simplement pas d'équivalent ! Bien sûr, certaines fonctions sont présentes sur les deux systèmes (Windows et Linux) mais certainement pas toutes.

Dès ce moment, tu ne peux te fier aux tutoriels dédiés uniquement à telle ou telle plate-forme.

Le C ISO est indépendant de la plate-forme. Mais il ne connaît rien aux entrées-sorties, aux sockets et autres joyeusetés du genre !

Tu nous avais dit que tu ne débutais pas en programmation. Dans ce cas, j'ai un excellent bouquin à te conseiller, LA référence en C : «Le langage C» par Kernighan & Ritchie (http://www.dunod.com/pages/ouvrages/fic … p?id=48734).

Sauf si tu nous dis exactement ce que tu souhaites faire, nous ne pouvons pas t'aider plus que ça.

Bon apprentissage.

]]>
Sun, 18 Dec 2005 22:06:57 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149997#p149997
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149979#p149979 Salut zedtux,
Autrefois j'utilisais le système de développement intégré "kdevelop" et j'en étais content (sous kde), d'autres sous win préféraient cbuilder ou c++builder selon les applis. Je ne sais pas si c'était ce genre de réponse que tu attendais. wink

]]>
Sun, 18 Dec 2005 21:29:56 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149979#p149979
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149863#p149863 Tu as juste dis "j'ai un problème d'includes" et j'ai juste répondu pourquoi.

Et maintenant ce qui se passe c'est que tu crois que sous linux tu auras une en-tête avec exactement la même façon de procéder (les mêmes fonctions, les mêmes noms) que sous windows mais ce n'est pas le cas, ou du moins c'est ce que je pense.

Le code ne saurait se compiler s'il fait appel à la fonction "f" alors qu'elle s'appele "y". Et encore...il te faudrait une en-tête avec exactement les mêmes fonctions mais des noms différents.
Et donc ce que thx1138 explique clairement c'est qu'il y a justement une "façon de faire", une norme, qui utilise des en-têtes qui sont les mêmes sur tous les système et que l'on est sûr de retrouver. Dès lors ton programme pourra être compilé partout.

Je pense que l'utilisation d'une API ne sert en fait qu'à accélerer le développement de l'application car on y retrouve les fonctions que l'on utilise le plus dans un système particulier, c'est plus rapide à coder mais ça ne marchera que pour ce système.

Et oui on se comprend quand les questions sont claires.
A+ et bonne recherche.

]]>
Sun, 18 Dec 2005 19:20:35 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149863#p149863
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149827#p149827 Merci subit pour ta réponse, mais c'est exactement ce que je vous dis ! Je recherche donc une liste équivalente des includes sous linux...

Mais bon, laissez tomber, on se comprend pas... Merci a vous quand même

Un élément de réponses grace a thx1138 pour le la doc sur le C ISO. Merci a toi.
Je vous en demanderai pas plus.

]]>
Sun, 18 Dec 2005 18:37:44 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149827#p149827
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149526#p149526 Subite a écrit :

[...]
Alors je suis peut être à côté de la bonne réponse mais à mon avis tu essayes d'utiliser des fonctions spécifiques à un environnement windows.

Oh non, tu n'es pas à côté de la plaque, tu es en plein dedans !
Aucun des fichiers d'en-tête qu'il utilise n'est disponible sous Linux. Ils sont tous spécifiques à Windows.
Comment y remédier ? En lisant de la doc sur le C ISO, c'est à dire le C standard. Et en prenant des exemples indépendants de la plate-forme, c'est-à-dire codés en ... C ISO.
Dès que tu maîtrises le C standard, tu peux te lancer dans la programmation spécifique Unix/Linux.

zedtux a écrit :

C'est ce qui fais que tu peut te permettre de recevoire les gens comme ca ?? Je pense pas ... Je voie pas pourquoi le fais que tu es eut des problèmes, tu doit te "venger" sur le premier venue.

Ok, je vois que tu n'as rien compris. Moi je te conseille d'aller faire un tour sur comp.lang.c ou fr.comp.lang.c et de poser ta question originelle, et tu vas voir si je suis gentil par rapport à eux. Avec un peu de chance, tu devrais t'en sortir avec un bon  «RTFM».
Je voulais juste dire que mon ton pouvait te sembler condescendant, mais il n'en est rien. J'aime remettre les choses à leur place, peu importe si ça plaît ou non.
De toute façon, ta première phrase était un troll, que tu le veuilles ou non. Pas un troll sur les langages, mais un troll sur les plate-formes. Bref, pas mieux comme troll.

J'ai pourtant essayé de t'aider, de t'orienter dès le début, mais tu n'as rien voulu savoir. Dommage.

Allez, je vais encore essayer de t'aider. Lis ce document : http://www.linux-france.org/article/the … ns-fr.html.

PS : je suis là uniquement pour aider. Mais y'a des limites ... D'ailleurs ne dit-on pas : «Aide-toi et le ciel t'aidera» ? ;-)

]]>
Sun, 18 Dec 2005 08:46:15 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149526#p149526
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149518#p149518 Salut,

Bon ben moi bien que n'ayant jamais programmé en C et peu dans le reste je ne me tiens qu'à ma logique pour répondre à ta question, je dirais peut être donc des bêtises.
Les includes qu'il y a dans ce code font appel à windows.h et commctrl.h entre autres.
Donc le premier réflexe (je trouve) à avoir est de faire une recherche pour voir ce que contiennent ces en-têtes quand même et surprise! Quand on cherche ( par ex sur google) on a 99% des résultats avec dans leur texte API Windows.
Alors je suis peut être à côté de la bonne réponse mais à mon avis tu essayes d'utiliser des fonctions spécifiques à un environnement windows.

Bonne chance pour la suite smile.

]]>
Sun, 18 Dec 2005 08:18:42 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149518#p149518
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149464#p149464 thx1138 a écrit :

Cela fait maintenant plus de 7 ans que j'utilise Linux et je peux te dire que je me suis fait jeté plus d'une fois de forums/mailing-listes, et ce pour avoir osé posé des questions comme les tiennes ... Alors j'estime être assez «gentil».

C'est ce qui fais que tu peut te permettre de recevoire les gens comme ca ?? Je pense pas ... Je voie pas pourquoi le fais que tu es eut des problèmes, tu doit te "venger" sur le premier venue.

Enfin bref, on va arreter la. Je suis pas pour parler de ca ( même si j'ai pas mal pris part a la discution ).





Alors le code source provient de ccpfrance.com, c'est un petit client FTP. Ce qui m'interesse c'est comment il initialise et utilise le socket pour se connecter et lister le contenu d'un serveur FTP. Le reste pour le moment, je m'en fou.

Voici le debut du code :

#define _WIN32_WINNT 0x0501

#include <windows.h>

#include <commctrl.h>

#include <shellapi.h>



#include "resource.h"

#include "Client.h"



#define	MEMDISPO (MEM_RESERVE | MEM_COMMIT | MEM_TOP_DOWN)

Et il me fais les erreurs suivantes :

ClientFTP.cpp:2:21: erreur: windows.h : Aucun fichier ou répertoire de ce type
ClientFTP.cpp:3:22: erreur: commctrl.h : Aucun fichier ou répertoire de ce type
ClientFTP.cpp:4:22: erreur: shellapi.h : Aucun fichier ou répertoire de ce type

Aprés j'ai d'autres erreurs, mais je pense que si je résout le problème des includes, ces erreurs devrait plus ou moin disparaitre.

Merci pour ton aide.

]]>
Sat, 17 Dec 2005 22:46:15 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149464#p149464
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149370#p149370 zedtux a écrit :

Je pense pas que acceuillir une personne en lui disant qu'il va trop vite, que sont poste est un troll, etc ... soit la meilleur facons ( tu n'as pas un compte chez cppfrance.com ou vbfrance.com ?? wink )

Cela fait maintenant plus de 7 ans que j'utilise Linux et je peux te dire que je me suis fait jeté plus d'une fois de forums/mailing-listes, et ce pour avoir osé posé des questions comme les tiennes ... Alors j'estime être assez «gentil».

zedtux a écrit :

Ma question est simple ... mais je m'exprime mal .. je sais ... Alors je réessaie :

Quelles logiciels (EDI) me recommandez vous pour programmer du C/C++ sous Gnome ?

Et actuellement j'ai installé Anjuta, et je veux juste savoir si j'ai fais le bon choix.

Maintenant à moi : tu n'as, toi non plus, pas bien lu mon post. Tu pouvais pourtant extrapoler : ce qui est vrai dans les langages, l'est pour quasiment tout.
À savoir : tu prends ce que tu veux, du moment que tu es à l'aise avec !
Des éditeurs et des IDE, y'en a douze à la dizaine. Tu en essayes quelques-uns, et tu regardes si ils te conviennent.
Anjuta 1.x ? Moi j'aime pas ... D'autres vont aimer. Voilà ... Si tu aimes et que tu te sens bien avec, c'est un bon choix.
Personne ne détient la Vérité absolue.

zedtux a écrit :

Et ma deuxieme question est suite a ceci :

J'ai prit une source sur un site pour l'etudier, mais avant de commencer, j'ai voulut la compiler et l'executer. Ca ne sert a rien d'apprendre a coder un code faux tongue ).
Et lorsque j'ai lancé la compilation, je me suis retrouvé avec des problèmes de dépendance de préprocesseurs. ( Je pense pas chercher a faire du C Comme un grand ... la .. ?? si ?? )
Et donc, ma question est, pourquoi ces dépendances ? Est du fais que ces fichiers portent des noms differents sous linux ? Ou est ce qu'il faut spécifié où ils se sitent ?

Et si tu nous mettais les messages d'erreurs exacts ? On pourrait analyser et voir ce qu'il te manque.
Quel est ce code source ? Pourrais-tu nous montrer les directives #include que tu utilises ? Cela nous permettrait de voir quels sont les fichiers d'en-tête dont tu as besoin.

zedtux a écrit :

Donc mes question son asser simple, et c'est juste en rapport avec l'installation et la configuration du PC pour être alaise dans programmation.
Donc excuser moi pour les problèmes d'expression, et d'explications.

Pas de problèmes. J'en fais de même : excuse-moi si je t'ai offensé. Je suis parfois assez impulsif. Ce n'est pas une excuse, je tiens juste à prévenir smile

]]>
Sat, 17 Dec 2005 19:11:14 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149370#p149370
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149328#p149328 Bon alors ....

Avant de donner quelque réponse que ce soit, Merci pour les réponses ! smile

Bien, ce poste va surtout s'adresser a thx1138...

Je te dierais une chose ... Ne sous éstime pas les gens ... Comment veux tu évaluer mes compétances en programmation dans un simple poste d'un 10ene de ligne que j'ai rédigé, et que tu n'as pas bien lut en plus... ???

Je pense pas que acceuillir une personne en lui disant qu'il va trop vite, que sont poste est un troll, etc ... soit la meilleur facons ( tu n'as pas un compte chez cppfrance.com ou vbfrance.com ?? wink )

Premièrement je débute pas en programmation ( général ) mais en C !
Ensuite, de début encore plus sous Linux la programmation ! Donc mon soucis n'est pas que tu me dise d'apprendre, ca je suis déjà dessus, avec un site même que je trouve meilleur pour débuter ( http://www.siteduzero.com/ ).

Ma question est simple ... mais je m'exprime mal .. je sais ... Alors je réessaie :

Quelles logiciels (EDI) me recommandez vous pour programmer du C/C++ sous Gnome ?

Et actuellement j'ai installé Anjuta, et je veux juste savoir si j'ai fais le bon choix.

Et ma deuxieme question est suite a ceci :

J'ai prit une source sur un site pour l'etudier, mais avant de commencer, j'ai voulut la compiler et l'executer. Ca ne sert a rien d'apprendre a coder un code faux tongue ).
Et lorsque j'ai lancé la compilation, je me suis retrouvé avec des problèmes de dépendance de préprocesseurs. ( Je pense pas chercher a faire du C Comme un grand ... la .. ?? si ?? )
Et donc, ma question est, pourquoi ces dépendances ? Est du fais que ces fichiers portent des noms differents sous linux ? Ou est ce qu'il faut spécifié où ils se sitent ?


Donc mes question son asser simple, et c'est juste en rapport avec l'installation et la configuration du PC pour être alaise dans programmation.


Pour mpop, je ne disais pas que je voulais formater pour ca, je parlais de vous. Je disais imaginons que pour X raisons que ce soit ( par exemple un nouveau Pc ) vous installier Linux, quelles sont les logiciels, et les configuration a faire pour créé son environnement de programmation ( Je sais pas si c'est bien dis ... )


Donc excuser moi pour les problèmes d'expression, et d'explications.

]]>
Sat, 17 Dec 2005 18:08:08 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149328#p149328
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149301#p149301 Je suis d'accord, d'ailleurs mes premiers codes était en qbasic smile

]]>
Sat, 17 Dec 2005 17:08:35 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149301#p149301
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149281#p149281 m+rh-e a écrit :

je ne crois pas que zedtux a voulu dire que le langage c est mieux mais que programmer en C sous linux c'est mieux [...]

Ah ok, c'est ça qu'il voulait dire smile. J'avais mal lu/compris. Ceci dit, le reste de ma réponse est toujours valide. Eric Raymond déconseille de commencer par le C, et je ne peux que rallier à son avis. Maintenant, tout le monde est libre de faire ce qu'il veut, comme je l'ai précédemment écrit.

]]>
Sat, 17 Dec 2005 16:46:47 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149281#p149281
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149251#p149251 je ne crois pas que zedtux a voulu dire que le langage c est mieux mais que programmer en C sous linux c'est mieux, et la franchement je suis complétement d'accord avec zedtux. gnu/linux est vraiment un exellent outil pour le dév C, et le dév en général...

]]>
Sat, 17 Dec 2005 16:07:48 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149251#p149251
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=149242#p149242 zedtux a écrit :

Sous windows, je venais de me lancer dans le C/C++ et quand j'ai vue plein plein de poste dire que sous Linux la prog en C c'est bien mieux.. j'ai réfléchis, et je me suis dis que Oui ! Ca doit l'être !!! ( Vue qu'un des principes de Linux c'est le developpement big_smile )

Ah bien, on commence direct dans le troll des langages. Nickel roll.

Dire que programmer en C c'est bien mieux est une d'incommensurable bêtise. Mais bon, je te pardonne, tu es jeune et tu t'es laissé influencé par des boutonneux qui soutenaient mordicus que le C c'est le langage ultime.

Il y a des cas spécifiques où le C est effectivement mieux, par exemple lors du développement de
- bibliothèques : si tu veux avoir un maximum de bindings, il vaut mieux le faire en C orienté-objet (avec les GObjects); cela permettra aux nombreux langages qui peuvent s'interfacer avec du code C d'avoir des bindings. Si le langage cible est orienté-objet, tu pourras profiter de cette orientation.
- drivers ou tout ce qui est orienté kernel : ce dernier étant codé en C, il est préférable d'utiliser du C.
- applications demandant beaucoup de ressources machines : ces applications devant être optimisées au maximum, on veillera à coder en  C (voire C++). Attention cependant, ce n'est pas tant le langage qui est important mais le codeur; un programme écrit en C par une personne peut être moins rapide que ce même programme écrit en un autre langage par une autre personne. Il est possible d'écrire des programmes lents, absolument pas optimisés, et ce dans TOUS les langages. Qu'on se le dise.

En vérité, si tu veux programmer pour l'environnement GNOME, tu as plusieurs possibilités, à savoir : C, C++, C#, Python, Ruby, Java.
Ce dernier est moins utilisé, du fait de l'infrastructure libre toujours en développement intensif (Gcj, Kaffe, GNU Classpath, ...).
Le langage idéal ? Celui avec lequel tu te sens le mieux. C'est tout.
Il vaut mieux prendre Ruby, se sentir bien avec et perdre de la rapidité mais faire de bons programmes plutôt que de prendre le C, ne pas l'aimer, ne pas le maîtriser mais avoir de la rapidité (et encore, voir ci-dessus).

Essaye, expérimente, joue avec plusieurs langages. Ensuite tu te feras ta propre opinion, et tu continueras dans le sens que tu auras voulu. Mais ne prends pas ce que les autres te disent pour argent comptant (valable aussi pour ce que je suis en train de raconter ;-) ).

Et lis l'excellent Howto de Eric S. Raymond : http://www.catb.org/~esr/faqs/hacker-howto.html

zedtux a écrit :

[...]
Les fichiers include de ma source sont introuvable ... Et il me semble qu'ils sont different de windows...
[...]
Et derniere chose, si je télécharge une source, que dois-je ouvrir ?? Par exemple si j'ai des fichier .h et .c ?

Ouh là, tu veux faire du C comme un grand mais tu as oublié de faire le plus important : apprendre !
Sois pas pressé. Prends un bon livre, un bon tutoriel trouvé sur le net, détends-toi et apprends [1] !

Les fichiers .h sont les fichiers headers. Ils sont généralement disponibles, sous Ubuntu, dans des packages dont le nom est le même que celui qui renferme la bibliothèque, augmenté du suffixe «-dev». Un petit exemple vaut mieux qu'un long discours :

libglib2.0-0 - The GLib library of C routines
libglib2.0-dev - Development files for the GLib library

Le paquet libglib2.0-dev renferme, notamment, les fichiers .h qui te permettent de compiler un programme qui requiert cette bibliothèque.

Les fichiers .h sont généralement placés dans /usr/include/nom-bibliotheque, en l'occurence ici dans  /usr/include/glib-2.0.

Voilà, c'est à peu près tout. Je ne peux pas tout t'expliquer ici, il faut que tu lises de la doc, des livres, que tu apprennes par toi-même, que tu expérimentes ...

Malgré mon ton un peu cynique, je te souhaite la bienvenue dans le monde de la programmation.

Ne te décourage pas; le chemin est long mais en vaut la peine !

[1] Un excellent site avec de bons tutoriels, en français : http://www.developpez.com/

]]>
Sat, 17 Dec 2005 15:55:29 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=149242#p149242
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=148963#p148963 perso, pour programmer en C/C++, installe les paquets gcc et g++

pour l'éditeur, chacun a ses préférences, je ne veux pas commencer une guerre de religion...
.
.
.
.
VIVE XEMACS!!!!!!!!!!!!!!!!!!!!!! :-D

]]>
Sat, 17 Dec 2005 03:57:10 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=148963#p148963
<![CDATA[Réponse à : que faut il pour programmer ?]]> http://forum.ubuntu-fr.org/viewtopic.php?pid=148955#p148955 essaye anjuta
avec Ajouter des applications

ou eclipse voir dans la documentation

]]>
Sat, 17 Dec 2005 01:31:27 +0000 http://forum.ubuntu-fr.org/viewtopic.php?pid=148955#p148955