mboost-dp1

unknown

Anders Hejlsberg om fremtiden for C#/CLR

- Via MSDN - , redigeret af Net_Srak

Anders Hejlsberg, danskeren bag Turbo Pascal, Delphi og senest C#, kan ses på denne uges MSDN TV episode hvor han på TechEd 04′ svarer på spørgsmål omkring fremtiden for C# og CLR.

Compiler eksperten kommer på de 2 timer vidt omkring langhårede emner som bl.a. multiple inheritance, scalar variables, default method implementation on interfaces, default parameters, Edit-n-Continue samt transaction pattern.

Anders har hos Microsoft titel af Distinguished Engineer og modtog i maj 2001 den ansete Dr. Dobbs Excellence in Programming Award, hvilket bringer ham i selskab med programmører som bl.a. Linus Torvalds.





Gå til bund
Gravatar #1 - BlackAutt
2. aug. 2004 09:37
Tillykke til Anders. Det var godt nok også på tide at han fik lidt international hæder :)

Det er lidt rart at vide at der er danskere der spiller så centrale roller i udviklingen
Gravatar #2 - ttN
2. aug. 2004 09:39
Står Anders ikke også bag C++?!
Gravatar #3 - Klok
2. aug. 2004 09:41
Ja, tillykke til ham :D
Gravatar #4 - mat
2. aug. 2004 09:49
#2 Han hedder Bjarne Stroustrup
Gravatar #5 - rasmuskaae
2. aug. 2004 10:28
go danmark!
Gravatar #6 - Pally
2. aug. 2004 10:37
#2 ttN:
Før Microsoft var han 'manden bag' Delphi. Måske det du tænker på?
Gravatar #7 - ChrashOverride
2. aug. 2004 12:02
C#
er ok til nogle ting men er også meget afgranset glæder mig til at se deres sidste opdate fungere på min kode.

Kunne være fedt at få et mere projekt ud af vejen og over på hylden under projekter der kun skal opdateres.
Gravatar #8 - Pally
2. aug. 2004 12:54
#7 CrashOverride:
[C# er ok til nogle ting men er også meget afgranset]
'meget afgrænset' er nu så meget sagt. En tommelfingerregel er at hvis ikke der er brug for inline assebler kode så er c# hurtigt nok.


[mig til at se deres sidste opdate fungere på min kode]
Hehe, hvad siger det mest om, c# eller din kode? :b
Gravatar #9 - Infophreak
2. aug. 2004 14:08
Er det bare mig, eller er den server, videostreamen er på, ufattelig langsom? Jeg får ikke mere end 50-60kbps, når jeg forsøger at streame fra den.
Gravatar #10 - footracing.com
2. aug. 2004 20:53
Rigtig lækkert foredrag, der lige giver et lille indblik i hans arbejdsgang og hvad vi kan forvente os i version 2.0 af C# Glæder mig for vildt! :D
Gravatar #11 - Redeeman
2. aug. 2004 21:18
#8
det er ikke fuldstændig rigtigt,
inline asm behøver ikke være hurtigere, og C# er mindst lige så hurtig som andre programmeringssprog. til databeregning vil C# endda være hurtigere end c++
Gravatar #12 - mrmorris
2. aug. 2004 22:36
#11 Nu skal man jo passe på ikke at blande kartofler og gulerødde. Målet med inline ASM er jo netop at optimere hotspots (dekryptering/kompression etc.) og jeg vil til enhver tid kunne skrive CRC check eller primtals-test (sieve) hurtigere i ASM end i C#!

Compileret C++ vil også være hurtigere, pga. C# er managed kode, indeholder garbage collector process, trådsikkert (tager ingen chancer) klasse-hieraki mm.

C# (som bruger JIT compiler) er dog betydeligt hurtigere end Java (Interpreter) og dets styrker skal ses i et utroligt konsistent klassebibliotek og RAD support fra VS.NET - Jeg ville blot elske hvis der havde været en "compile to native code" således vi kunne slippe for 25+mb runtime og benytte en MFC-wrapper istedet.
Gravatar #13 - sh0dan
3. aug. 2004 06:12
#12:C# (som bruger JIT compiler) er dog betydeligt hurtigere end Java (Interpreter)....

Sikke da en gang vås. Java har været JIT-baseret siden 1996. Der er så også senere blevet tilføjet en Hotspot-compiler, der ud fra en løbende profil af programmet reoptimerer dele af koden.

... men din pointe omkring runtime-delen er jeg meget enig i, hvilket også gælder for Java - på trods af at der efterhånden findes et par muligheder.
Gravatar #14 - Pally
3. aug. 2004 07:02
#11 Redeeman:
[det er ikke fuldstændig rigtigt]
Netop grunden til at jeg skrev 'tommelfingerregel'


[inline asm behøver ikke være hurtigere]
Helt rigtigt. Med mine (yderst begrænsede) evner *kan* jeg lave lidt asm; men det vil 99% sikkert være skod i forhold til det som en ordenlig kompiler genererer i sidste ende. Men folk der ved, hvad de laver kan lave ekstrem effektiv asm kode.

Eksemplerne nævnt af #12 er meget gode.


[databeregning vil C# endda være hurtigere end c++]
Det lyder endog meget usandsynligt. Hvordan er du kommet på det?
Gravatar #15 - Kimbahir
3. aug. 2004 07:32
#12
fra og med longhorn, vil .net være native... og win32 skal så oversættes til .net

dermed vil .net få performance overtaget i de fleste hverdagsopgaver, også i forhold til c++

------

jeg kan dog ikke forestille mig, at .net er hurtigere til *.* idag end c++ - hvis det er noget nogen vil stå inde for, vil jeg meget gerne se nogle benchmarks :)

Med vs2k5 får vi også refactoring indbygget, istedet for eksterne produkter, og så bliver det for alvor sjovt :)
Gravatar #16 - rasmuskaae
3. aug. 2004 07:43
14: I C++ kan du f.eks. lade være med at release hukommelse i en iteration, mens du i C# og Java kan risikere at garbage collection træder ind.
Gravatar #17 - ChrashOverride
3. aug. 2004 08:34
#8
Mit problem er ikke inline asm som jeg ikke bruger da jeg ikke har lyst til at ligge og leje i den første eller anden kerne skald af windows, for at skrive til netkortet eller grafikkortet eller hvad ved jeg.

Mit problem er noget så simplet som ikke at kunne få lov til at læse og skrive fra en struktur som generalt set er et stykke hukommelse som er allokeret i en classe, og Ja der er bygget håndtering af strukturen men den klager over at det allokeret struktur ikke er skrive bar da der ikke er allokeret hukommelse til det, og det er en fejl da jeg har lavet constructor direkte i strukturen og der går jeg specifikt ind og allokere det hukommelse som jeg skal bruge og når jeg er færdig med det bliver det slettet, og det er heller ikke permission problemer hvis nogle skulle tænke på protected eller private.

Men bortset fra det syndes jeg at C# er ok til mange ting, så i skal ikke tage dette som en tråd der hedder jeg hader MS.
Gravatar #18 - Pally
3. aug. 2004 10:41
#16 macaw:
Øh ja. Jeg mener ikke c# er hurtigere end c++, det er #11


#17 CrashOverrride:
Har du checket:
Marshal.AllocCoTaskMem
Marshal.Copy
Marshal.FreeCoTaskMem
Gravatar #19 - ChrashOverride
3. aug. 2004 12:12
#18 Tak for hintet.

Men jeg må desvære sige at det har jeg og det virker stadig ikke. Af en eller anden årsag vil dert bare ikke som jeg vil har sågar sendt problemet til MS og de har ikke svaret endnu.

Men måske skulle jeg gøre det Dansker til Dansker.. "Hvaa Kan du ikke lige hjælpe mig jeg har et problem... " også selvfølig på gammel jysk :)
Gravatar #20 - n555
3. aug. 2004 15:28
@#15: Hvordan kan .net være native? Det er vel kun assembler/upcodes cpu'en kan forstå - med mindre ms har lavet deres egen cpu...
Gravatar #21 - mrmorris
3. aug. 2004 17:06
#20 God pointe. For at .NET understøttes nativt skal:

- MSIL (MS Intermediate Language) køre direkte på x86 (Not likely!)
- MSIL oversættes til x86 (Har jeg dog aldrig hørt før!)

>Fra og med longhorn, vil .net være native... og win32 skal så >oversættes til .net
#15 hvor har du dét fra? Du mener altså at win32 API'et falder bort? (Næppe!)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login