j'ai pas trouve de forum dedie a la programmation sous Linux, mais je
voudrais savoir si mes vieux bouquins de C, C++ pouvaient toujours
faire l'affaire ?
De meme, comment attaquer un programme graphique sous X ? Un lien ?
En ce qui concerne le TCL/TK (je suis pas sur de l'acronisme), ou puis
je trouver des tutos ? Est ce toujours a la mode ou je laisse tomber ?
si mes vieux bouquins de C, C++ pouvaient toujours faire l'affaire ? De meme, comment attaquer un programme graphique sous X ? Un lien ?
Pour C, je ne sais pas. Un conseil toutefois : programme ton application en C, ou bien en C++. Mélanger les deux n'apporte rien de bon. (On peut toutefois encapsuler une bibliothèque C pour l'utiliser en C++, mais c'est rarement un travail passionnant.)
Le langage C++ a pas mal évolué ces dernières années, et même ces derniers mois. Le bouquin de Stroustrup http://www.research.att.com/~bs/programming.html est probablement à la page.
Si tu veux créer une application graphique en C++, je conseillerais Qt http://www.qtsoftware.com/products/ Alternatives : wxWidgets http://www.wxwidgets.org/ ou GTK+ http://www.gtk.org/
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
On Thu, 04 Jun 2009 15:43:05 +0200, Regis <l.t.a.b@wanadoo.fr>:
si mes vieux bouquins de C, C++ pouvaient toujours
faire l'affaire ?
De meme, comment attaquer un programme graphique sous X ? Un lien ?
Pour C, je ne sais pas. Un conseil toutefois : programme ton
application en C, ou bien en C++. Mélanger les deux n'apporte rien de
bon.
(On peut toutefois encapsuler une bibliothèque C pour l'utiliser en
C++, mais c'est rarement un travail passionnant.)
Le langage C++ a pas mal évolué ces dernières années, et même ces
derniers mois. Le bouquin de Stroustrup
http://www.research.att.com/~bs/programming.html est probablement à la
page.
Si tu veux créer une application graphique en C++, je conseillerais Qt
http://www.qtsoftware.com/products/
Alternatives : wxWidgets http://www.wxwidgets.org/ ou GTK+
http://www.gtk.org/
Note que ces trois bibliothèques sont également accessibles en Python,
qui semble être le langage à la mode.
si mes vieux bouquins de C, C++ pouvaient toujours faire l'affaire ? De meme, comment attaquer un programme graphique sous X ? Un lien ?
Pour C, je ne sais pas. Un conseil toutefois : programme ton application en C, ou bien en C++. Mélanger les deux n'apporte rien de bon. (On peut toutefois encapsuler une bibliothèque C pour l'utiliser en C++, mais c'est rarement un travail passionnant.)
Le langage C++ a pas mal évolué ces dernières années, et même ces derniers mois. Le bouquin de Stroustrup http://www.research.att.com/~bs/programming.html est probablement à la page.
Si tu veux créer une application graphique en C++, je conseillerais Qt http://www.qtsoftware.com/products/ Alternatives : wxWidgets http://www.wxwidgets.org/ ou GTK+ http://www.gtk.org/
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
Luc.Habert.00__arjf
Regis :
j'ai pas trouve de forum dedie a la programmation sous Linux, mais je voudrais savoir si mes vieux bouquins de C, C++ pouvaient toujours faire l'affaire ?
Pour le C, aucun problème. Le C++, par contre, ça change à chaque version de chaque compilateur...
De meme, comment attaquer un programme graphique sous X ? Un lien ?
Prendre un cable RJ45, et se pendre avec, c'est moins douloureux.
En ce qui concerne le TCL/TK (je suis pas sur de l'acronisme), ou puis je trouver des tutos ? Est ce toujours a la mode ou je laisse tomber ?
C'est totalement mort. Essentiellement, les gens utilisent gtk en C, ou d'autres langages avec lesquels il y a une interface, et qt en C++.
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais plutôt faire du java ou du C# (il y a une implémentation de .Net pour unix nommée Mono), ce sont des langages bien plus simples, tout en restant puissants, et avec des stdlibs très bien fournies, y compris au niveau de la réalisation d'interfaces graphiques.
Regis :
j'ai pas trouve de forum dedie a la programmation sous Linux, mais je
voudrais savoir si mes vieux bouquins de C, C++ pouvaient toujours
faire l'affaire ?
Pour le C, aucun problème. Le C++, par contre, ça change à chaque version de
chaque compilateur...
De meme, comment attaquer un programme graphique sous X ? Un lien ?
Prendre un cable RJ45, et se pendre avec, c'est moins douloureux.
En ce qui concerne le TCL/TK (je suis pas sur de l'acronisme), ou puis
je trouver des tutos ? Est ce toujours a la mode ou je laisse tomber ?
C'est totalement mort. Essentiellement, les gens utilisent gtk en C, ou
d'autres langages avec lesquels il y a une interface, et qt en C++.
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais
plutôt faire du java ou du C# (il y a une implémentation de .Net pour unix
nommée Mono), ce sont des langages bien plus simples, tout en restant
puissants, et avec des stdlibs très bien fournies, y compris au niveau de la
réalisation d'interfaces graphiques.
j'ai pas trouve de forum dedie a la programmation sous Linux, mais je voudrais savoir si mes vieux bouquins de C, C++ pouvaient toujours faire l'affaire ?
Pour le C, aucun problème. Le C++, par contre, ça change à chaque version de chaque compilateur...
De meme, comment attaquer un programme graphique sous X ? Un lien ?
Prendre un cable RJ45, et se pendre avec, c'est moins douloureux.
En ce qui concerne le TCL/TK (je suis pas sur de l'acronisme), ou puis je trouver des tutos ? Est ce toujours a la mode ou je laisse tomber ?
C'est totalement mort. Essentiellement, les gens utilisent gtk en C, ou d'autres langages avec lesquels il y a une interface, et qt en C++.
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais plutôt faire du java ou du C# (il y a une implémentation de .Net pour unix nommée Mono), ce sont des langages bien plus simples, tout en restant puissants, et avec des stdlibs très bien fournies, y compris au niveau de la réalisation d'interfaces graphiques.
Regis
Fabien LE LEZ a écrit : ../..
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme langage de programmation, il a l'air d'etre tres strict, puis ce _main_ ou les def me desorientent un peu...
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé ou dans un forum dédié...
Bien amicalement,
Régis.
--
"Un homme averti n'amasse pas mousse !" (c) 1988 - BettleJuice en V.F.
http://regux.com/
Fabien LE LEZ a écrit :
../..
Note que ces trois bibliothèques sont également accessibles en
Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon
ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme
langage de programmation, il a l'air d'etre tres strict, puis ce _main_
ou les def me desorientent un peu...
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé
ou dans un forum dédié...
Bien amicalement,
Régis.
--
"Un homme averti n'amasse pas mousse !" (c) 1988 - BettleJuice en V.F.
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme langage de programmation, il a l'air d'etre tres strict, puis ce _main_ ou les def me desorientent un peu...
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé ou dans un forum dédié...
Bien amicalement,
Régis.
--
"Un homme averti n'amasse pas mousse !" (c) 1988 - BettleJuice en V.F.
http://regux.com/
Vivien Moreau
Regis a écrit :
Fabien LE LEZ a écrit : ../..
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme langage de programmation, il a l'air d'etre tres strict,
Euh, c'est à dire ?
puis ce _main_ ou les def me desorientent un peu...
Il n'y a pas de quoi :-)
Si tu continues à t'intéresser à Python, lis un des bons tutoriels qui existent et tu partiras sur des bases saines.
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé ou dans un forum dédié...
Il y a fr.comp.lang.python, vers lequel je redirige ;-)
N.B : j'ai modifié le sujet, mais libre à toi de le rechanger !
-- Vivien Moreau / vpm / Tuxicomane
Regis <l.t.a.b@wanadoo.fr> a écrit :
Fabien LE LEZ a écrit :
../..
Note que ces trois bibliothèques sont également accessibles en
Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon
ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme
langage de programmation, il a l'air d'etre tres strict,
Euh, c'est à dire ?
puis ce _main_ ou les def me desorientent un peu...
Il n'y a pas de quoi :-)
Si tu continues à t'intéresser à Python, lis un des bons tutoriels qui
existent et tu partiras sur des bases saines.
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé
ou dans un forum dédié...
Il y a fr.comp.lang.python, vers lequel je redirige ;-)
N.B : j'ai modifié le sujet, mais libre à toi de le rechanger !
Note que ces trois bibliothèques sont également accessibles en Python, qui semble être le langage à la mode.
Je viens de lire de la doc. provenant de Google (car Google est mon ami), fichtre! Ca ne ressemble en rien de ce que j'ai connu comme langage de programmation, il a l'air d'etre tres strict,
Euh, c'est à dire ?
puis ce _main_ ou les def me desorientent un peu...
Il n'y a pas de quoi :-)
Si tu continues à t'intéresser à Python, lis un des bons tutoriels qui existent et tu partiras sur des bases saines.
Y a des adeptes dans le coin ? Histoire de discuter calmement en privé ou dans un forum dédié...
Il y a fr.comp.lang.python, vers lequel je redirige ;-)
N.B : j'ai modifié le sujet, mais libre à toi de le rechanger !
-- Vivien Moreau / vpm / Tuxicomane
Fabien LE LEZ
On Thu, 4 Jun 2009 14:22:11 +0000 (UTC), Luc Habert :
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais plutôt faire du java ou du C#
Le C est effectivement de bas niveau : faut s'emmerder à allouer la mémoire soi-même, et surtout la libérer soi-même. Et je ne parle même pas de la gestion des chaînes de caractères.
C++ et Java/C# sont assez proches, mais C++ a un mécanisme très peu répandu : les objets sont détruits automatiquement à un moment prévisible, ce qui permet de s'en servir pour qu'un objet "fichier" ou "socket" se ferme automatiquement, exactement au bon moment.
Mébon, tout ça (C/ASM, C++/Java) est effectivement d'assez bas niveau comparé à, mettons, Haskell.
On Thu, 4 Jun 2009 14:22:11 +0000 (UTC), Luc Habert :
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais
plutôt faire du java ou du C#
Le C est effectivement de bas niveau : faut s'emmerder à allouer la
mémoire soi-même, et surtout la libérer soi-même. Et je ne parle même
pas de la gestion des chaînes de caractères.
C++ et Java/C# sont assez proches, mais C++ a un mécanisme très peu
répandu : les objets sont détruits automatiquement à un moment
prévisible, ce qui permet de s'en servir pour qu'un objet "fichier" ou
"socket" se ferme automatiquement, exactement au bon moment.
Mébon, tout ça (C/ASM, C++/Java) est effectivement d'assez bas niveau
comparé à, mettons, Haskell.
On Thu, 4 Jun 2009 14:22:11 +0000 (UTC), Luc Habert :
Note : le C et le C++ sont des langages d'atrocement bas niveau. Tu pourrais plutôt faire du java ou du C#
Le C est effectivement de bas niveau : faut s'emmerder à allouer la mémoire soi-même, et surtout la libérer soi-même. Et je ne parle même pas de la gestion des chaînes de caractères.
C++ et Java/C# sont assez proches, mais C++ a un mécanisme très peu répandu : les objets sont détruits automatiquement à un moment prévisible, ce qui permet de s'en servir pour qu'un objet "fichier" ou "socket" se ferme automatiquement, exactement au bon moment.
Mébon, tout ça (C/ASM, C++/Java) est effectivement d'assez bas niveau comparé à, mettons, Haskell.
Luc.Habert.00__arjf
Fabien LE LEZ :
Le C est effectivement de bas niveau : faut s'emmerder à allouer la mémoire soi-même, et surtout la libérer soi-même.
En C++ aussi.
C++ et Java/C# sont assez proches
Par la syntaxe, mais certainement pas par la sémantique.
Mébon, tout ça (C/ASM, C++/Java) est effectivement d'assez bas niveau comparé à, mettons, Haskell.
Le java est beaucoup plus proche de Haskell que les autres que tu cites.
Fabien LE LEZ :
Le C est effectivement de bas niveau : faut s'emmerder à allouer la
mémoire soi-même, et surtout la libérer soi-même.
En C++ aussi.
C++ et Java/C# sont assez proches
Par la syntaxe, mais certainement pas par la sémantique.
Mébon, tout ça (C/ASM, C++/Java) est effectivement d'assez bas niveau
comparé à, mettons, Haskell.
Le java est beaucoup plus proche de Haskell que les autres que tu cites.
Le C est effectivement de bas niveau : faut s'emmerder à allouer la mémoire soi-même, et surtout la libérer soi-même.
En C++ aussi.
Non. Sauf bien sûr si tu programmes en C, mais que tu utilises g++ pour compiler (ce qui semble être fréquent, malheureusement.)
Bah si. Je vois ce que tu veux dire, mais ce n'est que du sucre. Les objets alloués par new, il faut les deleter explicitement.
Fabien LE LEZ
On Thu, 4 Jun 2009 20:10:06 +0000 (UTC), (Luc Habert):
mais ce n'est que du sucre.
Au contraire, c'est fondamental. Le principe RAII est ce qui différencie C++ de la plupart des autres langages.
Les objets alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par des auto_ptr<>, shared_ptr<>, etc.
D'ailleurs, il est très difficile d'appeler delete directement : où doit-on l'appeler ? En particulier, le code ci-dessous est incorrect :
int* ptr= new int; f(); delete ptr;
En effet, si f() lance une exception, le delete n'est jamais appelé ! (On peut bricoler avec des blocs try...catch mais c'est vite ingérable.)
D'où (par exemple) :
{ auto_ptr<int> ptr (new int); f(); ... }
Ici, C++ garantit que la mémoire sera libérée à la fin du bloc, quelle que soit la méthode de sortie (exception, cours normal, return, break, etc.)
Note qu'il y a des cas où on peut légitimement appeler delete, mais ils sont rares dans un programme donné.
On Thu, 4 Jun 2009 20:10:06 +0000 (UTC), (Luc Habert):
mais ce n'est que du sucre.
Au contraire, c'est fondamental. Le principe RAII est ce qui
différencie C++ de la plupart des autres langages.
Les objets
alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent
s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans
wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par
des auto_ptr<>, shared_ptr<>, etc.
D'ailleurs, il est très difficile d'appeler delete directement : où
doit-on l'appeler ?
En particulier, le code ci-dessous est incorrect :
int* ptr= new int;
f();
delete ptr;
En effet, si f() lance une exception, le delete n'est jamais appelé !
(On peut bricoler avec des blocs try...catch mais c'est vite
ingérable.)
D'où (par exemple) :
{
auto_ptr<int> ptr (new int);
f();
...
}
Ici, C++ garantit que la mémoire sera libérée à la fin du bloc, quelle
que soit la méthode de sortie (exception, cours normal, return, break,
etc.)
Note qu'il y a des cas où on peut légitimement appeler delete, mais
ils sont rares dans un programme donné.
On Thu, 4 Jun 2009 20:10:06 +0000 (UTC), (Luc Habert):
mais ce n'est que du sucre.
Au contraire, c'est fondamental. Le principe RAII est ce qui différencie C++ de la plupart des autres langages.
Les objets alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par des auto_ptr<>, shared_ptr<>, etc.
D'ailleurs, il est très difficile d'appeler delete directement : où doit-on l'appeler ? En particulier, le code ci-dessous est incorrect :
int* ptr= new int; f(); delete ptr;
En effet, si f() lance une exception, le delete n'est jamais appelé ! (On peut bricoler avec des blocs try...catch mais c'est vite ingérable.)
D'où (par exemple) :
{ auto_ptr<int> ptr (new int); f(); ... }
Ici, C++ garantit que la mémoire sera libérée à la fin du bloc, quelle que soit la méthode de sortie (exception, cours normal, return, break, etc.)
Note qu'il y a des cas où on peut légitimement appeler delete, mais ils sont rares dans un programme donné.
Luc.Habert.00__arjf
Fabien LE LEZ :
Au contraire, c'est fondamental. Le principe RAII est ce qui différencie C++ de la plupart des autres langages.
Blah...
Les objets alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par des auto_ptr<>, shared_ptr<>, etc.
Ça ne marche pas avec des structures récursives...
D'ailleurs, il est très difficile d'appeler delete directement : où doit-on l'appeler ?
Bah oui, d'où la nécessité des GC, que l'on a dans les langages fonctionels, mais aussi dans java et C#, mais pas C++.
Fabien LE LEZ :
Au contraire, c'est fondamental. Le principe RAII est ce qui
différencie C++ de la plupart des autres langages.
Blah...
Les objets
alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent
s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans
wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par
des auto_ptr<>, shared_ptr<>, etc.
Ça ne marche pas avec des structures récursives...
D'ailleurs, il est très difficile d'appeler delete directement : où
doit-on l'appeler ?
Bah oui, d'où la nécessité des GC, que l'on a dans les langages fonctionels,
mais aussi dans java et C#, mais pas C++.
Au contraire, c'est fondamental. Le principe RAII est ce qui différencie C++ de la plupart des autres langages.
Blah...
Les objets alloués par new, il faut les deleter explicitement.
C'est quand même très rare. Beaucoup d'objets alloués par new savent s'auto-détruire (C'est le cas, par exemple, des objets "fenêtre" dans wxWidgets, et aussi probablement dans Qt) ; d'autres sont gérés par des auto_ptr<>, shared_ptr<>, etc.
Ça ne marche pas avec des structures récursives...
D'ailleurs, il est très difficile d'appeler delete directement : où doit-on l'appeler ?
Bah oui, d'où la nécessité des GC, que l'on a dans les langages fonctionels, mais aussi dans java et C#, mais pas C++.