1

Voila, je voudrai me lancer dans une programmation dans petit logiciel qui gèrerait une base de donnés (voir plusieurs base de données).

Avec quel outils puis je développé simplement ça (en fait il faudrait pouvoir afficher des infos de la base de donnée, et les saisir simplement).

J'avais pensé à Java, est ce un bon choix pour débuter ?
avatar
le site des boulais : www.boulais.net ou www.boulais.info
----------------------------------------------------------------------
J'aime pas les jeux vidéo, je sais pas pourquoi je suis là, déja que j'aime pas les gens...

2

ben si c'est juste "il faudrait pouvoir afficher des infos de la base de donnée, et les saisir simplement", access suffit très bien, pas besoin de programmer pour de l'insertion / consultation de base de donnée
Ancien pseudo : lolo

3

.NET ac un pti visual studio express & sql server 2005 express grin

fala fala
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

4

Sinon tu peux monter un EasyPHP (sauf si tu as la possibilité de mettre ça sur un "vrai" serveur) et faire ça en MySQL+PHP, ça se fait aussi.
avatar

5

Et tu peux aussi utiliser du C++, avec Qt, qui permet facilement de faire le lien entre une interface graphique et les données d'une bdd.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

6

(ou du java avec Qt Jambi)
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

7

Sasume (./5) :
Et tu peux aussi utiliser du C++, avec Qt, qui permet facilement de faire le lien entre une interface graphique et les données d'une bdd.
BookeldOr (./6) :
(ou du java avec Qt Jambi)

C'est exactement ce à quoi je pensais, merci à vous deux !!
avatar
le site des boulais : www.boulais.net ou www.boulais.info
----------------------------------------------------------------------
J'aime pas les jeux vidéo, je sais pas pourquoi je suis là, déja que j'aime pas les gens...

8

9

Si c'est pour faire du Qt, je ne vois pas trop l'intérêt de passer par le Java, pourquoi pas directement en C++?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

10

ça doit les amuser de dire "t'as vu j'ai fait un binding grin"

11

Ben pour utiliser un langage haut niveau, pour avoir un binaire et des plugins portables, pour ramer un max, pour avoir un IDE libre, gratuit et super bien intégré aux possibilités du langage, etc...
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

12

Pour bénéificier de l'élégance du java (pas de cont int & foo, ni de pointeurs, gestion automatique du tas, etc.)
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

13

En Erlang avec Mnesia !

Kochise
avatar
Si Dieu m'a de nouveau fait homme, cette fois il m'a pas raté : marcher sur l'eau et dupliquer les pains, ça marche p'us :/

14

BookeldOr (./11) :
pour avoir un IDE libre

Ce n'est pas libre si tu n'utilises pas un JVM libre, or Qt Jambi ne fonctionne pas du tout avec GCJ, donc c'est mort (en attendant IcedTea, mais Red Hat a trouvé des headers de licence problématiques dans OpenJDK et ils sont en train de demander une clarification à Sun).
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Autres trucs:
BookeldOr (./11) :
Ben pour utiliser un langage haut niveau

Le C++ peut être haut niveau aussi, ça dépend de comment on l'utilise. C'est son point fort, il y a tout, des concepts issus du C aux concepts de haut niveau comme justement ceux que Qt propose.
pour avoir un binaire et des plugins portables

Le C++ est portable aussi, il suffit de recompiler (et tu es de toute façon obligé de distribuer les sources si tu utilises la version gratuite de Qt vu qu'elle est sous GPL).
pour ramer un max

LOL, là je suis d'accord. grin
Sasume (./12) :
Pour bénéificier de l'élégance du java (pas de cont int & foo, ni de pointeurs, gestion automatique du tas, etc.)

Ce que tu appelles "élégance", moi je l'appelle "manque de flexibilité".

Quant à la gestion du tas, elle ne pose aucun problème dans un programme Qt bien codé, les classes de données de Qt sont partagées implicitement avec un compteur de référence (donc impossible d'avoir des leaks) et les objets complexes sont dérivés de QObject où chaque objet est censé avoir un objet parent, si l'objet parent est détruit, tous les objets enfant le sont automatiquement.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

16

Kevin Kofler (./15) :
BookeldOr (./11) :
Ben pour utiliser un langage haut niveau

Le C peut être haut niveau aussi, ça dépend de comment on l'utilise. C'est son point fort, il y a tout, des concepts issus du C aux concepts de haut niveau comme justement ceux que Qt propose.

Hmmm... non, d'abord car il n'a pas de GC.
Peut être avec la prochaine version de C++ car j'ai entendu parler qu'ils prévoyaient de permettre d'utiliser un GC (pas un truc bancal comme un GC à la Boehm).
Et puis C++ permet de coder à bas niveau donc ne peut pas bénéficier de toutes les optims et tous les gardes fous des langages haut niveau.
Par exemple, le typage peut être cassé sans vérification en C++, pas en Java.
Kevin Kofler (./15) :
pour avoir un binaire et des plugins portables

Le C++ est portable aussi, il suffit de recompiler (et tu es de toute façon obligé de distribuer les sources si tu utilises la version gratuite de Qt vu qu'elle est sous GPL).

roll, bon, je ne suis pas non plus très sensible à cette propriété, mais tu réponds à côté quand même.
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

17

BookeldOr (./16) :
Hmmm... non, d'abord car il n'a pas de GC.

Le GC ne sert pas si on code du C++ propre, cf. ./15, et cf. aussi la technique RAII (resource acquisition is initialization), où l'allocation est faite dans un constructeur (d'un objet sur la pile, chose que le Java ne permet pas, contenant le pointeur ou handle vers la vraie ressource) et la libération dans le destructeur correspondant (chose qu'un GC rend impossible, justement, donc le GC est embêtant dès que tu as des ressources qui ne sont pas libérables par le GC, genre des fichiers, tu te retrouves à coder des close() à la main comme en C).
pas un truc bancal comme un GC à la Boehm

À titre d'information, certaines implémentations du Java utilisent exactement le même, GCJ par exemple.
Et puis C++ permet de coder à bas niveau donc ne peut pas bénéficier de toutes les optims et tous les gardes fous des langages haut niveau.Par exemple, le typage peut être cassé sans vérification en C++, pas en Java.

C'est un avantage. tongue
roll, bon, je ne suis pas non plus très sensible à cette propriété, mais tu réponds à côté quand même.

Je dis que ça ne sert pas, surtout quand ton logiciel est sous GPL, ce qu'il est de toute façon si tu codes avec la version gratuite et libre de Qt.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

Kevin Kofler (./17) :
(chose qu'un GC rend impossible, justement, donc le GC est embêtant dès que tu as des ressources qui ne sont pas libérables par le GC, genre des fichiers, tu te retrouves à coder des close() à la main comme en C).

Il est tout à fait possible qu'un GC ferme les fichiers en libérant les handles (ceci dit, je ne sais pas ce que celui de Java fait).
Kevin Kofler (./17) :
À titre d'information, certaines implémentations du Java utilisent exactement le même, GCJ par exemple.

Oui, mais c'est loin d'être optimal.
Kevin Kofler (./17) :
Par exemple, le typage peut être cassé sans vérification en C , pas en Java.

C'est un avantage. tongue.gif

Pouvoir casser le typage sans aucun garde fou n'est pas un avantage. J'essayais d'être vraiment objectif (personnellement, je préfère C++ à Java), mais visiblement tu ne cherches qu'à troller avec des arguments totalement bidons, j'arrête là.
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

19

BookeldOr (./18) :
Il est tout à fait possible qu'un GC ferme les fichiers en libérant les handles (ceci dit, je ne sais pas ce que celui de Java fait).

Il ne le fait pas, il faut fermer le fichier à la main, sinon on leake des file descriptors. sick
Pouvoir casser le typage sans aucun garde fou n'est pas un avantage.

Il y a des warnings, sauf si tu fais quelque chose de type:
reinterpret_cast<foo *>(reinterpret_cast<void *>(my_ptr_to_bar))
mais à ce moment-là, le compilateur suppose que tu sais ce que tu fais.

Pouvoir s'affranchir des types quand on en a besoin est bel et bien un avantage.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

20

BookeldOr (./18) :
Kevin Kofler (./17) :
(chose qu'un GC rend impossible, justement, donc le GC est embêtant dès que tu as des ressources qui ne sont pas libérables par le GC, genre des fichiers, tu te retrouves à coder des close() à la main comme en C).
Il est tout à fait possible qu'un GC ferme les fichiers en libérant les handles (ceci dit, je ne sais pas ce que celui de Java fait).

Beurk, ce serait super crade parce que le moment de fermeture serait pas du tout déterministe sick La seule réaction logique ce serait plutôt de lancer une exception si on garbage-collecte une ressource non fermée ^^
Kevin Kofler (./17) :
À titre d'information, certaines implémentations du Java utilisent exactement le même, GCJ par exemple.
Oui, mais c'est loin d'être optimal.

Dans quel sens ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

21

Pollux (./20) :
BookeldOr (./18) :
Kevin Kofler (./17) :
(chose qu'un GC rend impossible, justement, donc le GC est embêtant dès que tu as des ressources qui ne sont pas libérables par le GC, genre des fichiers, tu te retrouves à coder des close() à la main comme en C).
Il est tout à fait possible qu'un GC ferme les fichiers en libérant les handles (ceci dit, je ne sais pas ce que celui de Java fait).

Beurk, ce serait super crade parce que le moment de fermeture serait pas du tout déterministe sick.gif La seule réaction logique ce serait plutôt de lancer une exception si on garbage-collecte une ressource non fermée ^^

Mouais, "ça se discute"©
Pollux (./20) :
Oui, mais c'est loin d'être optimal.
Dans quel sens ?

D'abord dans le sens où le GC de Boehm est un GC conservatif (à racines ambigues), donc si tu as alloué un gros bloc à l'adresse 42 et que ton programme contient une constante 42 qui n'a rien à voir avec un pointeur, la zone ne sera pas libérée ; de plus, si le langage fait des trucs tordus avec les pointeurs (genre les encoder, les transformer en offsets, appliquer des masques ou ce genre de trucs) le GC peut libérer des zones utilisées.
Un GC dédié à Java connaîtrait exactement la forme des structures, et donc saurait distinguer exactement ce qui est un pointeur de ce qui ne l'est pas.

De plus, comme il est générique, il n'est forcément pas optimal par rapport au fonctionnement de tel ou tel langage (au niveau du déclenchement, de la taille à libérer à chaque fois, du sous ensemble des racines et du tas à analyser à chaque passe, etc.).
Plus concrètement sur un exemple : un bon allocateur/GC pour Java mettrait (exemple bidon) les wrappers des types natifs (les classes Integer, Character, ...) dans une partie "éphémère" sur laquelle le GC serait déclenché plus souvent, alors qu'il mettrait des classes durant plus longtemps (genre les classes de fenêtres, les fichiers, les sockets, ...) dans une partie du tas nettoyée moins souvent.

Et si je ne me trompe pas, le GC de Boehm ne sait pas compacter, donc il ne libère pas souvent de la mémoire au système (voire jamais).
Le gros problème de perfs de Mono par rapport à .Net vient du fait qu'ils n'ont pas un super GC dédié et finement adapté mais qu'ils utilisent celui de Boehm (ils travaillent dessus).
avatar
fabetal_ > Hier, je me suis fait monter par un pote
redangel > et en chevals, ça donne quoi?
Nil> OMG I think I'm gay

22

ok d'accord sorry

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

23

Nil (./4) :
Sinon tu peux monter un EasyPHP (sauf si tu as la possibilité de mettre ça sur un "vrai" serveur) et faire ça en MySQL+PHP, ça se fait aussi.

oui

mais plutôt sqlite que mysql, c'est quand même plus simple d'emploi wink Et le php reste super simple à coder ^^
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

24

En Python avec MySQLdb et Qt pour affichage? Ou ce gtk?