Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN
Bidouille & Développement Informatique
Articles
Tutoriels

Le pub des programmeurs

  • 1 927 réponses
  • 117 participants
  • 132 823 vues
  • 130 followers
Sujet de la discussion Le pub des programmeurs
Salut :coucou: y a des programeurs sur AF si oui vous bossez sous quoi ?
Afficher le sujet de la discussion
876
Pas de pb, je suis là. Ce n'est pas un problème de STL, c'est un problème de C/C++.
std::map<Key, int> a();
C'est la déclaration d'un type de fonction, pas d'une std::map. Enlèbe les () et ça marchera.

Hors sujet : Oui, j'ai vu :) Mais pour l'instant, je suis plongé dans l'implémentation des optimiseurs, une fois que ça, ça sera fini, j'ai envie de continuer mon projet de gestion de pipeline de traitement à la Orange + j'aimerai proposer une partie de mon code de thèse en GPL + porter la toolbox su livre DAFX... Que d'objectifs...
Le principal point qui me rebute pour le C ou C++ pour le moment, c'est de ne pas avoir de moyen simple pour passer des tableaux sans copie entre Python et eux, mais bon...
Autre pb des compilateurs C++ avec Python, c'est qu'il y a plus de warnings parce que Python ne les gèrent pas correctement. Donc je suis passé... à Scons pour une partie de mon code. T'as raison, c'est pas mal du tout comme bestiole, malgré quelques déconvenues au début (non support du dernier SDK de Microsoft, ...)

877
En fait,le probleme etait du a g++ (le coup des parentheses, je l'ai capte par apres sur un autre point). Le code suivant non plus ne marche pas:


#include <map>
#include <vector>

template <class Key>
void floupi()
{
std::vector<Key> a;
std::vector<Key>::iterator iter = a.begin();
}


Le probleme est que g++ ne comprend pas la notion de "generic iterator"... Je suis en train d'implementer une memoization simple, mais putain que c'est complique en C++. Franchement, quand t'es habitue au duck typing, c'est vraiment dur de revenir a un langage sans.
878

Hors sujet :

Citation :
T'as raison, c'est pas mal du tout comme bestiole, malgré quelques déconvenues au début (non support du dernier SDK de Microsoft, ...)



C'est pas trop mal scons, mais le probleme, c'est que c'est vraiment trop limite comme outils de distribution. Comme outil de build, c'est bien. Comme distribution, bof.

J'ai essaye de voir si scons pouvait remplacer distutils pour numpy, parce que franchement, je trouve que distutils est le pire membre de la lib standard que je connaisse. Mais le support fortran est pas trop...

879
C'est à nouveau la norme C++ qui est comme ça. Pour dire qu'un attribut dans un type template est un type, il faut que tu ajoutes typename au début de l'instruction.
880

Hors sujet :

Citation : C'est pas trop mal scons, mais le probleme, c'est que c'est vraiment trop limite comme outils de distribution. Comme outil de build, c'est bien. Comme distribution, bof.

J'ai essaye de voir si scons pouvait remplacer distutils pour numpy, parce que franchement, je trouve que distutils est le pire membre de la lib standard que je connaisse. Mais le support fortran est pas trop...


Je me suis pris la tête aussi avec SCONS, mais bon...
Il y a dans la dernière release non stable un objet Package pour créer un tarball ou ce genre de chose. C'est un début, je pense qu'on va dans la bonne direction.
Je suis du même avis que toi pour distutils, et setuptools n'est pas génial non plus, il y a des limitations énormes. au moins avec Scons, je peux utiliser un Visual 2005 sans avoir à recompiler Python, numpy, scipy, ..., parce qu'un Visual 2003 qui n'est plus téléchargeable, c'est pas vivable pour un labo.

881

Citation :
C'est à nouveau la norme C++ qui est comme ça. Pour dire qu'un attribut dans un type template est un type, il faut que tu ajoutes typename au début de l'instruction.



Ah ouais, subtile... J'avais reussi a tourner autour en utilisant for_each, et c'est le genre d'info impossible a trouver sur le net quand t'as pas de reference sous la main (mon stroustrup a pas fait partie des priorites pour le Japon :) ).

Citation :

Il y a dans la dernière release non stable un objet Package pour créer un tarball ou ce genre de chose. C'est un début, je pense qu'on va dans la bonne direction.



Ah non mais ca, je m'etais fait moi meme un builder tarball, c'est encore pas trop complique. Non, ce qui est chiant avec scons, c'est tout ce que te donne autoconf au niveau customisation. Par exemple, comment simplement ajouter une dependance a une librairie externe de maniere simple a tous les niveaux, pas seulement pour la compilation (typiquement, comment faire si la librairie est pas dans un truc standard, etc...). L'autre probleme, c'est que je trouve que scons ne fournit pas de moyen simple d'ajouter conditionnellement des options: typiquement, j'aimerais bien dire: rajoute -W -Wall -Wextra etc... si le compilo est gcc.

Je trouve que c'est la que reside l'avantage d'autoconf dans le principe: parce qu'il teste pour une implementation, par pour une version. Apres, c'est une horreur au niveau de l'implementation et cie. L'autre probleme de scons, c'est sa lenteur.
882
Merci pour la réponse sur le JS du menu déroulant ;)

j'ai une autre question : j'ai trouvé un site qui donne les bases de la programmation php; j'ai donc fait mon premier code sous Wordpad:
<?php echo "Bonjour !";?>
Ils disent d'enregistrer la page du code en .php, mais le problème est que quand je fais ça, ça se sauvegarde quand même en fichier txt... j'ai essayé d'ouvrir la page en tant que fichier web mais il me met un message d'erreur du genre "ne peut pas ouvrir...".
Vous les écrivez sous quoi vos progs php ?
883

Citation :

j'ai une autre question : j'ai trouvé un site qui donne les bases de la programmation php; j'ai donc fait mon premier code sous Wordpad:



Deja, pour la programmation, t'oublies wordpad :) Lorsque je dois supporter windows, j'utilise notepad++

http://notepad-plus.sourceforge.net/uk/site.htm

Leger, fait la coloration syntaxique.

Ensuite, pour le php, faut etre conscient que comme c'est un langage interprete cote serveur, il faut que tu aies un serveur web avec support php sur ta machine pour tester php (ou avoir un ISP qui te fournit ce service). Une page html, c'est le browser qui fait le boulot (pour simplifier, le serveur ne fait que mettre a disposition le fichier html, ton browser le telecharge, et ensuite l'interprete); php, c'est le serveur qui fait le boulot (ton browser se connecte a une "page", et la le serveur execute le code php, qui donne du html, qui est ensuite interprete par ton browser).
884
Si ça peut en intéresser certains (un pote me l'a indiqué, je sais pas trop ce que c'est) :

Citation : Strasheela is a highly expressive constraint-based music composition system.

The Strasheela user declaratively states a music theory and the computer generates music which complies with this theory. A theory is formulated as a constraint satisfaction problem (CSP) by a set of rules (constraints) applied to a music representation in which some aspects are expressed by variables (unknowns). Music constraint programming is style-independent and is well-suited for highly complex theories (e.g. a fully-fledged theory of harmony). User-interface is the programming language Oz. The results can be output into various formats including MIDI, Csound, and Lilypond.



Strasheela est ici...
885

Citation : Je trouve que c'est la que reside l'avantage d'autoconf dans le principe: parce qu'il teste pour une implementation, par pour une version. Apres, c'est une horreur au niveau de l'implementation et cie. L'autre probleme de scons, c'est sa lenteur.


Le pb, c'est qu'autoconf, c'est que pour gcc/icc, pas trop possible à utiliser pour Windows...
Pour ce qui est des drapeaux à ajouter, effectivement, c'est nul, je teste simplement sur la plateforme, mais normalement, il est possible de tester le toolset utilisé, c'est plus propre.
886
Ok merci pour la réponse, j'ai Easy Php sur mon ordinateur , mais seulement à Paris :((( donc ici je ne peux rien faire... :nawak:
887
Cosmicsee>
Pour l'éditeur à coloration syntaxique, comme l'a mentionné Gabou, ça devient rapidement indispensable pour identifier les différents langages imbriqués au sein d'une page ouaibe générée dynamiquement. Sinon, ça devient vite ingérable.
Perso, j'aime bien ces deux là:
https://www.pspad.com/fr/ (très complet, peut-être trop)
http://www.context.cx/ (super sobre et efficace)

Pour PHP, un lien vaut mieux qu'un long discours:
https://fr.wikipedia.org/wiki/WAMP

Ensuite, il faut passer sa vie dans les bouquins ou sur les sites de dev:
https://www.developpez.net/forums/index.php
https://www.editions-eni.fr
https://www.editions-eyrolles.com
etc...

[edit]
Il suffit d'ouvrir un compte gratuit chez Free pour disposer d'un espace web de 10Go compatible php...
https://subscribe.free.fr/accesgratuit/
[/edit]

Bon courage. :mrg:

« What is full of redundancy or formula is predictably boring. What is free of all structure or discipline is randomly boring. In between lies art. » (Wendy Carlos)

888

Hors sujet :
Ca yest ma sgi est arrivée (ce matin) :D:

Elle a l'air de fonctionner (en tous cas elle démmare et je peut l'utiliser via hyperterminal) La connectique audio est effectivement intéressante il y a une entrée micro minijack
une sortie audio minijack
Une entrée et une sortie ligne en rca
Une entrée et une sortie coaxiale
Une entrée et une sortie adat

Et tout ca de série on est loin des AC'97 et temp mieux :D:
J'achête bientot un adaptateur pour la branchée à un écran vga.

889
Salut à tous,
Pas évident de s'incruster dans un thread de presque 100 pages...:8O:
(En fait non; de s'incruster c'est évident : la preuve; mais d'attirer l'attention d'une peuplade bien perchée de programmeurs expérimentées, c'est autre chose...esssayons quand même...HééééééOOOOOO <-- avec bcp de reverb, de delay, et de décibels ! )
***
Peut être que le sujet a été largement abordé, mais je vous avoue avoir lu ce thread en diagonale dans un premier temps (mais j'y reviens de tps en tps)
Voilà :
Je fais partie de ces nombreux débutants désireux de se lancer dans la programmation en C++ d'appli midi et je m'informe un peu partout de façon à éviter de mettre les mains dans un cambouis périmé...
Dans un premier temps, qq éclaircissements sur ces points :
1. Connaissez-vous le livre "Maximum MIDI" de Messick et qu'en pensez-vous ?
( compliqué ? désuet? Bref...Ce serait dommage de passer du temps à réinventer la roue s'il existe autre chose de + performant, + simple etc...)
2. Aujourd'hui, (pourquoi dis-je aujourd'hui ?) quelles librairies a t-on besoin d'inclure dans un fichier C++ pour faire du midi ?
3. Parmi les grandes thèmatiques à bien cerner pour une telle besogne, qu'ajouteriez-vous à celles-ci :
T1_ le langage C++ ;
T2_ le protocole midi (routage mais aussi codage de l'information...)
T3_ Windows et midi ;
T4_ les dll spécifiques au traitement midi ;
890
1. Non, du tout. Mais si tu as déjà une expérience d'utilisateur du MIDI, tout ce dont tu a besoins est là : https://www.midi.org/about-midi/table1.shtml.
Et les mains dans le cambouis, tudju ! :bravo:

2. Regarde JUCE (http://www.rawmaterialsoftware.com/juce/) ou TSE3 (http://tse3.sourceforge.net/, quoi que TSE c'est plutôt pour Nunux)

3. En fait, j'aurais tendance à en virer des "thématiques" :D:.
- T1: Apprends le C++, clairement.
- T2: Si tu a déja utilisé un clavier/pédalier/surface de contrôle MIDI, tu sais déjà à peu près tout
- T3: On s'en fout, trouve une bonne lib' mult-plateforme pour pas avoir à te prendre le choux avec ça. :non:
- T4: Comme T3, mais puissance 10.
My name is john, '_' john.
891
C'est pour faire quoi? des vst midi? des applis stand alone? un sequencer?
892
Je trouve perso que la contrainte apprendre le C++ est pas du tout fondamentale. Si ce que tu veux faire, c'est gerer du midi, et que tu ne connais pas beaucoup le C++, franchement, prend un langage plus facile, pas le C++ qui a une complexite de fou pour une expressivite somme toute assez faible, justifiee seulement (et encore) pour de gros projets ou des projet demandant des performences optimales.

A moins d'etre un gros pros du C++, et encore, je pense que pour se familiariser avec une technologie, il y a pleins de langages bien plus adaptes, que ce soit dans les langages de "script" (python, ruby), fonctionnels (CLISP, ML comme OCAML), etc... Apres, si tu veux inclure ca dans un plugin VST, ou dans un projet de grosse taille, tu pourras le faire en C++. Mais en commencant avec un langage qui ne va pas te poser de problems n'ayant rien a voir avec le sujet, ce sera nettement mieux. Ca peut meme etre l'occasion d'apprendre un nouveau langage.
893
+1 avec gabou au sujet du C++. Tu risque de passer beaucoup de temps a apprendre le langage pour "pas grand chose" de plus au début.

Hors sujet :
@Zubiko> Alors tu a pu en savoir plus pour le support des logiciels? En cherchant un peu sur google je suis tombé sur une page d'un mec de Alsa qui disait que c'était une super machine pour faire un HDR. Mais je n'ais pas trouvé trace de driver alsa. Apparament il y en a un, maisje sais pas si il supporte l'ADAT etc. A la limite c'est pas trop dur de faire un driver si le reste fonctionne bien.
Je suis très intéressé :D (en fait j'ais une digi32/8 pci, mais je ne sais pas si j'aurais encore un slot PCI libre sur ma prochaine machine... alors en avoir une dédié a l'enregistrement ca peut etre sympa).

894

Hors sujet : La sgi supporte l'adat d'orrigine (quelques photos => http://sdiyfr.free.fr/sgi) le seul problême c'est la sortie video qui n'est pas en vga (faut soit un adaptateur spécial soit un écran spétial) En ce qui concerne les logiciels j'ai enttendu parler d'un synthé modulaire virtuel que tu peut programmer. Ca doit être quelque chose comme tu met un module et t'écrit quelques ligne de code pour un filtre par example. En e qui concerne le HDR effectivement ca peut être intéréssant, car bon c'est du scsi et la carte audio est intéréssante. Par contre je crois pas qu'il soit possible d'y installer Ardour. Mais avec les logiciel de base, je crois qu'il y a un séquenceur et un éditeur audio.

895

Hors sujet : En fait j'y aurais installé linux + ardour.
Pour la sortie video apparament c'est juste un problème de connectique, j'ais trouvé un schéma de cablage si ca t'interesse. Mais bon un adaptateur ca doit pas couté bien cher :)

896

Hors sujet : Non en effet c'est ce que je compte acheter. Mais je veut bien le schéma quand même si ca te dérange pas pour ce qui est de linux, il existe une version spéciale pour les sgi.

897
http://www.mood-indigo.org/index.php/topic%2C3709.msg29400.html?PHPSESSID=d29a7ddd6f5576fa2c502dc237de00db

c'est Allemand, mais les liens sont en anglais :) (maintenant je suis pas sur que ca vaille le coup étant le prix de l'adaptateur!)
898

Citation : Connaissez-vous le livre "Maximum MIDI" de Messick et qu'en pensez-vous ?

Ce bouquin date de 1997, et en effet il permet d'apréhender les mécanismes et les contorsions requises pour une programmation MIDI temps réel efficace sur la plate-forme Windows, en fournissant les librairies et les sources C/C++. Cf. par exemple la fameuse méthode dite "thunking".

Par contre, vu la date de parution, cela ne concerne que les versions 95/98 de la plateforme Wintel. Je n'ai pas le bouquin sous les yeux mais de mémoire, il me semble que NT n'est même pas abordé, ou à peine (cet OS étant notoirement inadapté à la programmation MIDI temps réel à l'époque), et encore moins évidement 2000/XP, DirectMusic, etc...

Donc ça permet déjà sans doute d'acquérir les bases et bonnes méthodes de la programmation d'applications MIDI, mais ne remplace pas une connaissance approfondie des mécanismes et spécificités du système d'exploitation cible.

Perso, vu mon niveau, j'ai trouvé ça bien trop compliqué de toute manière. :noidea:

« What is full of redundancy or formula is predictably boring. What is free of all structure or discipline is randomly boring. In between lies art. » (Wendy Carlos)

899

Citation :
Ce bouquin date de 1997, et en effet il permet d'apréhender les mécanismes et les contorsions requises pour une programmation MIDI temps réel efficace sur la plate-forme Windows, en fournissant les librairies et les sources C/C++. Cf. par exemple la fameuse méthode dite "thunking".



Mon dieu quelle horeur. Je pense que l'on peut raisonablement dire que toutes ces saloperies liees aux antiquites que sont windows95/98 ne sont plus trop necessaires. Franchement, j'ai jamais entendu parler de ce probleme de la part d'un quelconque programmeur sur les plateformes d'aujourd'hui.

Typiquement, sous windows, j'imagine que directX te donne acces au hardware midi, sous mac tu as coremidi, et sous linux alsa. C'est par la qu'il faut regarder je pense. Mais bon, encore une fois, ca depend beaucoup de ce que tu veux faire: est ce que tu veux faire un plugin (VST, etc...) qui gere le midi ? Un sequenceur ?
900

Citation : Franchement, j'ai jamais entendu parler de ce probleme de la part d'un quelconque programmeur sur les plateformes d'aujourd'hui.


Sur PC, la qualité du timing MIDI "externe" (hors VST) a probablement toujours été le cadet de leurs problèmes. Ce qui ne veut pas dire que les pb n'existent pas, à force de rajouter des couches et des couches d'abstractions matérielles:
https://www.soundonsound.com/sos/mar01/articles/pcmusician.asp
https://www.soundonsound.com/sos/apr05/articles/pcnotes.htm?print=yes
http://www.jay.fm/miditime/

Le nouveau modèle de drivers Vista promet d'ailleurs monts et merveilles en la matière:
https://en.wikipedia.org/wiki/Technical_features_new_to_Windows_Vista
Chez MS, ils ont peut-être été titillés par CoreMIDI.

Mais quand Push-Pull et (plus modestement) moi-même affirmons que Cubase 16bit sur plate-forme Win3.11 ou 98SE n'a jamais été égalé sur PC en terme de MIDI pur, ce n'est pas seulement que pour faire les intéressants.
:mrg:

« What is full of redundancy or formula is predictably boring. What is free of all structure or discipline is randomly boring. In between lies art. » (Wendy Carlos)