[C] [C++] [C#] Evolution logique
scoubidou944
Messages postés
719
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
-
13 oct. 2004 à 02:39
scoubidou944 Messages postés 719 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 13 oct. 2004 à 13:19
scoubidou944 Messages postés 719 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 19 janvier 2017 - 13 oct. 2004 à 13:19
A voir également:
- [C] [C++] [C#] Evolution logique
- Logisim evolution - Télécharger - Vie quotidienne
- Évolution geolithe - Forum Jeux vidéo
- Excel test logique texte - Forum Excel
- Evolution prix amazon - Guide
- Korillon evolution ✓ - Forum Jeux vidéo
5 réponses
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
13 oct. 2004 à 09:08
13 oct. 2004 à 09:08
Je vais modérer cet avis sur .Net:
C# n'est absolument pas l'évolution logique du C et C++.
C++:
- est une norme international (ANSI).
- n'est la propriété de personne
- l'utilisation de la norme est libre
- on trouve des compilateurs différents (borland, watcom...)
- existe sur divers systèmes d'exploitation (Windows, Unix, Linux, MacOS, systèmes embarqués...)
- existe pour quasiment tous les processeurs (Intel, Motorola, Sparc, ARM...)
C#:
- a été inventé par Microsoft seul.
- est la propriété exclusive de Microsoft.
- seul Microsoft fourni le compilateur (si on except Mono et DotGnu)
- Microsoft tolère la création de systèmes compatibles
- fonctionne exclusivement sous Windows 2000 et XP (si on except Mono)
- fonctionne exclusivement sur processeurs compatibles Intel.
ça fait une énorme différence.
Enfin, C# fonctionne dans une machine virtuelle, alors que le C++ compile en code natif du processeur, ce qui donne un mode de fonctionnement très différent (garbage collector, cache de code, validation du bytecode, etc.)
C'est généralement intéressant (béni soit le garbage collector !), mais ça n'est pas la solution à tout (pilotes de périphériques, systèmes embarqués, systèmes temps réel...)
Les types de données sont également différents (représentation interne différente), et la syntaxe du C# est également différente du C++ (même si elle ressemble beaucoup).
C# n'est donc absolument pas l'évolution naturelle du C++.
Les markettoïdes de Microsoft ont eu le nez fin en nommant cela C#.
Cela ne retire rien à certaines qualités de C#, mais il est important de faire la distinction.
Et pour bosser depuis plus de un an sur un gros projet en C# et ASP.Net, je peux vous dire qu'on s'est arraché les cheveux.
Tout n'est pas rose dans le monde de .Net et C#.
Pour moi, même si .Net s'améliore, il n'est quand même pas assez mûr.
PS: Je crois plus à Python et aux languages à typage dynamique. Et j'ai raison. Vous savez pourquoi ?
Parceque Microsoft et Sun (Java) bossent comme des fous sur ces types de langage.
Microsoft a même été jusqu'à recruter un des développeurs Python.
C# n'est absolument pas l'évolution logique du C et C++.
C++:
- est une norme international (ANSI).
- n'est la propriété de personne
- l'utilisation de la norme est libre
- on trouve des compilateurs différents (borland, watcom...)
- existe sur divers systèmes d'exploitation (Windows, Unix, Linux, MacOS, systèmes embarqués...)
- existe pour quasiment tous les processeurs (Intel, Motorola, Sparc, ARM...)
C#:
- a été inventé par Microsoft seul.
- est la propriété exclusive de Microsoft.
- seul Microsoft fourni le compilateur (si on except Mono et DotGnu)
- Microsoft tolère la création de systèmes compatibles
- fonctionne exclusivement sous Windows 2000 et XP (si on except Mono)
- fonctionne exclusivement sur processeurs compatibles Intel.
ça fait une énorme différence.
Enfin, C# fonctionne dans une machine virtuelle, alors que le C++ compile en code natif du processeur, ce qui donne un mode de fonctionnement très différent (garbage collector, cache de code, validation du bytecode, etc.)
C'est généralement intéressant (béni soit le garbage collector !), mais ça n'est pas la solution à tout (pilotes de périphériques, systèmes embarqués, systèmes temps réel...)
Les types de données sont également différents (représentation interne différente), et la syntaxe du C# est également différente du C++ (même si elle ressemble beaucoup).
C# n'est donc absolument pas l'évolution naturelle du C++.
Les markettoïdes de Microsoft ont eu le nez fin en nommant cela C#.
Cela ne retire rien à certaines qualités de C#, mais il est important de faire la distinction.
Et pour bosser depuis plus de un an sur un gros projet en C# et ASP.Net, je peux vous dire qu'on s'est arraché les cheveux.
Tout n'est pas rose dans le monde de .Net et C#.
Pour moi, même si .Net s'améliore, il n'est quand même pas assez mûr.
PS: Je crois plus à Python et aux languages à typage dynamique. Et j'ai raison. Vous savez pourquoi ?
Parceque Microsoft et Sun (Java) bossent comme des fous sur ces types de langage.
Microsoft a même été jusqu'à recruter un des développeurs Python.
choubaka
Messages postés
39407
Date d'inscription
jeudi 4 avril 2002
Statut
Modérateur
Dernière intervention
9 décembre 2024
2 104
13 oct. 2004 à 07:53
13 oct. 2004 à 07:53
Salut
c'est alléchant, en effet ...
Chouba,
Pochard d'assaut ..
c'est alléchant, en effet ...
Chouba,
Pochard d'assaut ..
scoubidou944
Messages postés
719
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
127
13 oct. 2004 à 11:26
13 oct. 2004 à 11:26
Sur ton point de vue je suis d'accord (la on parle entre technicien). C# n'est pas un langage prédictible comme C++ dans la mesure ou il y a le Garbage collector et tourne derriere une machine virtuelle.
Maintenant sur sa portabilité, il est vrai que C 9x, 2K et XP 2003 only mais cela devrait bientot changer. D'ailleurs c'est tout le but puisque Krosoft veut imposer sa machine virtuelle par dessus Sun ce qui expliquerait pk Sun relancerait bcp dans le développement.
De mémoire, C# a été travaillé en collaboration avec d'autres grands nom de la prog meme si Krosoft reste tres présent.
N'oublie pas que C# n'a que 4 ans de maturité, il doit encore évoluer via Xev (ex X#) visiblement par exemple. Mais pour avoir bossé sur les 3, je trouve qu'on gagné réellement du tps en terme de dev sur mes appli en localhost.
Tu te vois coder un Photoshop en Win32 toi maintenant ? lol. pas moi.
Y'a des jours où il faut pas m'chercher.
Et y'a des jours tous les jours.
Maintenant sur sa portabilité, il est vrai que C 9x, 2K et XP 2003 only mais cela devrait bientot changer. D'ailleurs c'est tout le but puisque Krosoft veut imposer sa machine virtuelle par dessus Sun ce qui expliquerait pk Sun relancerait bcp dans le développement.
De mémoire, C# a été travaillé en collaboration avec d'autres grands nom de la prog meme si Krosoft reste tres présent.
N'oublie pas que C# n'a que 4 ans de maturité, il doit encore évoluer via Xev (ex X#) visiblement par exemple. Mais pour avoir bossé sur les 3, je trouve qu'on gagné réellement du tps en terme de dev sur mes appli en localhost.
Tu te vois coder un Photoshop en Win32 toi maintenant ? lol. pas moi.
Y'a des jours où il faut pas m'chercher.
Et y'a des jours tous les jours.
sebsauvage
Messages postés
32893
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 659
13 oct. 2004 à 11:52
13 oct. 2004 à 11:52
Maintenant sur sa portabilité, il est vrai que C 9x, 2K et XP 2003 only mais cela devrait bientot changer.
Pourquoi Microsoft favoriserait-il un système d'exploitation concurrent en facilitant le portage des applications .Net sur ces systèmes ?
C'est en totale contradiction avec la politique Microsoft.
Je n'y crois pas.
PS: L'expert Microsoft qui est venu chez nous nous a fortement déconseillé de faire tourner les appli .Net sur autre chose que 2000 et XP.
Et je mettrai pas un doigt dans Mono ou DotGnu, c'est stratégiquement bien trop dangereux.
(Que se passera-t-il le jour où Microsoft décidera de taper sur Mono ?)
De mémoire, C# a été travaillé en collaboration avec d'autres grands nom de la prog meme si Krosoft reste tres présent.
Exact.
Xev (Xen ?) a l'air intéressant également.
Mais je n'ai pas assez de recul sur les bases de données objet ou les systèmes de mapping relationnel<-->objet pour en débattre.
Comme le suggère un article récent sur Slashdot, il serait temps de chercher à utiliser autre chose que nos bonnes vieilles bases de données relationnelles.
On perd trop de temps avec ça.
J'ai juste un peu lu sur Hibernate: le principe est vraiment très intéressant.
je trouve qu'on gagné réellement du tps en terme de dev sur mes appli en localhost.
mmm... variable.
On a gagné sur certains plans, perdu sur d'autres.
Par exemple, notre projet s'est pris 1 mois et demi de retard dans la tronche à cause de problème liés à la plateforme .Net elle-même.
(bug du pool de connexion, etc.)
Autre exemple: On a gagné du temps sur la construction des pages web (datagrid, etc.) , mais MSDTC n'existant pas dans l'API .Net, on a dû refaire complètement notre système de gestion des transactions.
Globalement, c'est donc variable.
Mais il faut avouer que VisualStudio.Net est agréable, surtout pour les webforms.
Tu te vois coder un Photoshop en Win32 toi maintenant ?
Non, en effet.
Mais d'un autre côté, en codant avec l'API Win32, ça tourne sous toutes les versions de Windows, et potentiellement d'autres systèmes (les différentes versions de Photoshop (MacOS, etc.) partagent du code C++).
Avec .Net, non seulement c'est réservé à un nombre limité de versions de Windows, mais le code ne sera pas réutilisable sur d'autres OS puisque C#/.Net n'y existe pas.
En matière d'investissement en temps et argent, ça ne me semble pas forcément très bon.
En comparaison, Mozilla me semble exemplaire:
Il ont essayé de maximiser la réutilisation du code d'un système à l'autre, allant même jusqu'à tenter de faire abstractions de certaines API (en particulier tout ce qui est interface graphiques avec XUL).
Les machines virtuelles nous permettent enfin de nous affranchir de la dépendance vis à vis d'un microprocesseur particulier.
Il serait temps qu'on s'affranchisse aussi des systèmes d'exploitation.
Augmentez vos dépendances, vous augmentez vos risques.
Le fait de pouvoir changer d'OS est une garantie de pérennité.
Tout ceci reste bien entendu un avis tout à faire personnel.
Pourquoi Microsoft favoriserait-il un système d'exploitation concurrent en facilitant le portage des applications .Net sur ces systèmes ?
C'est en totale contradiction avec la politique Microsoft.
Je n'y crois pas.
PS: L'expert Microsoft qui est venu chez nous nous a fortement déconseillé de faire tourner les appli .Net sur autre chose que 2000 et XP.
Et je mettrai pas un doigt dans Mono ou DotGnu, c'est stratégiquement bien trop dangereux.
(Que se passera-t-il le jour où Microsoft décidera de taper sur Mono ?)
De mémoire, C# a été travaillé en collaboration avec d'autres grands nom de la prog meme si Krosoft reste tres présent.
Exact.
Xev (Xen ?) a l'air intéressant également.
Mais je n'ai pas assez de recul sur les bases de données objet ou les systèmes de mapping relationnel<-->objet pour en débattre.
Comme le suggère un article récent sur Slashdot, il serait temps de chercher à utiliser autre chose que nos bonnes vieilles bases de données relationnelles.
On perd trop de temps avec ça.
J'ai juste un peu lu sur Hibernate: le principe est vraiment très intéressant.
je trouve qu'on gagné réellement du tps en terme de dev sur mes appli en localhost.
mmm... variable.
On a gagné sur certains plans, perdu sur d'autres.
Par exemple, notre projet s'est pris 1 mois et demi de retard dans la tronche à cause de problème liés à la plateforme .Net elle-même.
(bug du pool de connexion, etc.)
Autre exemple: On a gagné du temps sur la construction des pages web (datagrid, etc.) , mais MSDTC n'existant pas dans l'API .Net, on a dû refaire complètement notre système de gestion des transactions.
Globalement, c'est donc variable.
Mais il faut avouer que VisualStudio.Net est agréable, surtout pour les webforms.
Tu te vois coder un Photoshop en Win32 toi maintenant ?
Non, en effet.
Mais d'un autre côté, en codant avec l'API Win32, ça tourne sous toutes les versions de Windows, et potentiellement d'autres systèmes (les différentes versions de Photoshop (MacOS, etc.) partagent du code C++).
Avec .Net, non seulement c'est réservé à un nombre limité de versions de Windows, mais le code ne sera pas réutilisable sur d'autres OS puisque C#/.Net n'y existe pas.
En matière d'investissement en temps et argent, ça ne me semble pas forcément très bon.
En comparaison, Mozilla me semble exemplaire:
Il ont essayé de maximiser la réutilisation du code d'un système à l'autre, allant même jusqu'à tenter de faire abstractions de certaines API (en particulier tout ce qui est interface graphiques avec XUL).
Les machines virtuelles nous permettent enfin de nous affranchir de la dépendance vis à vis d'un microprocesseur particulier.
Il serait temps qu'on s'affranchisse aussi des systèmes d'exploitation.
Augmentez vos dépendances, vous augmentez vos risques.
Le fait de pouvoir changer d'OS est une garantie de pérennité.
Tout ceci reste bien entendu un avis tout à faire personnel.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
scoubidou944
Messages postés
719
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
19 janvier 2017
127
13 oct. 2004 à 13:19
13 oct. 2004 à 13:19
Que dire après un tel discours, y'a du pour et du contre, seul le tps nous permettra de voir les limites de .NET
En tout cas, le jour ou j'ai un pb sous C#, je sais à qui demander ;p
Y'a des jours où il faut pas m'chercher.
Et y'a des jours tous les jours.
En tout cas, le jour ou j'ai un pb sous C#, je sais à qui demander ;p
Y'a des jours où il faut pas m'chercher.
Et y'a des jours tous les jours.