OVH Cloud OVH Cloud

Windiws Longhorn: le C n est t'il plus le langage de prédilection de programmation pour atteindre le systéme ?

53 réponses
Avatar
Nospam999
Bonjour bonsoir,

Dans Pc Expert de septembre 2003 Olivier Gaussin dit à propos de .Net "Le
framework repose sur Windows mais on n'est pas loin d'arriver à la situation
inverse , où Windows reposera sur le framework. En effet, le prochain
système d'exploitation de Microsoft, Longhorn, qui n'arrivera pas avant
2004, officialisera . Net comme API dans certains domaines. Exit les Api
Win32: Il faudra nécessairement passer par .Net pour accéder au service du
systèmes"

Cela me fait peur. En effet, je commence à faire de la programmation sous
Windows avec du c avec les Api 32 .

1- Avez vous des informations plus précises ?
2- Est ce vrai ?
3- Dois je arrêter et changer de système si je veux utiliser le C ?


Merci pour de répondre à un véritable débutant.


P.S: 1- J'ai fait une citation un peu longue mais c'était uniquement pour
être
clair. Milles excuses si cela peut gêner quelqu'un.
2- On m'a dit que le cross posting c'est mal: je cherche simplement à
"toucher des populations différentes ( c'est important pour moi...car je
sens que j'y passe du temps) c'est promis je ne recommencerai plus.....

10 réponses

1 2 3 4 5
Avatar
Pierre Duhem
On Tue, 9 Sep 2003 13:30:09 +0200, "David Brabant"
wrote:

> John Colibri a d'ailleurs un site web:
> http://www.pascalissime.com]

Ça n'a pas l'air très à jour, et il y a bien longtemps que je n'ai vu
personne à l'Institut Pascal...


Pierre Duhem
Logiciels & Services Duhem, Paris, France
http://www.macdisk.com

Please remove the X from the address to answer through email
Avatar
Vincent Burel
"David Scrève" <Marre du spam> wrote in message
news:3f5e1016$0$13282$

"" a écrit


dans le message de
news:3f5ccfae$0$10414$
> Bonjour bonsoir,
>
> Dans Pc Expert de septembre 2003 Olivier Gaussin dit à propos de .Net


"Le
> framework repose sur Windows mais on n'est pas loin d'arriver à la


situation
> inverse , où Windows reposera sur le framework. En effet, le prochain
> système d'exploitation de Microsoft, Longhorn, qui n'arrivera pas avant
> 2004, officialisera . Net comme API dans certains domaines. Exit les Api
> Win32: Il faudra nécessairement passer par .Net pour accéder au service


du
> systèmes"
>
> Cela me fait peur. En effet, je commence à faire de la programmation


sous
> Windows avec du c avec les Api 32 .
>
> 1- Avez vous des informations plus précises ?
> 2- Est ce vrai ?
> 3- Dois je arrêter et changer de système si je veux utiliser le C ?
>
C'est du flan....c'est pour inciter les développeurs à migrer vers


.Net, comme ils l'avaient déjà fait
pour COM.



en 1997 ils disaient qu'il fallait absolument programmer en C++ pour avoir
accès au composant OLE, COM, ACTIVE machine etc... Alors que ca se manage en
"C" très bien. alors bon, s'il fallait suivre toutes les propagandes...

De toutes façon , en O/S et computer, question commerce, on est arrivé à un
point de saturation (un peu comme les téléphones mobiles si vous voulez).
Pourquoi passer au P4 quand on a un PIII ? pourquoi passer à un autre O/S
quand on est sous XP /W2000 ?

Donc on a pas fini de lire des conneries... :-)
A+
Vincent Burel
Avatar
MrHanky
Cherche sur Google -> Reverse engenering pro ^_^

Mr Hanky

"Jseb" a écrit dans le message de
news:

>ben c'est simple : wizard -> Create a win32 DLL -> Create a simple dll
>project et le tour est joué ... Tous les symboles a exporter dans un


fichier
>nommé : madll.def

Je suppose que tu parles du développement d'une DLL. Mais je parlais
d'une DLL dont je ne suis pas l'auteur, mais dont je voudrais bien
utiliser les fonctions.
Je suis sûr que c'est tout bête en fait (à la rigueur, je peux
réutiliser le fichier .def de LCC qui me génère bien les libs, lui.)

J'arrête, j'ai plus posté ici que dans mon fil :)
--
Alussinan, l'internette que ça fout la trouille.


Avatar
HelloWorld
Que MS commence par reprogramer entièrement ses softs en .NET (IE, Office,
les jeux videos, VStudio, ...) et après moi je veux bien abandonner win32.
Bah, on parle juste de quelques dizaines de millions de lignes de codes. Si
Pc Expert a dit que ce sera fait pour 2004, ça doit être vrai.
Histoire d'enrichir le débat, comment l'intégration de .NET au sein de l'OS
va-t-elle se faire selon vous ? On va voir débarquer un nouveau sous-système
?
Avatar
Vincent Burel
"HelloWorld" wrote in message
news:bjptg2$s91$
Que MS commence par reprogramer entièrement ses softs en .NET (IE, Office,
les jeux videos, VStudio, ...) et après moi je veux bien abandonner win32.
Bah, on parle juste de quelques dizaines de millions de lignes de codes.


Si
Pc Expert a dit que ce sera fait pour 2004, ça doit être vrai.
Histoire d'enrichir le débat, comment l'intégration de .NET au sein de


l'OS
va-t-elle se faire selon vous ? On va voir débarquer un nouveau


sous-système
?



Bon précisons donc d'abord que ".NET framework" est un environnement de
travail pour faire de l'appli réseau ou déployable réseau (et à vocation
multiplatform) et pas spécialement concu pour faire de l'appli native 32.
Comme Direct-X est un environnement très utilisé pour développer des jeux
vidéo et MFC un autre environnement pour développer des merdes etc...

La différence est qu'avec ".NET framework" Microsoft ne fournit pas qu'un
ensemble de class en librairie (comme MFC) mais une runtime aussi. comme
Direct-X et sa couche HAL et ses drivers spéciaux !? non je dirais plutot
comme la machine virtuelle JAVA, mais optimisé... Je suppose que "machine
virtuelle" doit être déposé car Microsoft n'utilise jamais ce terme :-) et
Pourtant on aura la possibilité de coder soi pour cette runtime donc
(managed code = code .NET) ou non (unmanaged code = code WIN32)... mais
l'ensemble reste assez floue pour moi...

Donc cette runtime, qui littéralement fournit un environnement d'execution
de votre code qui utilise .NET (c'est pas la machine virtuelle JAVA mais
c'est pas loin quand même) exécute le code et fournit des services
systemes... et ce de manière ultra sécure d'après Microsoft. Par exemple le
goré de programmeur qui ne sait pas gérer la destruction des ses handle et
autre pointeurs, pourra, lui aussi, programmer son appli ... c'est de la
démocratisation en quelques sortes :-)

Bref, Etant donnée les attributions de la runtime .NET on peut penser ce
qu'on veux parce que y'a le choix. Ou c'est une surcouche des API32 (comme
un interpréteur Basic) ou c'est un système complémentaire (comme certains
des composant Direct-X) en somme un sur-systeme... plus qu'un sous-systeme
d'ailleurs.

A+
Vincent Burel
Avatar
Vincent Burel wrote:
Bon précisons donc d'abord que ".NET framework" est un environnement
de travail pour faire de l'appli réseau ou déployable réseau (et à
vocation multiplatform) et pas spécialement concu pour faire de
l'appli native 32.



C'est quoi des appli native 32?... Sérieusement, dans quel domaine l'api
Win32 est plus adapté que .NET?

Comme Direct-X est un environnement très utilisé pour développer des
jeux vidéo et MFC un autre environnement pour développer des merdes
etc...



C'est bien, on voit tout de suite que tu es objectif...

La différence est qu'avec ".NET framework" Microsoft ne fournit pas
qu'un ensemble de class en librairie (comme MFC) mais une runtime
aussi.



Et de nouveau langages de programmation, et une approche différente (de
ce qu'on connaissait en Win32) pour pas mal de trucs...

comme Direct-X et sa couche HAL et ses drivers spéciaux !? non je
dirais plutot comme la machine virtuelle JAVA, mais optimisé... Je
suppose que "machine virtuelle" doit être déposé car Microsoft
n'utilise jamais ce terme :-)



Peut-être parce que ce n'est pas une machine virtuelle?... C'est là
amha, la grosse différence entre java et .NET: .NET depuis le début ne
se destine pas à être portable (en tous cas pas directement portable),
il offre des possibilités d'utiliser du code natif, et ce assez
simplement. Pas mal de parties du framework sont construites comme cela
(dont winforms). Java lui a décider de trouver un plus petit
dénominateur communs entre toutes les machines, et de faire un
"runtime" qui tourne sur cette machine minimaliste... cette machine
virtuelle si tu préfères.

et Pourtant on aura la possibilité de
coder soi pour cette runtime donc (managed code = code .NET) ou non
(unmanaged code = code WIN32)... mais l'ensemble reste assez floue
pour moi...



En effet c'est assez flou pour toi ;)

Donc cette runtime, qui littéralement fournit un environnement
d'execution de votre code qui utilise .NET (c'est pas la machine
virtuelle JAVA mais c'est pas loin quand même) exécute le code et
fournit des services systemes... et ce de manière ultra sécure
d'après Microsoft. Par exemple le goré de programmeur qui ne sait pas
gérer la destruction des ses handle et autre pointeurs, pourra, lui
aussi, programmer son appli ... c'est de la démocratisation en
quelques sortes :-)



Et il fera des applis mal foutues, nécessitant des Go de RAM et
généralement avec horriblement buggées... ceci dit, je t'accorde qu'avec
.NET les bugs se présentent souvent différement ;)

Bref, Etant donnée les attributions de la runtime .NET on peut penser
ce qu'on veux parce que y'a le choix. Ou c'est une surcouche des API32
(comme un interpréteur Basic) ou c'est un système complémentaire
(comme certains des composant Direct-X) en somme un sur-systeme...
plus qu'un sous-systeme d'ailleurs.



Pour ma part, je pense que le débat est biaisé: certains affirment des
trucs du genre "ouhé mais ms a déjà fait le coup une fois, avec COM on
allait arrêté le C, je fais du COM en C, ils ont mentis, c'tait pour
[n'importe quel argument visant à démontrer que ms cherche à gagner du
fric"... ouais d'accord, on peut se faire ch... à faire du COM en C,
c'est lourd, pénibe, pas fait pour... (tout comme on peut faire de
l'assembleur, on pourrait même coder directement en binaire...). Le
fait est que COM apportait la notion d'objet dans les API, et que donc
un langage "objet" était (et est toujours) plus adapté. Pour .NET ce
sera pareil: on peut appelé déjà appelé du code .NET depuis des
applications natives: c'est pénible (aussi pénible, voir pire en fait,
que du COM en C... en fait la façon de faire la plus simple est de
faire de ta classe .NET un objet COM...), et l'intéret est limité...
mais c'est utile dans certains cas.


--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org
Avatar
Vincent Burel wrote:
wrote in message
news:
>
>
> Vincent Burel wrote:
> > Bon précisons donc d'abord que ".NET framework" est un
> > environnement de travail pour faire de l'appli réseau ou
> > déployable réseau (et à vocation multiplatform) et pas
> > spécialement concu pour faire de l'appli native 32.
>
> C'est quoi des appli native 32?...

Ben aujourd'hui c'est un peu dur à définir, mais disons que si l'appli
fait appel aux composant de base du systeme alors c'est du natif WIN32
:-))



Bah c'est là que ça colle pas, .NET est au dessus de l'os (tout comme
l'api Win32 est une abstraction au dessus de l'os), que ce soit Win32 ou
NET ils font tous les deux appels à l'os, et généralement de la même
façon. La séparation des deux est amha, à ce niveau là, inexistante...
Pour moi la grosse différence entre une appli native et managed sont:

- .NET implique un modèle objet (pas toujours bien pensé, mais objet).
- garbage collector
- MSIL (et donc introspection, meta-informations, JIt, etc...).

En fait, tu as l'air de considérer le framework (l'ensemble des classes)
comme une boite noires, on y touche pas, si tu veux faire un truc qui
n'est pas dedans, c'est impossible... Je n'ai pas cette même vision: le
framework est en grande partie développer en C#, si un service (de l'os)
me manque, je vais faire une classe pour cela, elle devra appelé du code
natif, mais cette classe n'en sera pas moins une classe .NET pour
autant... et elle profitera de tous les services du runtime .NET
(garbage collector, introspection, meta-informations, etc...). Un point
important à noter cependant: une telle pratique enlève la possible
portabilité de .NET... mais je ne vois pas cela comme contraignant, ce
n'est comme je l'ai dit, pas la même approche que java, on ne part pas
d'une machine (virtuelle) minimaliste avec la presque impossibilité de
lui ajouter des fonctionnalité... si on veut faire une application
portable, on peut le faire (on pourra le faire plutôt, vu que mono
n'est pas encore au top), mais comme en C++ (ou tout autre langage) il
faut faire attention à ce qu'on utilise... de plus rien ne t'empêche de
rendre cela portable, en écrivant plusieurs versions de ta classe! (et
ce sera plus ou moins facile, porter winforms est par exemple, une
horreur, c'est trop mappé sur Windows).

Evidemment on peut se demander qu'est ce qui fait partie des
composant de base du system window... Mais bon, vous avez quand même
du comprendre ce que je voulais dire...



Et toi, tu as compris ce que je voulais dire? ;)

> Sérieusement, dans quel domaine l'api
> Win32 est plus adapté que .NET?

Dans le domaine de la productivité si l'on ne target pas une
application typiquement .NET. ben il me semble que changer de langage,
de concept, d'API , c'est pas super adapté... surtout qu'une bonne
partie de l'industrie de développement de soft sous Windows commence
à peine à maitriser la production de leur logiciel avec les outils
actuels ... alors changer d'environnement... ca doit pouvoir se
chiffrer... faut voir...



Ca c'est l'aspect financier, qui est évidemment à prendre en compte,
mais perso, la première question que je me pose est technique: est-ce
que .NET peut le faire? si oui, je vais me demander si c'est
rentable... tu as l'air de considérer que .NET c'est pour "faire des
applis réseaux ou déployable en réseaux" ce qui est plutôt vague, et
donc ma question était là: as-tu l'expérience de domaine ou .NET n'est
pas techniquement adpaté, ou en admettant qu'on ai les connaissances
requises, ce sera quand même inadapté? C'est un partage d'expérience
que je demande là!

> > La différence est qu'avec ".NET framework" Microsoft ne fournit
> > pas qu'un ensemble de class en librairie (comme MFC) mais une
> > runtime aussi.
>
> Et de nouveau langages de programmation, et une approche différente
> (de ce qu'on connaissait en Win32) pour pas mal de trucs...

Et bien parlez en, au lieu de faire l'intéressant avec des phrases
génériques...



De quel aspect veux-tu entendre parler? Et surtout par rapport à quoi? à
MFC? à Win32 pur? à d'autre librairie? à java? et cette comparaison dans
quel domaines? GUI, BD, réseau, remoting, ...? Je n'ai pas la prétention
de pouvoir bien te l'expliquer, je suis moi même en train de découvrir,
et venant du C++ (MFC), j'ai souvent tendance à appliquer mes mauvais
réflexes à la place de chercher une solution plus élégante...

Si tu veux un exemple, parmis ce que je trouve le plus intéressant en
NET: les attributes. Ca te permet de rajouter des informations à une
classe, un membre d'une classe, une application, etc... par exemple,
imagine une structure de donnée quelconque qui doit être sérializer sur
le disque, en natif, ce qu'on fait souvent, c'est une méthode
(Serialize par exemple) qui va s'occuper de cela... il est difficile de
faire beaucoup mieux, si tu ajoutes un membres, tu dois modifier ta
méthode... en .NET tu vas pouvoir énumérer les données membres de ta
classe et vérifier si elles ont un attribut (Serializable par exemple)
et de là agir... autrement dit: ta méthode Serialize sera générique. Ca
c'est l'exemple trivial, mais comme tu peux définir tes propres
attributes, y'a moyen de faire pas mal de choses avec... (quelques
exemples implémenté en .NET: générer un web-service à partir d'une
classe, déterminer qu'une classe .NET est visible dans une application
COM, afficher une liste de propriétés d'un objet dans un éditeur de
propriétés, etc...).

> > comme Direct-X et sa couche HAL et ses drivers spéciaux !? non je
> > dirais plutot comme la machine virtuelle JAVA, mais optimisé... Je
> > suppose que "machine virtuelle" doit être déposé car Microsoft
> > n'utilise jamais ce terme :-)
>
> Peut-être parce que ce n'est pas une machine virtuelle?... C'est là
> amha, la grosse différence entre java et .NET: .NET depuis le début
> ne se destine pas à être portable (en tous cas pas directement
> portable), il offre des possibilités d'utiliser du code natif, et
> ce assez simplement. Pas mal de parties du framework sont
> construites comme cela (dont winforms). Java lui a décider de
> trouver un plus petit dénominateur communs entre toutes les
> machines, et de faire un "runtime" qui tourne sur cette machine
> minimaliste... cette machine virtuelle si tu préfères.

Et bien je trouve que conceptuellement c'est assez proche.



Il y'a en effet beaucoup de point commun, mais la façon de faire, le but
n'est pas vraiment le même! En java, quand tu appelles du code natif, ce
n'est plus vraiment du java, et tu perds son principal avantage (la
portabilité), en .NET c'est pas vraiment le même délire: c'est
encouragé, et comme son but n'est pas d'être portable, tu ne "perds"
rien par rapport à ce que tu avais...

Et si
Microsoft amène un peu de neuf avec son .NET, c'est certainement aussi
pour explorer d'autres marchés (peut être ceux de SUN et IBM...)



Sans aucun doute, il ne fait pas cela pour le plaisir... mais je dirais
aussi que le but premier était peut-être d'éviter de se faire bouffer
son marché par java, C++Builder, Delphi, etc... et aussi de proposer
une "nouvelle api", qui est, je trouve nettement mieux pensée, plus
propre et cohérente.

> > et Pourtant on aura la possibilité de
> > coder soi pour cette runtime donc (managed code = code .NET) ou
> > non (unmanaged code = code WIN32)... mais l'ensemble reste assez
> > floue pour moi...
>
> En effet c'est assez flou pour toi ;)

Au lieu de me paraphraser, Dites nous en nous plus mon cher.



Tiens pourtant j'avais mis le smilie... ;)

Je ménage
des espaces dans mon topos lacunaire, pour que d'autres personnes
viennent donner des précisions (je ne suis pas du tout expert en .NET)
et vous n'en profitez pas. Avouez que vous êtes un peu cucu non !?



Tu compares Win32 (qui n'est qu'une API) à .NET (qui est une
plate-forme). Je suppose que par win32 tu entends code natif (non
managé), mais même là ça reste étrange: les deux mondes interragissent
très bien... la marshalling est parfois un peu bourrant, mais ça
fonctionne relativement bien (quand on se rend de la complexité de
l'affaire... c'est même impressionnant).

> Pour ma part, je pense que le débat est biaisé: certains affirment
> des trucs du genre "ouhé mais ms a déjà fait le coup une fois, avec
> COM on allait arrêté le C, je fais du COM en C, ils ont mentis,
> c'tait pour [n'importe quel argument visant à démontrer que ms
> cherche à gagner du fric"... ouais d'accord, on peut se faire ch...
> à faire du COM en C, c'est lourd, pénibe, pas fait pour... (tout
> comme on peut faire de l'assembleur, on pourrait même coder
> directement en binaire...). Le fait est que COM apportait la notion
> d'objet dans les API, et que donc un langage "objet" était (et est
> toujours) plus adapté.

ca tombe bien je suis fan de COM (en "C" :-)



Chacun son truc, perso j'ai pas assez de temps à perdre, so... ;)

>Pour .NET ce
> sera pareil: on peut appelé déjà appelé du code .NET depuis des
> applications natives: c'est pénible (aussi pénible, voir pire en
> fait, que du COM en C...

Bon ben c'est chouette ! comme ca on est fixé, le .NET peut aussi se
considérer comme un composant de plus dans le tas de merde.



Libre à toi de le voir comme ça... tu limites ta vision de .NET à ce que
tu connais: c'est comme le java, c'est comme les "autres merdes", c'est
toujours comme qqch que tu connais, ou semble connaitre... Quand
j'essaie de t'expliquer mon point de vue, je suis soit "cucu" soit
c'est "conceptuellement assez proche", donc je crois pas qu'on puisse
aller plus loin... Cependant si tu veux le faire, je te conseille de
regarder le C# (principalement les delegates, attributes et
éventuellement les futurs generics), winforms, remoting .NET, ADO.NET
et aussi l'ASP.NET si tu as développé quelques applications Web...
peut-être tu comprendras pq certaines personnes trouvent de l'intérêt à
ce "composant de plus dans le tas de merde"...

Merci pour votre intervention.



De rien.

--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org
Avatar
Vincent Burel
wrote in message
news:
Bah c'est là que ça colle pas, .NET est au dessus de l'os (tout comme
l'api Win32 est une abstraction au dessus de l'os), que ce soit Win32 ou
.NET ils font tous les deux appels à l'os, et généralement de la même
façon. La séparation des deux est amha, à ce niveau là, inexistante...
Pour moi la grosse différence entre une appli native et managed sont:

- .NET implique un modèle objet (pas toujours bien pensé, mais objet).
- garbage collector
- MSIL (et donc introspection, meta-informations, JIt, etc...).



Mouai...

En fait, tu as l'air de considérer le framework (l'ensemble des classes)
comme une boite noires, on y touche pas, si tu veux faire un truc qui
n'est pas dedans, c'est impossible...



Ben dans la pratique , oui ! Parce que souvent on perd plus de temps à
essayer de comprendre le fonctionnement de tel ou tel composant, on perd
plus de temps à essayer de trouver des biais pour régler des problèmes de
compatibilité et de comportement, d'un windows à l'autre ou d'une platforme
à l'autre, qu'il vaut mieux ne pas s'en servir et refaire carrément l'objet.
Et c'est finalement ce qui est le plus fiable et le plus serein. C'est aussi
ce qu'il y a de plus portable dans le sens ou c'est vous qui maitriser le
code source...

> > Sérieusement, dans quel domaine l'api
> > Win32 est plus adapté que .NET?
>
> Dans le domaine de la productivité si l'on ne target pas une
> application typiquement .NET. ben il me semble que changer de langage,
> de concept, d'API , c'est pas super adapté... surtout qu'une bonne
> partie de l'industrie de développement de soft sous Windows commence
> à peine à maitriser la production de leur logiciel avec les outils
> actuels ... alors changer d'environnement... ca doit pouvoir se
> chiffrer... faut voir...

Ca c'est l'aspect financier, qui est évidemment à prendre en compte,
mais perso, la première question que je me pose est technique: est-ce
que .NET peut le faire? si oui, je vais me demander si c'est
rentable... tu as l'air de considérer que .NET c'est pour "faire des
applis réseaux ou déployable en réseaux" ce qui est plutôt vague, et
donc ma question était là: as-tu l'expérience de domaine ou .NET n'est
pas techniquement adpaté, ou en admettant qu'on ai les connaissances
requises, ce sera quand même inadapté? C'est un partage d'expérience
que je demande là!



Je me rappelle y'a quelques années, fallait programme avec MFC ou en delphi
avec la bibliothèque Borland (s'était des surcouche objet des API WIN32 en
fait) c'était soi-disant plus productif, et puis c'était la technologie du
moment , fallait faire du ++ avec un environnement objet bien compliqué
sinon t'étais ringard et dépassé en gros. Bon ben aujourd'hui on s'apperçoit
que bon nombre de développement sur MFC sont bancales et mal maitrisé par
les équipes de développeurs (qui parfois passe leur semaine pour trouver
comment on change la couleur d'un fond de fenêtre :-), que cela n'a pas pris
moins de temps et que cela n'a pas couter moins cher à faire... en plus les
MFC ne sont plus maintenus et définitivement abandonné par Microsoft...

alors bon... Les aspect techniques, les possibilité, les concept, les
nouveaux avantages c'est bien... Mais faut pas me demander de miser dessus.
Quand à savoir à quoi .NET est adapté, Microsoft dit "The .NET Framework is
a new computing platform designed to simplify application development in the
highly distributed environment of the Internet." et si on se tape toute
l'overview de .NET Framework on comprends que c'est plutot dédié gestion
d'entreprise et application partagé sur le réseau. Donc ca ne peut pas
intéresser tout le monde non plus.

> > > La différence est qu'avec ".NET framework" Microsoft ne fournit
> > > pas qu'un ensemble de class en librairie (comme MFC) mais une
> > > runtime aussi.
> >
> > Et de nouveau langages de programmation, et une approche différente
> > (de ce qu'on connaissait en Win32) pour pas mal de trucs...
>
> Et bien parlez en, au lieu de faire l'intéressant avec des phrases
> génériques...

De quel aspect veux-tu entendre parler?



en quoi l'approche est différente ? est-ce fondamentale ou est-ce seulement
formel !? qu'est ce qui change fondamentalement et qu'est-ce qui change
seulement formellement ? Bref quoi de neuf quoi...

Si tu veux un exemple, parmis ce que je trouve le plus intéressant en
.NET: les attributes. Ca te permet de rajouter des informations à une
classe, un membre d'une classe, une application, etc... par exemple,
imagine une structure de donnée quelconque qui doit être sérializer sur
le disque, en natif, ce qu'on fait souvent, c'est une méthode
(Serialize par exemple) qui va s'occuper de cela... il est difficile de
faire beaucoup mieux, si tu ajoutes un membres, tu dois modifier ta
méthode... en .NET tu vas pouvoir énumérer les données membres de ta
classe et vérifier si elles ont un attribut (Serializable par exemple)
et de là agir... autrement dit: ta méthode Serialize sera générique. Ca
c'est l'exemple trivial, mais comme tu peux définir tes propres
attributes, y'a moyen de faire pas mal de choses avec...



Eh ben. Déjà que je trouvais le ++ chiant parce que y'a trop de fonction
déclarer et d'appel dans tous les sens. Maintenant on verra carrément plus
le code de ce qui se fait. Ca va pas plaire à beaucoup de ma génération :-))
Bref , on se rapproche des langage descriptif , style HTML. C'est pas pour
les programmeurs le .NET finalement si !? :-)

> > Peut-être parce que ce n'est pas une machine virtuelle?...
> Et bien je trouve que conceptuellement c'est assez proche.

Il y'a en effet beaucoup de point commun, mais la façon de faire, le but
n'est pas vraiment le même! En java, quand tu appelles du code natif, ce
n'est plus vraiment du java, et tu perds son principal avantage (la
portabilité), en .NET c'est pas vraiment le même délire: c'est
encouragé, et comme son but n'est pas d'être portable, tu ne "perds"
rien par rapport à ce que tu avais...



sceptique...

> Au lieu de me paraphraser, Dites nous en nous plus mon cher.

Tiens pourtant j'avais mis le smilie... ;)



on est joueur ! c'est bien ! :-)

> >Pour .NET ce
> > sera pareil: on peut appelé déjà appelé du code .NET depuis des
> > applications natives: c'est pénible (aussi pénible, voir pire en
> > fait, que du COM en C...
>
> Bon ben c'est chouette ! comme ca on est fixé, le .NET peut aussi se
> considérer comme un composant de plus dans le tas de merde.

Libre à toi de le voir comme ça... tu limites ta vision de .NET à ce que
tu connais: c'est comme le java, c'est comme les "autres merdes", c'est
toujours comme qqch que tu connais, ou semble connaitre... Quand
j'essaie de t'expliquer mon point de vue, je suis soit "cucu" soit
c'est "conceptuellement assez proche", donc je crois pas qu'on puisse
aller plus loin... Cependant si tu veux le faire, je te conseille de
regarder le C# (principalement les delegates, attributes et
éventuellement les futurs generics), winforms, remoting .NET, ADO.NET
et aussi l'ASP.NET si tu as développé quelques applications Web...
peut-être tu comprendras pq certaines personnes trouvent de l'intérêt à
ce "composant de plus dans le tas de merde"...



Ha mais y'a rien de contradictoire. on peu trouver de l'intérêt dans
beaucoup de composant Windows et de truc Microsoft. L'ensemble reste un tas
de merde. Et programmer sous Windows Aujourd'hui c'est comme se faire une
décharge pour bouffer, ca ne manque pas d'intérêt, c'est juste un peu sale
et dégradant :-)

VB
Avatar
Vincent Burel wrote:
> En fait, tu as l'air de considérer le framework (l'ensemble des
> classes) comme une boite noires, on y touche pas, si tu veux faire
> un truc qui n'est pas dedans, c'est impossible...

Ben dans la pratique , oui ! Parce que souvent on perd plus de temps à
essayer de comprendre le fonctionnement de tel ou tel composant, on
perd plus de temps à essayer de trouver des biais pour régler des
problèmes de compatibilité et de comportement, d'un windows à l'autre
ou d'une platforme à l'autre, qu'il vaut mieux ne pas s'en servir et
refaire carrément l'objet.



Je te suis pas là, relis mon propos, ton propos, tu me dis que j'ai tort
en argumentant que tu es d'accord avec moi... pas trop compris...

Et c'est finalement ce qui est le plus fiable et le plus serein. C'est
aussi ce qu'il y a de plus portable dans le sens ou c'est vous qui
maitriser le code source...



Donc puisque .NET offre une série d'avantage, tout en laissant la
possibilité d'utiliser du code existant, ou de développer from
scratch... c'est avantageux... enfin on se comprend.......

Je me rappelle y'a quelques années, fallait programme avec MFC ou en
delphi avec la bibliothèque Borland (s'était des surcouche objet des
API WIN32 en fait) c'était soi-disant plus productif, et puis c'était
la technologie du moment , fallait faire du ++ avec un environnement
objet bien compliqué sinon t'étais ringard et dépassé en gros. Bon
ben aujourd'hui on s'apperçoit que bon nombre de développement sur
MFC sont bancales et mal maitrisé par les équipes de développeurs
(qui parfois passe leur semaine pour trouver comment on change la
couleur d'un fond de fenêtre :-), que cela n'a pas pris moins de
temps et que cela n'a pas couter moins cher à faire...



Je ne vois pas le rapport, tu m'expliques une beau petit bout d'histoire
d'un air blasé... l'étape suivante c'est me dire que tu es plus
productif en C qu'en java? ;)

en plus les MFC
ne sont plus maintenus et définitivement abandonné par Microsoft...



Ah merde alors, moi qui lisait tantôt que whidbey allait améliorer les
MFC...

alors bon... Les aspect techniques, les possibilité, les concept, les
nouveaux avantages c'est bien... Mais faut pas me demander de miser
dessus.



Alors pourquoi en parler? de mon côté, j'essaie d'évaluer si ça vaut la
peine, pour ce que j'en ai vu, je trouve que oui... il s'agit bien de
miser, pas de tout changer du jour au lendemain...

Quand à savoir à quoi .NET est adapté, Microsoft dit "The .NET
Framework is a new computing platform designed to simplify application
development in the highly distributed environment of the Internet."
et si on se tape toute l'overview de .NET Framework on comprends que
c'est plutot dédié gestion d'entreprise et application partagé sur le
réseau. Donc ca ne peut pas intéresser tout le monde non plus.



Si ms le dit évidemment... bref, tu as déjà fait du .NET?

> > > > La différence est qu'avec ".NET framework" Microsoft ne
> > > > fournit pas qu'un ensemble de class en librairie (comme MFC)
> > > > mais une runtime aussi.
> > >
> > > Et de nouveau langages de programmation, et une approche
> > > différente (de ce qu'on connaissait en Win32) pour pas mal de
> > > trucs...
> >
> > Et bien parlez en, au lieu de faire l'intéressant avec des phrases
> > génériques...
>
> De quel aspect veux-tu entendre parler?

en quoi l'approche est différente ? est-ce fondamentale ou est-ce
seulement formel !?



Je ne comprends pas la distinction entre formel et fondamental... il me
semble que ce n'est pas opposé...

qu'est ce qui change fondamentalement et qu'est-ce
qui change seulement formellement ? Bref quoi de neuf quoi...



Si tu le veux, depuis le début tu pars de l'optique c'est "comme ce que
je connais", sans jamais avoir été dedans... je suppose que t'es le
genre de mec à faire de l'objet en C?...

> Si tu veux un exemple, parmis ce que je trouve le plus intéressant
> en .NET: les attributes. Ca te permet de rajouter des informations à
> une classe, un membre d'une classe, une application, etc... par
> exemple, imagine une structure de donnée quelconque qui doit être
> sérializer sur le disque, en natif, ce qu'on fait souvent, c'est une
> méthode (Serialize par exemple) qui va s'occuper de cela... il est
> difficile de faire beaucoup mieux, si tu ajoutes un membres, tu
> dois modifier ta méthode... en .NET tu vas pouvoir énumérer les
> données membres de ta classe et vérifier si elles ont un attribut
> (Serializable par exemple) et de là agir... autrement dit: ta
> méthode Serialize sera générique. Ca c'est l'exemple trivial, mais
> comme tu peux définir tes propres attributes, y'a moyen de faire
> pas mal de choses avec...

Eh ben. Déjà que je trouvais le ++ chiant parce que y'a trop de
fonction déclarer et d'appel dans tous les sens. Maintenant on verra
carrément plus le code de ce qui se fait. Ca va pas plaire à beaucoup
de ma génération :-))



Si puisque tu crées tes attributs... si tu utilises ceux existant, un
ptit tour dans le source de la sscli te donnera une idée précise... ou
une décompilation. Ceci dit, oui en effet, ça privilégie l'approche
composant, le but est de pas se faire chier à réécrire le même code 20
fois, etc... en bref, rendre le code plus facile à maintenir, plus
robuste et plus réutilisable...

Bref , on se rapproche des langage descriptif ,
style HTML. C'est pas pour les programmeurs le .NET finalement si !?
:-)



Disons plutôt qu'on étend les limites du langage au delà de sa grammaire
propre...

Ha mais y'a rien de contradictoire. on peu trouver de l'intérêt dans
beaucoup de composant Windows et de truc Microsoft. L'ensemble reste
un tas de merde.



Argumente! Que proposes-tu de mieux?...

Et programmer sous Windows Aujourd'hui c'est comme se
faire une décharge pour bouffer, ca ne manque pas d'intérêt, c'est
juste un peu sale et dégradant :-)



Change de boulot!

--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org
Avatar
David Scrève
"Vincent Burel" a écrit dans le message de news:bjq7d3$k4h$

Bon précisons donc d'abord que ".NET framework" est un environnement de
travail pour faire de l'appli réseau ou déployable réseau (et à vocation
multiplatform) et pas spécialement concu pour faire de l'appli native 32.


Multi-platforme...hahaha, la bonne blague....Ca fait 2 ans que ca tourne...que sous Windows, et encore, pas
complètement sous Win64 Itanium.

David
1 2 3 4 5