[Index Software] Coin des développeurs :]

Pour les gens qui ont simplement envie de discuter sans souhaiter faire passer d'information particulière.
Avatar du membre
Tugdual
Modérateur
Messages : 41260
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Software] Coin des développeurs :]

Message par Tugdual »

Là, je ne saurais pas t'aider...
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

Merci quand-même.
Après ce n'est pas compliqué de convertir une durée en millisecondes en jours, minutes, secondes. C'est juste des divisions et des modulos.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41260
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Software] Coin des développeurs :]

Message par Tugdual »

Certes, mais il y a certainement tout ce qu'il faut dans les API.
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Scalt
Assidu
Messages : 252
Enregistré le : vendredi 4 août 2023 à 15:44

Re: [Index Software] Coin des développeurs :]

Message par Scalt »

Salut,
Bubu a écrit : jeudi 31 août 2023 à 9:26
Sinon, j'ai une question pour le Java. GetCurrentTimeMillis donne le temps qui s'est écoulé depuis le 1er Janvier 1970 en millisecondes. Existe-il une classe ou une API qui convertit ça en date ?
Tu peux créer un objet Date en lui passant la durée en millis en paramètre:

Code : Tout sélectionner

       
 long now = System.currentTimeMillis();
 Date resultDate = new Date(now);
Bubu a écrit : jeudi 31 août 2023 à 9:26 Et une question autre, qui est la même finalement, comment convertir une durée exprimée en millisecondes en jours, minutes, secondes ?
Tu peux les récupérer via la classe TimeUnit :

Code : Tout sélectionner

 long now = System.currentTimeMillis();
 
        String time = String.format("%d jours, %d heures, %d min, %d sec",
                TimeUnit.MILLISECONDS.toDays(now),
                TimeUnit.MILLISECONDS.toHours(now),
                TimeUnit.MILLISECONDS.toMinutes(now),
                TimeUnit.MILLISECONDS.toSeconds(now)
        );
        System.out.println(time);
TSA et TDAH diagnostiqués tardivement, début 2024
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

Merci beaucoup pour ta réponse, c'est exactement ce que je cherchais. :bravo:
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
seul
Prolifique
Messages : 2319
Enregistré le : mercredi 5 août 2015 à 3:32
Localisation : Clamart

Re: [Index Software] Coin des développeurs :]

Message par seul »

J'ai essayé une fois de programmer mais j'ai bloqué sur un point et ça m'a fait abandonné. J'arriverais à programmer des choses très simples en apprenant mais j'ai toujours du mal avec les choses compliquées.
Diagnostic d'autisme chez un psychiatre. Pas certain du diagnostic." Glorieuse civilisation, certes, dont le grand problème est de savoir comment se débarrasser des monceaux de cadavres qu'elle a faits, une fois la bataille passée." Marx
Avatar du membre
Scalt
Assidu
Messages : 252
Enregistré le : vendredi 4 août 2023 à 15:44

Re: [Index Software] Coin des développeurs :]

Message par Scalt »

De rien, avec plaisir bubu

Ça peut être décourageant oui.
Par contre, quand tu trouves la solution à un problème sur lequel tu as bloqué, c'est aussi beaucoup de satisfaction.
Open Classroom, c'est génial pour débuter sans être rebuté.
Ensuite tu apprends que programmer, c'est surtout apprendre à rechercher avec efficacité :
Tu peux trouver quasiment toutes les réponses à un problème dans les documentations ou forums spécialisés (stack overflow ).

Au début, j'ai eu du mal avec certaines notions abstraites en POO et ce livre "Programmation Java pour les enfants, les parents et les grands-parents" est génial car il vulgarise les concepts via des exemples très simples.
TSA et TDAH diagnostiqués tardivement, début 2024
Avatar du membre
seul
Prolifique
Messages : 2319
Enregistré le : mercredi 5 août 2015 à 3:32
Localisation : Clamart

Re: [Index Software] Coin des développeurs :]

Message par seul »

Scalt a écrit : dimanche 3 septembre 2023 à 13:11 De rien, avec plaisir bubu

Ça peut être décourageant oui.
Par contre, quand tu trouves la solution à un problème sur lequel tu as bloqué, c'est aussi beaucoup de satisfaction.
Open Classroom, c'est génial pour débuter sans être rebuté.
Ensuite tu apprends que programmer, c'est surtout apprendre à rechercher avec efficacité :
Tu peux trouver quasiment toutes les réponses à un problème dans les documentations ou forums spécialisés (stack overflow ).

Au début, j'ai eu du mal avec certaines notions abstraites en POO et ce livre "Programmation Java pour les enfants, les parents et les grands-parents" est génial car il vulgarise les concepts via des exemples très simples.
A une époque j'aurais voulu savoir programmer, aujourd'hui je peux m'en passer.
Diagnostic d'autisme chez un psychiatre. Pas certain du diagnostic." Glorieuse civilisation, certes, dont le grand problème est de savoir comment se débarrasser des monceaux de cadavres qu'elle a faits, une fois la bataille passée." Marx
Avatar du membre
Tugdual
Modérateur
Messages : 41260
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Software] Coin des développeurs :]

Message par Tugdual »

Stack Overflow :
Extrait :
Lassés de perdre des heures à chercher des solutions à leurs problèmes sur des forums désorganisés ou derrière des paywalls, les deux fondateurs ont souhaité mettre en oeuvre une plateforme communautaire afin d'y centraliser un maximum de connaissances.

Stack Overflow, dont le nom fait référence à une erreur de programmation courante rencontrée par les développeurs (le fameux dépassement de pile), s'est rapidement distingué par son système de votes, qui permet aux meilleures réponses de se démarquer et de gagner en visibilité pour le copier-coller.
Spoiler : 
h_stack_overflow.jpg
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

StackOverflow est un site assez génial. On a toutes les réponses, et si jamais la question est très ciblée, on la pose, et vu que la communauté est très peuplée, on a rapidement une ou plusieurs réponses.
Le dépassement de pile est souvent dû à une fonction récursive mal programmée et qui n'a pas de condition d'arrêt correcte. La fonction s'appelle et s'appelle encore donc les appels s'accumulent indéfiniment, ce qui provoque ce bug.

Merci pour le partage.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

J'utilise pas mal la récursivité.
Pour des animations 3D, pour générer des fractales. Et aussi pour le backtracking et le négamax.
On apprend la récursivité en première année scientifique.
Que l'on se destine à l'informatique ou pas.

Une chose importante et primordiale, c'est qu'il faut préciser la condition d'arrêt, de sortie. Il faut qu'elle soit béton. Sinon c'est une boucle sans fin et ça plante, faute de mémoire.
Dans un programme bien conçu ça n'arrive jamais. La pile ne sera jamais saturée.

On peut aussi s'en servir pour parcourir une arborescence, de fichiers et de dossiers par exemple.

Dans un arbre donné, on exécute le code pour un nœud, et on relance le même code pour chacun des nœuds suivants. On arrête quand on a atteint les feuilles.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41260
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Software] Coin des développeurs :]

Message par Tugdual »

TIO – Des interpréteurs de code gratuits :
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

L'avantage des langages basés sur le C, c'est que c'est la même syntaxe. Mais en plus élaborée notamment en C++, Java, C#, je dois en oublier d'autres.
L'assignation de valeur a une variable, c'est =.
La notion pour l'égalité entre 2 valeurs, c'est ==.
La multiplication, c'est le symbole *.
La soustraction, c'est le symbole -.
Pour la division, c'est le symbole /.
Et le modulo, (le reste de la division), c'est %.
Après il y a encore d'autres symboles qui servent en informatique.
++ sur une variable entière sert à l'incrémenter de 1.
-- c'est l'inverse, ça décrémente la variable de 1.
Il y a aussi les accumulations.
Le mot clé += veut dire qu'on incrémente la valeur selon le second paramètre.
Et -= qui décrémente la valeur d'une variable, de la valeur du second paramètre.
J'oublie les symboles de comparaison. C'est les mêmes qu'en maths élémentaires : c'est > pour plus grand que, et < pour plus petit que.
J'en ai encore oublié d'autres : <= signifie plus petit ou égal, et >= signifie plus grand ou égal.

Après le prof qu'on avait en 2éme année était lamentable. Aucune pédagogie, et il ne savait même pas ce qu'était un cast. (conversion d'un entier en flottant, etc. C'est pour changer de type)
Ce prof ne jurait que par SmallTalk. Oui, tout est objet dans ce langage, le code est lui-même objet. Mais si c'est juste pour programmer un Tetris, il est parfait! :evil:


Les casts en C, c'est juste mettre en parenthèses le nouveau type. Mais c'est dynamique.
Les casts en C, c'est juste mettre le type entre parenthèses
En C++ on peut le faire aussi, mais on peut le faire aussi pendant la compilation.
Il y a la balise <reinterpret cast>. Là, c'est le compilateur qui converti les types.
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"
Avatar du membre
Tugdual
Modérateur
Messages : 41260
Enregistré le : jeudi 15 novembre 2012 à 0:13
Localisation : Nord-44

Re: [Index Software] Coin des développeurs :]

Message par Tugdual »

Turbo Pascal, un environnement de développement intégré (EDI) :
Souvenirs...

:)
TCS = trouble de la communication sociale (24/09/2014).
Avatar du membre
Bubu
Intarissable
Messages : 7750
Enregistré le : dimanche 19 mai 2013 à 12:03
Localisation : En haut à gauche

Re: [Index Software] Coin des développeurs :]

Message par Bubu »

Tugdual a écrit : samedi 2 décembre 2023 à 16:11 Turbo Pascal, un environnement de développement intégré (EDI) :
Souvenirs...

:)
Il y a quelqu'un qui développe encore en Turbo Pascal ?
Au lycée, donc j'étais adolescent, j'ai eu 20 au premier trimestre, pareil pour le deuxième, et 3/20 au troisième. Pas glorieux. :lol:

J'ai commencé par le BASIC sur AppleIIc quand j'étais collégien. Ensuite je suis passé sur l'assembleur du 6502 sur le même ordinateur.
Enfin quand je dis assembleur, c'était carrément du langage machine, les mnémoniques n'existaient pas , il fallait une table qui convertissait les valeurs hexadécimales exécutives en mnémoniques! Les instructions. Il fallait suivre une table qui transformait une instruction hexadécimale en mnémonique. Ou l'inverse.


Pour ma calculatrice monochrome, j'ai programmé pour le Motorola 68000. (Assembleur). C'était une TI92 II. Elle est morte aujourd'hui.
C'est un processeur très puissant. Il gère le 8 bit, le 16 bit, et le 32 bit. Et il est intuitif à programmer.
Un niveau de jeu de plateforme. Bon, le personnage était un rectangle, et il n'y avait qu'un seul niveau. Par contre je tiens à signaler qu'il y avait 4 niveaux de gris!
Niveau GameBoy. Mais avec un écran plus grand. Ç'était comparable avec Mario2 sur GameBoy : caméra avec sa propre vitesse et accélération pour suivre le personnage, et une grille (le niveau) qui pouvait, en largeur comme en hauteur, évoluer dans le niveau.
La difficulté que j'ai rencontrée surtout, c'était l'affichage de sprites. Déjà il y a deux buffers: pour faire 4 niveaux de gris, on doit afficher 2 écrans qui n'ont pas la même fréquence.
Et, comme si c'était simple, 8 bits correspondaient à 8 pixels. Donc obligé de faire du clipping, et des rotations d'octets. Je vous épargne les détails. Mais ça m'a pris des jours pour arriver à afficher un sprite correctement. Et il y a aussi les symétriques des sprites!
J'imagine que les développeurs ont prévu ça dans leur firmware de la GameBoy.
Je ne me souviens plus exactement(ça date de plus de 20 ans), mais il me semble que j'avais fait un système qui gérait des sprites de 16bits et de 32bits. En largeur et en hauteur. Pour chaque mesure, c'était des carrés.
Ça ne ramait pas, mais dans mon code il y avait une grosse faute : je copiais le buffer sur l'écran, alors qu'il suffisait d'échanger les pointeurs. (Adresses mémoires)

Bon j'ai évolué depuis. Pour préciser, pour programmer en assembleur sur ma TI, j'utilisais l'OS Fargo. Via un câble maison relié à mon ordi.
Je programmais sur Notepad sur mon ordi, ensuite je compilais, et j'envoyais le code sur ma calcu.
Les programmes en assembleur sont exécutables depuis l'OS officiel de TI. Mais maintenait la TI92 est devenue obsolète.

Un truc qui m'énervait vraiment, c'étaient les plantages notamment ADRESS ERROR. Et en général, tous les plantages. La calculatrice était bloquée. Il fallait la rebooter, et tout réinstaller !. Combien de fois je n'ai pas rêvé de la fracasser contre le mur ! :lol:
(Mais si un ordinateur plante, on ne peut s'en prendre qu'à nous même!)
TSA, diagnostic établi à mes 33 ans par le CRA de ma région.
"Ce syndrome est caractérisé chez ce patient par l’absence de détérioration intellectuelle, un syndrome dysexécutif, un déficit d'attention"