begin process at 2010 03 17 07:42:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Débutant(e)

 > 

Je me prenais pour un "Cador" !!!


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Je me prenais pour un "Cador" !!!

lundi 26 janvier 2009 à 21:15:37 | Je me prenais pour un "Cador" !!!

mimo37


Bonsoir à Toutes et Tous,
Voilà, je me prenais pour un "Cador" car depuis 2 années j'ai développé via le VBA de Excel une application qui correspond tout à fait à nos besoins et je suis émerveillé par sa fiabilité de fonctionnement.
J'ai développé cette application comme beaucoup à partir des macros dans un premier temps et ensuite avec l'aide fournie et aussi un peu grâce à des questions posées ici sur des forums (très efficaces).
Maintenant que cette appli tourne sans souci, je me sens un peu desoeuvré et j'ai décidé que fort de mon expérience, j'avais un avenir certain dans ce domaine !!!! malgré mes 56 balais et mon BAC - 3 ! d'autant que je souhaite pousser plus loin le développement de mon application !
Qu'est ce que je découvre ?
Visual Basic, VB 6, VB.NET, VB 2005, qu'est ce que tout cela ?
Vais-je devoir apprendre tout cela ?, si c'est oui je reprends la trompette immediatement au détriment de l'informatique...
Quelqu'un saurait il m'expliquer simplement ce qu'il en est ?
Peut être que mes questions sont trop basiques alors peut être que certains sites pour débuter sont mieux adaptés, mais lequels?
Je sais la compétence qu'il existe sur ces forums et je suis certain que je trouverai un guide dans ce labyrinthe !
Merci par avance
Mimo37




lundi 26 janvier 2009 à 21:45:53 | Re : Je me prenais pour un "Cador" !!!

cosmobob

Réponse acceptée !
ha les vieux
lundi 26 janvier 2009 à 23:24:56 | Re : Je me prenais pour un "Cador" !!!

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Visual Basic, VB 6, VB.NET, VB 2005....
Tout ça c'est de la daube avec laquelle on n'a jamais rien produit (aucun vrai logiciel), laisse tomber. Reste sur VBA, c'est largement suffisant comme pseudo langage.

Faut te mettre au C, seul langage avec lequel on peut tout faire. Bien entendu c'est nettement plus compliqué mais tu pourras faire de vrais programmes.
Peu importe l'age puisque dans tous les cas c'est trop tard pour en faire une profession. Si tu te sens tous les neurones en place et connectés alors fonce sur le C.
Bon courage.

ciao...
BruNews, MVP VC++
mardi 27 janvier 2009 à 12:08:58 | Re : Je me prenais pour un "Cador" !!!

cosmobob

Réponse acceptée !
encore mieux : mets toi au c++

attention il faut d'abord bien comprendre les bases du C, mais par la suite c'est beaucoup beaucoup plus puissant.
mardi 27 janvier 2009 à 12:46:25 | Re : Je me prenais pour un "Cador" !!!

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
"puissant" ???
Tant que le mot n'aura pas officiellement changé de sens, c'est non.

ciao...
BruNews, MVP VC++
mardi 27 janvier 2009 à 13:38:32 | Re : Je me prenais pour un "Cador" !!!

uaip

Réponse acceptée !
Exact.. le C++ n'est pas plus "puissant" que le C, c'est simplement la façon de programmer qui est totalement différente (quoi que... en C, on prend une structure, avec quelques énumérations comme membres, et on obtient presque une classe).

Cordialement, uaip.
mardi 27 janvier 2009 à 14:55:14 | Re : Je me prenais pour un "Cador" !!!

rt15

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Visual Basic : Version "visuelle" du BASIC, un langage de programmation polyvalent pour débutants. Le "visual" signifiant que tu peux dessiner tes fenêtres par glisser/déposer des composants.

A l'heure actuelle, le Visual  Basic est en gros subdivisé en différentes heu... familles :
  • VB6 : Visual Basic 6. Environnement de développement Visual Basic en version 6. 10 ans d'âge. Obsolète selon Microsoft. Permet de faire des logiciels en natif ou en pseudo code interprété. Dernière version non dotnet, donc encore utilisée à cause de cela. Introuvable. Simple et facile d'emploi pour un débutant. Syntaxe très proche de VBA + fonctionnalités plus avancées.
  • VBA : Visual Basic for Applications. Tu connais il me semble.
  • VBScript : Proche de VBA/VB6. Permet de faire des scripts systèmes .vbs, un peu comme en remplacement du DOS. Utilisable aussi dans du HTML (On peut faire la même chose qu'en JScript le Java Script de Microsoft) à condition que le navigateur soit IE. Il n'y a pas encore de remplaçant au vbscript/jscript à ma connaissance (Un interpréteur de scripts systèmes très répandu sur les windows).
  • VB.NET : Changement de technologie : les logiciels sont compilés vers du pseudo code .NET. La syntaxe du VB change profondément, ainsi que la phylosophie, beaucoup plus tout objet, et les librairies. Dans l'ombre du C#. Utilisé pour coder ce site. Différents VB.NET sont sortis :
  1. VB 2002 (VB7). Première version .NET.
  2. VB 2003 (VB7.1). Passage au framework dotnet 1.1.
  3. VB 2005 (VB8). Passage au framework dotnet 2.0.
  4. VB 2008 (VB9). Passage au framework dotnet 3.5 (Globalement un 2.0 avec des librairies supplémentaires)
Tu dois pouvoir télécharger une VB 2008 edition express gratuitement. Par contre, l'apprentissage sera plus dur que si tu pouvais te procurer une VB6 qui est infiniment plus proche du VBA.

Si tu veux abandonner le VB (Le passage au VBA -> VB.NET est pas forcément évident...) je te conseille le Delphi. Tu peux télécharger Delphi 6 ici, et trouver une clé . L'aide fournie avec l'environnement de développement est de très bonne qualité. Le langage est simple à apprendre tout en permettant de réaliser des applications presque aussi légères, portables et performantes que le C. Delphi 6 est une vielle version largement suffisante en terme de fonctionnalités, tout en étant très légères à l'installation et très rapides à l'exécution sur les configurations "modernes".
mardi 27 janvier 2009 à 16:23:28 | Re : Je me prenais pour un "Cador" !!!

cosmobob

Réponse acceptée !
pourquoi dire que C++ n'est pas plus puissant que C?

déjà il faudrait connaitre parfaitement les deux langages

Argument simple, C est inclus dans C++, donc a fortiori tu peux faire davantage de choses en C++ qu'en C (exemple: les algorithme de tri générique en C, il y en a ou?? il faut créer une nouvelle fonction si le type qu'on veut manipuler change..)
Y'a pas à dire, sans parler de programmation objet, rien que la généricité avec les templates permet de faire des choses bien plus puissantes qu'en C.

La puissance d'un langage se mesure par le panel d'outils qu'il offre au programmeur.. Aucun outil du C n'est pas présent en C++, la réciproque étant fausse, C++ est plus puissant que le C..

et d'ailleurs plus difficile à comprendre à 100%..
mardi 27 janvier 2009 à 17:17:54 | Re : Je me prenais pour un "Cador" !!!

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Mais comme toute surcouche, le C++ masque l'implémentation, que soit pas template ou autre, le compilo aura écrit les autres fonctions et on ne les verra pas dans le script.
La belle affaire...
Pour autant c'est avec le C qu'on peut tout faire et non avec le C++. Essaie donc un 'new' sur une classe en kernel mode, tu nous raconteras.

ciao...
BruNews, MVP VC++
mardi 27 janvier 2009 à 20:21:58 | Re : Je me prenais pour un "Cador" !!!

rt15

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Pour étudier la puissance C vs C++, je me propose d'étudier un peu la fonction mathématique "puissance" justement.

Les macros du C permettent souvent de faire le même code que les templates du C++. Mais pas toujours, comme ici.

C'est un algo parfois cité comme exemple où le C++ et ses templates, permettant la meta programmation, est censé  permettre d'obtenir ni plus ni moins qu'un code plus optimisé. "Optimisé" au sens performance à l'exécution meilleurs que celle du C à ce que je comprend.

Comment ? On va en fait utiliser les templates pour que le code machine généré soit exactement le bon code. On évite boucle, tests, et théoriquement même la récursivité. On sait que :

x^Y = x * x ^ (Y - 1)
x^0 = 1

Code testé sous gcc :

#include <iostream>
#include <stdlib.h>
#include <windows.h>

#define X 5
#define Y 5

using namespace std;

template <int N> inline double Puissance(double x)
{
    return x * Puissance<N - 1>(x);
}
template <> inline double Puissance<0>(double x)
{
    return 1.0;
}

double inline PuissanceC(double x, int N)
{
    int i;
    double res;

    res = 1;
    for (i = N; i > 0; i--)
        res *= x;

    return res;
}

double inline PuissanceC2(double x, int N)
{
    if (N == 0) return 1.0;

    return x * PuissanceC2(x, N - 1);
}

int main()
{
    LARGE_INTEGER init;
    LARGE_INTEGER end;
    double res;

    QueryPerformanceCounter(&init);
    res = Puissance<Y>(X);
    QueryPerformanceCounter(&end);
    cout << res << " " << end.LowPart - init.LowPart << endl;

    QueryPerformanceCounter(&init);
    res = PuissanceC(X, Y);
    QueryPerformanceCounter(&end);
    cout << res << " " << end.LowPart - init.LowPart << endl;

    QueryPerformanceCounter(&init);
    res = PuissanceC2(X, Y);
    QueryPerformanceCounter(&end);
    cout << res << " " << end.LowPart - init.LowPart << endl;

    system("pause");
}


En théorie, le code C++ est plus rapide, et devrait être composé d'une série de Y multiplications par X. Pas de test, pas d'incrémentations... Un code "customisé" en somme.

En pratique, bif bof. Plutôt bof même. Faut dire que le compilo soit sacrément intelligent pour optimiser correctement notre template. Les résultats dépendent fortement de X et Y, et probablement des options de compilations.

Bon admettons que le compilo soit très intelligent. Faut se dire que ça va arriver un jour.

Conclusion : La voici, la preuve finale, ultime, suprême, incontestable, que comme le Java qui peut être plus rapide que le C (Je l'ai jamais vu celle là !) le C++ peut générer du code plus rapide que le C !

Brûlez le C !
Faîtes du C++ !

Nan partez pas encore, c'était une blague !

En fait on peut optimiser le code :
res = 3125;

Bah vi, tout est connu à la compilation !

Mais supposons que cela ne soit pas le cas...
Y est forcément connu pour que le compilo puisse générer le code du template.
Donc même pour le code C, un compilo intelligent pourrait inliner PuissanceC2 et dérouler la boucle.
Sachant qu'on peut l'inciter un peu plus à le faire avec une macro :

#define PuissanceC3(result, x, N) { \
    int i;                          \
                                    \
    result = 1;                     \
    for (i = N; i > 0; i--)         \
        result *= x;                \
}

Mais cela n'est pas si intéressant que ça à l'usage.

Vrai conclusion : Alors oui, je te plussois cosmobob : le C++ est plus puissant que le C. Tout le code ci-desssus est en C++ après tout. Mais un cas où les fonctionnalités que le C++ a en plus du C apporte quelque chose de vraiment positif je cherche encore.

Faut pas oublier les inconvénients des templates :
Codes généré plus gros, autant de fois que l'on instancie le template (Sous certaines condition, généré une seule fois pour un Y).
Temps de compilation plus élevé. C'est toujours "amusant" à constater sur les projets mixtes C/C++.
Pas des plus portables : Le code ci-dessus ne fonctionne pas sous VC6. Non testé sous un autre VC.
Plutôt technique à coder. Vite fait de faire une bourde et code pas des plus lisible.
Le débogage (Pas à pas...) est plus complexe, vu que le lien entre le source et le code généré est plus floux.


1 2

Cette discussion est classée dans : vb, application, développé, cador, prenais


Répondre à ce message

Sujets en rapport avec ce message

Comment déployer une BD mysql ? [ par pezpersonne ] Bonjour,G développé une application avec visual C++ qui utilise une BD mySQL.Lorsque j'ai développé mon appli je n'avais pas de problème puisque j'ava version de l'exécutable [ par KsmoinO ] je cherche un moyen tout simple de récupérer le numéro de version d'une application créée avec DevC++. je m'explique : je fais générer à DevC++ le num Lancer une application au démarrage d'une autre... [ par SonnyClouds ] Bonjour, et bravo pour le site, je le découvre ce soir ! Une idée me turlupine depuis un moment: Je voudrai pouvoir lancer une ou des applications ( cree une application sous LabVIEW [ par pierre49 ] bonjour a tous.je dois creer une application sous LabVIEW dans la kelle je dois faire une recuperation de donnees venant d un port USB. Si vous pouvez masquer une l'icône d'une fenetre [ par farzazzou ] salut mes colleguesj'ai une application qui tourne infinement je veux masquer l'icône de cette application pour ne plus la voir dans la barre des tâch Regénérer un fichier ODL [ par Radium The Hammer ] Bonjour je suis actuellement en stage et comme je débute en visual studio j'ai une petite question à vous poser: je dois continuer un code pré-éxistan Logiciel de dialogue en réseau (chat) [ par jpcoffe ] bonjour!je développe un chat réseau, j'ai déjà fait l'application serveur il me reste à développer l'application client; Il doit gérer une liste des a Application de questionnaires [ par jpcoffe ] Je souhaite développer une application permettant de répondre à un questionnaire sous forme de QCM. Le questionnaire doit pouvoir contenir un très gra Détection de plusieur fichiers depuis l'explorateur ?????? [ par nawakator ] Voila depuis un bout de temps je chercher à utiliser l'explorateur windows comme point d'entré de mon application je m'explique : j'ai rajouter dans l utilisation conjointe MFC et STL [ par TeLeTUbIz ] Bonjour à tous.   Après avoir longuement cherché, je m'offre à vous; je suis las et si personne n'a de réponse à m'offrir, c'est dit, je me lancerais


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales