Avatar billede borrisholt Novice
08. august 2005 - 11:26 Der er 6 kommentarer og
1 løsning

.NET Hvorfor

Jeg har et spørgsmåj jeg har søgt svar på mange steder, men ingen har kunne svare mig klart og præcist.

Jeg har en applikation kodet i Delphi, og der af følgende med VCL og i den sidste ende Win32. Altså ganske almindeligt.

Jeg er bedøvende lige glad om den kan køre på andre operativsystemer end Windows.

Selvom min applikation er kommerciel kommer den heller aldrig til at køre på noget andet end Windows.

Hvad er det smarte ved .NET  hvis man aldrig vil køre andet end Windows. Hvorfor skifte til Delphi.NET eller c# for den sags skyld ?

Hvad ligger der af smarte ting som Win32/VCL frameworket ikke tilbyder ?

Jens B
Avatar billede roenving Novice
08. august 2005 - 11:49 #1
Den klareste indikation af, at der noget, som er anderledes er brugen af MSIL, M$ Intermediate Language, som al kode udviklet indenfor frameworket kompileres til, og som er praktisk taget ens, uanset om en konkret klasse er skrevet i C#, vb.NET, Managed C/C++ eller JScript.NET !-)

-- hvilket betyder at man uden problemer kan udvikle større projekter med de folk eller den slags programmering, som mener er bedst til det ...

M$ påstår også at brugen af JIT-kompileren (Just In Time) og MSIL kan afvikles hurtigere, da jitten sørger for at kun nødvendig kode er til rådighed for processen, mens kode, som ikke benyttes i den konkrete proces slet ikke røres, hvilket f.eks. betyder undladelse af allokering og deallokering af hukommelsesressourcer ...

-- og så skal det da nævnes, at netop dette betyder, at der principielt intet er til hinder for at det kan køre på andre platforme, hvilket Mono-projektet til Linux også er et eksempel på !o]
Avatar billede borrisholt Novice
08. august 2005 - 12:12 #2
Jeg har ingen erfaring med .NET, en tvivl kan ikke helt slippe mig er .NET lige så platforms uafhænig som Java er. Betydende at hvis man bruger GUI klasser så skal man hele tiden passe på ?

roenving>> Du siger at alt MSIL er ens, aligevel er der forskelle. I SQL Server 2005 kan man lave .NET funktioner som kan integeres på i serveren, og klades som en stored procedure. Den samme mulighed har man allerede i dag, med SQL 2000 Server med en dll fil. Udlempen er at med en DLl fil er du nød til at stole på udvikleren at han/hun ikke fucker noget op eller på anden måde skader din maskine. Det skulle man være ud over med .NET klasser . Men NEJ fordi hvis din .NET assembly ikke er kodet i Microsoft Visual Studio og i C# så kan er det ikke at betragte som sikker kode, og skal derfor have fuld adgang til det hele. Og så er man lige vidt.

Jeg kan stadig ikke se hvad jeg skal med .NET ! Jeg er bedøvende ligeglad med Linux etc. og her i huset må man selv vælge sit programmeringssprog så længe det er Delphi ;)

Hvis jeg aligevel ikke har muligheden for at udvikle assemblies til SQL 2005  Serveren og ligende produkter Microsoft vil release i fremtiden. Så forsvinder ideen.

Jens B
Avatar billede roenving Novice
08. august 2005 - 12:22 #3
Men heller ikke jeg har den fjerneste ide om at du/I skal fare over på .NET, bare fordi M$ nu har lavet det ...

-- og .NET er som grundlag lige så platforms-afhængigt som et færdig-kompileret c-program, men opbygningen med JIT betyder, at det jo faktisk kun er den og nogle basis-klasser, som skal omkodes for at virke på andre platforme !-)

-- og ja, der er mange forskelligheder ved at benytte sig af de forskellige programmeringssprog, men det meste i de forskelle handler om hvad de native kan bringes til at forstå, i .NET frameworket taler man om nogle faciliteter (f.eks. variabel-typer) som er fælles og nogle, som kun findes for et udsnit af de tilgængelige prog.sprog, men alligevel defineres i frameworket !o]

-- men det skulle være således, at hvis du programmerer noget, som hører til det minimum alle programmeringssprog skal kunne, så er det kun bittesmå detaljer som er forskelligt ...
Avatar billede saucer Nybegynder
08. august 2005 - 12:27 #4
Prøv at læse denne bog : http://idgforlag.dk/default.asp?loadside=/Vis_produkt.asp?ISBN=87-7937-006-3  så vil du være helt med på hvad .NET er..

Ps. Java er ikke 100% platforms uafhængi ;)
Avatar billede borrisholt Novice
08. august 2005 - 13:41 #5
saucer>> Det med Java er jeg godt klar over ...

Det er ikke kun Microsoft, Borland er også gået på .NET

Jeg havde blot håbet på hvis jeg stilllede spørgsmålet herinde at der var nogen der kunne forklare mig hvorfor .NET er godt hvis du ikke skal på andre platforme, og sproget ligger fast.

MSIL er jo ikke MSIL. Der er Microsofts egen og så alle de andre. Jfr det jeg skrev omkring assemblies og SQL 20005 Server.

Og så er vi vel lige vidt ?

Jens B
Avatar billede borrisholt Novice
08. august 2005 - 20:46 #6
Nå jeg lukker. Jeg er ikke blevet klogere.

så vidt som jeg ser det, så ligger fordelsen i .NET i at du kan blande sprogene, og du kan smide det over på Linux.

Først nævnte har ingen interesse, sidst nævnte kan Delphi allerede. Men nej ikke andre platforme end Windows og Linux.

Skulle nogen tænke hvordan får man et Delphi program til at køre på en Linux maskine så kræver det en rekompilering i Kylix så spiller det fint. Også Webservices og alt det andet galje !

Jens B
Avatar billede roenving Novice
09. august 2005 - 00:26 #7
Hvorfor har du stillet spørgsmålet ?-)

-- var det, du ønskede, netop ikke at finde ud af, om der var noget revolutionerende, som gav anledning til, at du/I burde begynde at tænke på at ændre strategi ?o]

-- og for en hel masse er der netop grund til at tænke i, at man måske skal ændre strategi, for de netop har en bemanding, som ikke kan støtte store ensporede projekter, men netop med .NET kan lave en taktisk tilgang til det enkelte projekt, som giver rig mulighed for at variere hvem og hvad der bruges af værktøjer !-)

-- og der er ingen tvivl om, at du i visse typer mission-kritiske projekter kan få fordele ved at benytte dig af betinget kompilering, mens det selvklart i andre vil være en bagdel ...

-- og det ville faktisk undre mig, om ikke f.eks. arne_v havde smidt bare en enkelt kommentar, hvis der var en væsentlig grund til at erklære at jorden var flad og M$ de dygtigste !o]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester