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.

#201 Le 10/12/2010, à 15:38

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Mathieu147 a écrit :

Je me suis pas très bien exprimé, je voulais juste dire que switch n'est pas nécessairement indispensable

Dans ce cas, on est d'accord.
Pour pousser le raisonnement, les if-else, for et while ne sont pas nécessairement indispensable non plus car on peut tout faire avec des goto big_smile.

grim7reaper a écrit :

un switch est plus performant qu'une suite d'if-else, et un for s'optimise plus facilement qu'un while il me semble

Honnêtement, je n'en sais rien, mais je trouverais ça étonnant. Peut-être que pour le switch il y a des astuces, mais un for c'est vraiment un while comme j'ai montré plus haut.

Non, pas vraiment étonnant.
Pour le switch, le compilo peut (ça dépend des compilos bien sûr) faire une espèce de table de saut optimisé.
Pour les for, tu sais quand la boucle va se finir et par pas de combien elle progresse donc c'est plus simple pour le compilo quand il veut dérouler les boucles (du moins il me semble). C'est bien sûr aussi visible dans les while, mais beaucoup moins (donc le compilo aura plus de mal ou ne le fera pas du tout, selon le compilo).

sebz_ a écrit :

C'est pire que SI SINON quand t'oublie une parenthèse, tu t'arraches les cheveux.

Tu as tout compris.

Hors ligne

#202 Le 10/12/2010, à 15:43

sebz_

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :
Mathieu147 a écrit :

Je me suis pas très bien exprimé, je voulais juste dire que switch n'est pas nécessairement indispensable

Dans ce cas, on est d'accord.
Pour pousser le raisonnement, les if-else, for et while ne sont pas nécessairement indispensable non plus car on peut tout faire avec des goto big_smile.

J'aimais bien les goto quand je fesais des petit prog sous MO5. Ca renvoyait sur un numéro de ligne. Depuis je ne l'ai jamais réutilisé.

Dernière modification par sebz_ (Le 10/12/2010, à 15:48)


Desktop : 14.04 LTS 64 bits / ASUS M4A89GTD PRO / DDR3 8Go / Phenom II 4x 955 Black Edition / ATI HD6870 / DLINK Airplus Xtrem 108mb/s

Hors ligne

#203 Le 10/12/2010, à 15:46

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

goto c'est comme les variables globales, ça peut parfois sauver la mise mais il ne faut surtout pas en abuser (et c'est mal utilisé dans 90% des cas donc ça a une réput' de merde aussi)

Hors ligne

#204 Le 10/12/2010, à 15:49

sebz_

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :

goto c'est comme les variables globales, ça peut parfois sauver la mise mais il ne faut surtout pas en abuser (et c'est mal utilisé dans 90% des cas donc ça a une réput' de merde aussi)

Ok, je comprends mieux pourquoi je l'utilise pas et qu'on le vois très rarement.


Desktop : 14.04 LTS 64 bits / ASUS M4A89GTD PRO / DDR3 8Go / Phenom II 4x 955 Black Edition / ATI HD6870 / DLINK Airplus Xtrem 108mb/s

Hors ligne

#205 Le 10/12/2010, à 16:04

Mathieu147

Re : Windev et Webdev, c'est super ou c'est super nul?

sebz_ a écrit :

C'est quoi que t'appelle un gardien de boucle ?

C'est pas un terme universellement reconnu, c'est un terme utilisé par un de mes anciens profs. C'est ça:

while (gardien) {
  //Corps de la boucle
}

Il appelle ça le gardien parce que c'est ça qui «monte la garde» à l'entrée de la boucle pour savoir si il faut l'exécuter ou pas.

Dans ton cas, c'est le «i < 15» juste après «A FAIRE TANTQUE».

grim7reaper a écrit :

Pour le switch, le compilo peut (ça dépend des compilos bien sûr) faire une espèce de table de saut optimisé.

Je ne vois pas ce que tu veux dire.

grim7reaper a écrit :

Pour les for, tu sais quand la boucle va se finir et par pas de combien elle progresse donc c'est plus simple pour le compilo quand il veut dérouler les boucles (du moins il me semble). C'est bien sûr aussi visible dans les while, mais beaucoup moins (donc le compilo aura plus de mal ou ne le fera pas du tout, selon le compilo).

Non, pas spécialement. Dans plein de cas on fait

for (int i=0;i<10<i++) {
  …
}

mais on pourrait faire des trucs plus marrants:

for (int i=0;i<10<;uneFonction()) {
  …
  i = resultatDUneFonction(i);
  …
}
sebz_ a écrit :

Depuis je ne l'ai jamais réutilisé.

Et tu as eu bien raison!


Pffff…

Hors ligne

#206 Le 10/12/2010, à 16:19

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Mathieu147 a écrit :
sebz_ a écrit :

C'est quoi que t'appelle un gardien de boucle ?

C'est pas un terme universellement reconnu

Non, chez moi on appelle ça une condition. Pour moi un gardien c'est ça.
Comme quoi…

grim7reaper a écrit :

Pour le switch, le compilo peut (ça dépend des compilos bien sûr) faire une espèce de table de saut optimisé.

Je ne vois pas ce que tu veux dire.

Si je te dis table de branchement, ça te parle plus ?

Non, pas spécialement. Dans plein de cas on fait

for (int i=0;i<10<i++) {
  …
}

mais on pourrait faire des trucs plus marrants:

for (int i=0;i<10<;uneFonction()) {
  …
  i = resultatDUneFonction(i);
  …
}

Avant de débattre du "pas spécialement", c'est quoi ce langage ?
Pas du C ni du C++ en tout cas (bien que la syntaxe y ressemble à certains endroits).

sebz_ a écrit :

Depuis je ne l'ai jamais réutilisé.

Et tu as eu bien raison!

Tiens, qu'est ce que je disais…

Dernière modification par grim7reaper (Le 10/12/2010, à 16:21)

Hors ligne

#207 Le 10/12/2010, à 16:27

sebz_

Re : Windev et Webdev, c'est super ou c'est super nul?

Je viens d'installer Qt Designer, on peut faire une IHM sympa.

Mais comment on se connecte une base de données ?

J'aimerai pour tester, faire un simple carnet d'adresse.

C'est quoi comme langage ?

Edit : Ah je viens j'ouvrir Qt Creator, peut être que...

Dernière modification par sebz_ (Le 10/12/2010, à 16:31)


Desktop : 14.04 LTS 64 bits / ASUS M4A89GTD PRO / DDR3 8Go / Phenom II 4x 955 Black Edition / ATI HD6870 / DLINK Airplus Xtrem 108mb/s

Hors ligne

#208 Le 10/12/2010, à 16:31

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Qt à la base c'est du C++, mais il y a des bindings avec pas mal d'autres langages (dont Python).

Hors ligne

#209 Le 10/12/2010, à 16:39

sebz_

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :

Qt à la base c'est du C++, mais il y a des bindings avec pas mal d'autres langages (dont Python).

C'est puissant, mais j'arriverai à rien avec C++. Je me suis trop habitué au Wlangage hmm


Desktop : 14.04 LTS 64 bits / ASUS M4A89GTD PRO / DDR3 8Go / Phenom II 4x 955 Black Edition / ATI HD6870 / DLINK Airplus Xtrem 108mb/s

Hors ligne

#210 Le 10/12/2010, à 16:41

Mathieu147

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :
grim7reaper a écrit :

Pour le switch, le compilo peut (ça dépend des compilos bien sûr) faire une espèce de table de saut optimisé.

Je ne vois pas ce que tu veux dire.

Si je te dis table de branchement, ça te parle plus ?

Oui smile

grim7reaper a écrit :

Non, pas spécialement. Dans plein de cas on fait

for (int i=0;i<10<i++) {
  …
}

mais on pourrait faire des trucs plus marrants:

for (int i=0;i<10<;uneFonction()) {
  …
  i = resultatDUneFonction(i);
  …
}

Avant de débattre du "pas spécialement", c'est quoi ce langage ?
Pas du C ni du C++ en tout cas (bien que la syntaxe y ressemble à certains endroits).

100px-Java_Logo.svg.png

grim7reaper a écrit :
sebz_ a écrit :

Depuis je ne l'ai jamais réutilisé.

Et tu as eu bien raison!

Tiens, qu'est ce que je disais…

Tu disais que ça avait mauvaise réputation, et je le confirme! Personnellement, je n'ai jamais du m'en servir.


Pffff…

Hors ligne

#211 Le 10/12/2010, à 16:50

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Mathieu147 a écrit :
grim7reaper a écrit :

Non, pas spécialement. Dans plein de cas on fait

for (int i=0;i<10<i++) {
  …
}

mais on pourrait faire des trucs plus marrants:

for (int i=0;i<10<;uneFonction()) {
  …
  i = resultatDUneFonction(i);
  …
}

Avant de débattre du "pas spécialement", c'est quoi ce langage ?
Pas du C ni du C++ en tout cas (bien que la syntaxe y ressemble à certains endroits).

Java

Bah non.
Chez moi ça compile pas, je ne suis pas sur que les

i < 10 < ??

soit autorisé.
Sinon dans tes exemples, le premier ne me contredit pas et le second est un non-sens sémantique, dans ce cas il faut utiliser un while

Tu disais que ça avait mauvaise réputation, et je le confirme! Personnellement, je n'ai jamais du m'en servir.

En Java ou dans les langages qui ont un mécanisme d'exception c'est normal.
C'est en C où c'est parfois utile.

Dernière modification par grim7reaper (Le 10/12/2010, à 16:51)

Hors ligne

#212 Le 10/12/2010, à 16:58

Mathieu147

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :

Chez moi ça compile pas, je ne suis pas sur que les

i < 10 < ??

soit autorisé.

Oui mais ça c'est normal, c'est une faute de frappe tongue

grim7reaper a écrit :

Sinon dans tes exemples, le premier ne me contredit pas et le second est un non-sens sémantique, dans ce cas il faut utiliser un while

C'est pas pour ça que la syntaxe est invalide wink Et dans un «bête for» comme le premier, on peut toujours modifier i à l'intérieur de la boucle quand-même.

grim7reaper a écrit :

Tu disais que ça avait mauvaise réputation, et je le confirme! Personnellement, je n'ai jamais du m'en servir.

En Java ou dans les langages qui ont un mécanisme d'exception c'est normal.
C'est en C où c'est parfois utile.

Ouais, j'ai jamais fait énormément de C…


Pffff…

Hors ligne

#213 Le 10/12/2010, à 17:03

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Mathieu147 a écrit :

C'est pas pour ça que la syntaxe est invalide wink

Oui, la syntaxe est valide, mais pas la sémantique…

Et dans un «bête for» comme le premier, on peut toujours modifier i à l'intérieur de la boucle quand-même.

Pas si on est respectueux de la sémantique !
En C++ je peux surcharger les opérateurs, et rien ne m'empêche de faire la multiplication de matrice avec l'opérateur -, l'addition avec /, le déréférencement avec ++, etc.
D'un point de vue syntaxique c'est tout à fait juste, mais d'un point de vue sémantique c'est une aberration.
Et bien là c'est pareil (en moins flagrant, je te l'accorde).

Dernière modification par grim7reaper (Le 10/12/2010, à 17:13)

Hors ligne

#214 Le 10/12/2010, à 17:10

sebz_

Re : Windev et Webdev, c'est super ou c'est super nul?

N'empêche que Windev avec Wlangage, c'est plus facile que Qt Creator avec C++. hmm


Desktop : 14.04 LTS 64 bits / ASUS M4A89GTD PRO / DDR3 8Go / Phenom II 4x 955 Black Edition / ATI HD6870 / DLINK Airplus Xtrem 108mb/s

Hors ligne

#215 Le 10/12/2010, à 17:10

The Uploader

Re : Windev et Webdev, c'est super ou c'est super nul?

Prend le binding Python..

Dernière modification par The Uploader (Le 10/12/2010, à 17:11)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#216 Le 10/12/2010, à 19:09

Elzen

Re : Windev et Webdev, c'est super ou c'est super nul?

(Au sujet de l'histoire du switch // if elseif else, ne pas oublier non plus que les deux ne sont pas équivalents. Deux exemples que j'ai dû coder récemment :

/* Jeu d'échec en HTML+JavaScript */
function iswhite(piece) {
    switch (piece) {
        case "&#9818;":
        case "&#9819;":
        case "&#9820;":
        case "&#9821;":
        case "&#9822;":
        case "&#9823;":
            return false; 
        case "&#9812;": 
        case "&#9813;": 
        case "&#9814;": 
        case "&#9815;": 
        case "&#9816;":
        case "&#9817;":
            return true;
    }
}
/* Fonction de manipulation d'un robot en Java */
public void gotoNorth() {
    switch(this.direction) {
        case EAST:
            turnRight();
        case SOUTH:
            turnRight();
        case WEST:
            turnRight();
        default:
            break;
    }
}

Des fois il n'y a pas de break ^^

Edit : je précise au cas où que le robot ne peut pas tourner à gauche, sinon le cas EAST serait un peu différent ^^)

Dernière modification par ArkSeth (Le 10/12/2010, à 19:22)

Hors ligne

#217 Le 10/12/2010, à 19:34

samυncle

Re : Windev et Webdev, c'est super ou c'est super nul?

sebz_ a écrit :

N'empêche que Windev avec Wlangage, c'est plus facile que Qt Creator avec C++. hmm

The Uploader a écrit :

Prend le binding Python..

+1 prend le python tu verras, c'est simple


Hello world

Hors ligne

#218 Le 10/12/2010, à 19:37

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Oui, il vaut mieux.
Parce que passer de Windev à C++ ça risque de faire un choc culturel un peu violent ^_^.
Avec Python la transition devrait être moins brutale.

Dernière modification par grim7reaper (Le 10/12/2010, à 19:37)

Hors ligne

#219 Le 10/12/2010, à 19:42

samυncle

Re : Windev et Webdev, c'est super ou c'est super nul?

et si je puis me permettre, avant de tenter directement l'aventure Qt fait déjà un peu de python basique pour avoir une idée à quoi ça ressemble.


Hello world

Hors ligne

#220 Le 10/12/2010, à 20:14

HP

Re : Windev et Webdev, c'est super ou c'est super nul?

Clair… si en plus il ne connaît pas la POO, ça va être de toute façon ardu !


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#221 Le 10/12/2010, à 20:22

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Ha oui, Qt sans POO ça va être hard.
J'avais pas pensé à ça…

Hors ligne

#222 Le 10/12/2010, à 20:31

HP

Re : Windev et Webdev, c'est super ou c'est super nul?

grim7reaper a écrit :

Ha oui, Qt sans POO ça va être hard.

Je ne recommande pas plus pyGTK…
Il doit juste lui rester Tkinter… pour faire de jolies interfaces à la Wind'Oz 95…

Dernière modification par HP (Le 10/12/2010, à 20:32)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#223 Le 10/12/2010, à 20:32

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Bah, la Xlib c'est pas trop objet non plus big_smile (bon, je sais pas s'il y a un binding Python par contre, mais ça doit se trouver).

Dernière modification par grim7reaper (Le 10/12/2010, à 20:32)

Hors ligne

#224 Le 10/12/2010, à 20:35

HP

Re : Windev et Webdev, c'est super ou c'est super nul?


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#225 Le 10/12/2010, à 20:40

grim7reaper

Re : Windev et Webdev, c'est super ou c'est super nul?

Non, j'en était quasi-sûr, mais la flemme de chercher pour en avoir le cœur net.

Hors ligne