C# : un langage trop ... Simple ?

Signaler
Messages postés
514
Date d'inscription
mercredi 19 mars 2003
Statut
Membre
Dernière intervention
1 mars 2009
-
Messages postés
355
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009
-
Bonsoir,
Alors j'ai une petite question ... En gros, ça va faire ... Disons 6 mois que je programme en C#. Et j'ai jamais eu de vrai soucis. J'ai un peu (Bon ... Ok ... Beaucoup ! ) galéré pour tout ce qui est delegate, invoke et tout ça, mais maintenant, c'est passé. Et du coup, je me suis posé une question ...
J'ai envie de faire une sorte de serveur mp3. Un ordinateur envoie un stream mp3 vers un autre et ainsi, 2 personnes peuvent écouter la même musique en même temps (J'ai pas l'intention de réinventer le P2P non plus ...). Mais en fait, je me rends compte que ça risque d'être relativement compliqué parce que le C# n'est pas assez ... Disons de bas niveau.
En fait, on peut même généralisé avec les sockets. Tout est pré-programmé. Des assemblies sont préécrit si l'on va utliliser la couche UDP ou la couche TCP. C'est vrai que c'est pratique, et en plus - chose non négligeable - ça marche bien. Mais du coup, je me demande si je ne suis pas en train de perdre l'aspect pédagogique de la programmation.
Parce que je ne cache pas que je ne compte pas (tout de suite ) faire des applications professionnelles. Et du coup, je me demande si, pour mieux apprendre, je ne devrais pas retourner au C et apprendre le C++. Revenir au bon vieux pointeurs et aux compilos qui ne comprennent rien ...
En gros ma question : est-ce que je dois continuer à développer en C# ?
Merci de vos commentaires (Ouais, je connais déjà les réponses en fait ) !
++ !
LocalStone

6 réponses

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Salut,

Il est évident que le C# n'est pas un langage de "bas niveau" comme le C, mais même en C/C++ on utilise des briques logiciels, des librairies, l'API Windows etc..

La plupart du temps en C# on utilise les même APIs que les programmeurs C/C++ vu que le framework, en gros, c'est un wrapper managé par dessus l'API Win32.

Les limites du C# interviennent quand il s'agit de communiquer avec le matériel mais si tu fais un serveur de streaming c'est pas pour ça qu'il faut ré-inventer les protocoles de communications ou l'encodage/décodage du MP3.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
J'ai oublie de de préciser que de toute façon faut connaître un minimum le C ou un langage "natif" pour bien comprendre tout les concepts sous-jacent à la programmation en code managé.
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
13
sinon y reste le boulier....

ok je sors

<hr>Arthenius
http://blogs.developpeur.org/Arthenius/

"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
355
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

"Les limites du C# interviennent quand il s'agit de communiquer avec le matériel"

Je confirme bien que ça s'améliore sur certain type de matériel (clé usb par exemple) faut pas avoir besoin de fonction avancé de la webcam ou du graveur dvd parce que là c'est du gros n'importe quoi... (genre un évènement qui refuse de se lancer quand la form fait plus de 300 ligne de code... (celui là m'avait fait passer des nuits blance avant de laisser tomber le projet).

Sinon tu a l'assembleur ou le binaire si tu aime le hard...
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
38
Du streaming de MP3 codé en assembleur, c'est pas gagné..
Messages postés
355
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

oui mais ça devrait pas lui apraître trop simple (bon ok j'arrète l'ironie).