Avatar billede plot Nybegynder
03. august 2001 - 11:04 Der er 36 kommentarer

C#

Hvad er forskellen på C++ og C#
Avatar billede cautoo Nybegynder
03. august 2001 - 11:14 #1
Det er som en C 1 og C 2
Avatar billede cautoo Nybegynder
03. august 2001 - 11:16 #2
grunden til at man skriver c++ om version 2 er fordi at du ved hvis man skal pludse med en i C/C++ så skriver du bare
værdi = værdi++

Avatar billede plot Nybegynder
03. august 2001 - 11:16 #3
hvad????
Avatar billede cautoo Nybegynder
03. august 2001 - 11:18 #4
ååuh sorry tænkte mig ikk om, så ikk #\'en men er det noget nyt??
Avatar billede wisen Nybegynder
03. august 2001 - 11:26 #5
C# er mere eller mindre speciale designet til at lave applikationer til Microsoft\'s nyeste påfund \".NET\"
Avatar billede wisen Nybegynder
03. august 2001 - 11:27 #6
Avatar billede jakoba Nybegynder
03. august 2001 - 11:45 #7
wisen >> Utroligt så meget \'attitude\' man kan klemme ind i blot ved at vælge et par ord :-)).
Men forresten ret enig. C-sharp som MS udtaler det er C++ med tilføjelser der gør det nemt at bruge i Microsoft miljøer.

mvh JakobA
Avatar billede kamikaze Nybegynder
03. august 2001 - 12:13 #8
Udfra hvad jeg har læst, minder C# mere om Java end om C++. Alle de \"farlige\" ting fra C++ er enten fjernet, eller wrappet i nye MS keywords. Feks. skal pointere angives med keywordet unsafe, alle objekter skal arve fra den samme base-klasse, der er interfaces som kan extendes osv. En ting er sikkert: Det er KUN et Microsoft sprog...
Avatar billede wisen Nybegynder
03. august 2001 - 12:22 #9
Det er korrekt at det minder om Java, C# skal også bruge et runtime-miljø ligesom Java; Spørgsmålet er hvor stor succes de vil få...
Avatar billede kamikaze Nybegynder
03. august 2001 - 13:54 #10
Jeg tror ikke der er andre end Microsoft (og deres diciple) der vil beskæftige sig med C#. Det er sandsynligvis ikke et sprog der vil præge udviklingen...
Avatar billede wisen Nybegynder
03. august 2001 - 13:55 #11
Ja, lad os nu se hvad der sker.....
Avatar billede kedde65 Praktikant
03. august 2001 - 17:12 #12
Det er således at i IE 6.0 kan der ikke køres Java programmer mere. Dette er grunden til at MS har opfundet c# for det sprog kan tilgængel køre i IE 6.0.
C# skulle også være langt nemmere at programmere i end eksempelvis Java/c++.

kedde
Avatar billede jakoba Nybegynder
03. august 2001 - 17:15 #13
Det blir jo så spændende at se hvordan det slag udvikler sig :)
Java har nok sine fejl, men MS klarede sig jo ikke for godt i kampen imod javascript, og Java er langt mere etableret.
Avatar billede kedde65 Praktikant
03. august 2001 - 17:20 #14
Naaaa, det vil jeg nu da ikke give dig helt ret i. Hvad angår serverside script er VBScript lang bedre fremme end javascript.\'
Avatar billede kamikaze Nybegynder
04. august 2001 - 15:03 #15
kedde65 >> Hvad??? Kan der ikke køres Java i IE6.0??? Hvor har du det fra???
Avatar billede kedde65 Praktikant
04. august 2001 - 15:16 #16
Kamikaze: Sådan cirka alle steder fra. Microsoft har officielt sagt at når Windows XP (Whistler) kommer ud så vil der ikke være mere java support. Dette sker på ca. samme tid som den nye Explorer kommer på gaden, og derfor vil der heller ikke være support for Java i den.
Sun udtaler at de glæder sig, for de tror fuldt og fast på at Microsoft brænder fingrende på den holdning.

Kedde
Avatar billede kamikaze Nybegynder
04. august 2001 - 15:52 #17
Kedde >> Det tror jeg også... Verden er i fuld gang med at lave Java-kode, og så vil Microsoft ikke supportere det...
Avatar billede kamikaze Nybegynder
04. august 2001 - 15:52 #18
...Men de går nok ikke lige fallit :-)
Avatar billede kedde65 Praktikant
04. august 2001 - 16:04 #19
Kamikaze>>
Nej nu er det jo ikke ligefrem ordet Fallit der falder en først ind når man snakker om Microsoft.
Avatar billede mtilsted Nybegynder
08. august 2001 - 17:17 #20
IE6 kan godt køre java, det kommer bare ikke med et java plugin som standart, saa det skal downloades og installeres første gang brugeren møder et java applet. Det gode ved dette er at brugeren saa faa java 1.3, og ikke den taabelige java 1.1.3 som explore normalt bruger.

btw: Jeg tror faktisk ikke at c#(Paa dansk: c havelåge) kan køre i din browser.
Avatar billede kedde65 Praktikant
08. august 2001 - 18:59 #21
Jeg ved at C# (på dansk C Sharp) kan køre i din browser. Det er et fortolker sprog ligesom Python, Java pg andre sprog. Fortolkeren til dette sprog, ligger i browseren bla. andet.
Avatar billede kamikaze Nybegynder
09. august 2001 - 14:28 #22
mtilsted >> Nåååå, det var en anden snak...
Avatar billede moykal Nybegynder
16. august 2001 - 16:18 #23
Fede en-dimensionelle indlæg. C# er naturligvis et nyt sprog, der rigtigt minder mere om Java end C++, da multipel arvning etc. er et fy-ord og i stedet erstattes me interface implementeringer a la Java. Men der er da operator-overloading, delegates, en stribe nye keywords... Og om det fænger? For helvede. Læs da om .NET og CLR\'en, og I vil finde ud af at det er det mest omdiskuterede emne overhovedet på internet, når vi snakker udvikling af andet end standalone apps. Og det er nok et lidt mere smart framework end Java. Trans-language inheritance. Og en performance, der banker Java på plads. Skriv web-sider i MC++ (Managed C++) om I vil - glem lige templates, da det er et problem i managed environments. Men skriv basis-klasser i JScript, og arv fra dem i C++. No problemos. Man kan ikke snakke C# uden .NET. Properties. Hørt om det? Eneste compiler ekstension jeg har set der implementerer dette hidtil i C++ er VC. Kan naturligvis klares med de rigtige templates. Her er det en del af sproget. Nøjagtigt ligesom COM-properties, men man slipper for IDL\'en. Jeg vil vædde med hvem som helst, at det bliver noget I kommer til at høre mere til. Spørg selv de mest inkarnerede Java-freaks hos DevelopMentor, og de siger det samme. Mht. køre i browser, skal du så ikke bare installere .NET frameworket? Du kan jo ikke ligefrem forvente at få eksekveret koden uden at have en CLR. Prøv at køre Java kode uden en JVM.
Avatar billede mtilsted Nybegynder
16. august 2001 - 22:23 #24
Men .net kan ogsaa bruges fra c++ saa hvilke fordel har c# i forhold til c++?

Avatar billede moykal Nybegynder
16. august 2001 - 22:58 #25
Jeg antager at du snakker om MC++. For som sprog mener jeg ikke at C++ overgås. Jeg kan ikke ligefrem tro at jeg har skrevet noget sådan. Men TIL DEN ANVENDELSE det har altså som programmerings-sprog i et managed environment - ligesom Java - har det de lækre små fordele jeg snakkede om delegates og properties og sikkert også andre ting, jeg er ikke så meget inde i detaljerne. Ikke at det ikke kan laves i C++, men i C# er det blot en del af sproget. Beware meningen med de ekstra keywords readonly og const... det er ikke helt det samme som const i C++. Vel - mit indlæg drejede sig mere om at jeg synes at det er ret åndssvagt at hagle C# ned. C# og C++ har hver deres fordele. Og specielt når man snakker C# og Java kan man ikke bare hive det ud og snakke om sprogene selv, men er også nødt til at relatere sig til deres anvendelse, og det miljø de kører i. Og da C++ IKKE kan bruges fuldt ud i .NET så mener jeg absolut at C# med det andet lækre syntaktiske sukker der findes i sproget er at foretrække. C++ er bedst til ægte god gammeldags rå kodning, hvor vi ikke snakker mere environment end OS og så evt. C-runtime, hvis man skal bruge exceptions. Og når templates ikke engang er til rådighed under MC++ (vist lidt svært at lave assemblies der er templates - her skal man jo i stedet bruge alternativet: interface implementering) så, ja - for mit vedkommende, så går en stor del af fornøjelsen ved C++ ligesom fløjten. Alle de lækre ting som expression templates, meta-programmer  etc.(http://www.extreme.indiana.edu/~tveldhui/) er der ikke - i hvert fald ikke på samme måde, og man må gøre som http://extreme.indiana.edu/~tveldhui/papers/2000/gcse00/index.html for Java. Og det ved jeg ikke rigtigt. Der er også nogle begrænsninger i MC++ i forhold til C# som jeg ikke har present.
Avatar billede moykal Nybegynder
16. august 2001 - 23:04 #26
Mht. begrænsningen til Windoze, så skulle den heller ikke være der på sigt. Har set et eller andet sted, at UNIX/Linux ports af CLR\'en er på vej. Men det bliver selvfølgeligt med det naturlige begrænsninger i biblioteket der nødvendige, da services som COM+-transaktioner osv. ikke bliver noget, der har relevans i disse miljøer. DevelopMentor folkene, der har snabelen inde i develop-teamsne hos MS, siger forøvrigt at CLR\'en er mere en JVM-klon en C# er en Java-klon.
Avatar billede moykal Nybegynder
16. august 2001 - 23:06 #27
At IE 6.0 ikke kommer med en Java-plugin er vel ikke mere mystisk end at Nutscape ikke kommer default med en ActiveX-plugin.
Avatar billede moykal Nybegynder
16. august 2001 - 23:14 #28
BTW - fordele... jeg mener i grunden ikke - hvis vi skal hive sprogene ud af deres framework og kigge på dem standalone, at C#/Java har nogle fordele overhovedet i forhold til C++. Jeg mener satme at det med at man kun kan have en basis-klasse og er nødt til at klistre andre funktionaliteter på gennem interface-påklistring og at dette betragtes som noget andet end at arve fra rent abstrakte klasser er noget forbandet sludder. Det er kun for at give det jeg har hørt kaldt \"the not so sophisticated developers\" et falsk billede af virkeligheden. Og garbage-collection (jeg foretrækker at kalde det \"crab-management\") er vel for folk der skriver garbage. Jeg kan kun se to fordele ved at køre i disse managede miljøer: 1) Just in time compilation, hvor en smart kompiler (bag din web-server) løbende kan optimere kode til det brug der er af den 2) Cirkulære objekt-referencer af døde objekter resulterer ikke i at disse ikke frigøres... folk der har kodet COM/ATL ved vist hvad jeg mener med det. Men det at man ikke selv kan styre ressource-forbruget huer mig ikke. Koder man f.eks. multitrådet er det da rart lige at pakke et pseudo-objekt omkring dine låse, således at uanset hvad helvede der sker - ie. exceptions - så frigør destruktoren ressourcen... og alle de andre fede teknikker man kan anvende scope til. finalize my ass...
Avatar billede moykal Nybegynder
16. august 2001 - 23:19 #29
De af Jer, der virkeligt hader MS og regner med at de er dumme og ikke kan finde ud af en skid og ikke gider bruge deres \"lort\" og mener at Linux rox (selv brugt skidtet siden \'94) og at det er federe at slås om bruger-flader (Gnome vs. KDE), i stedet for at finde en nogenlunde men veludviklet platform, og som ikke i livet vil anvende C# (og så vel heller ikke Java - for dem med lidt hukommelse vil kunne huske at SUN var ca. 10 gange slemmere for 10 år siden end MS er idag) kan da bare anvende Internet C++: http://www.xmission.com/~icvm/
Avatar billede mtilsted Nybegynder
16. august 2001 - 23:52 #30
Egentlig syntes jeg stadig vi mangler et svar paa forskellen mellem C# og c++.

OG nej jeg bruger ikke det #$&*$#& til linux, saa hellere windows der ved man da hvem der har skylden, naar lorted crasher igen.


Avatar billede moykal Nybegynder
17. august 2001 - 00:24 #31
Hvad fanden mener du? Det er to forskellige sprog og der er forskellen. Ligesom FORTRAN og C er forskellige. Jeg erkender mig tungnem og bliver nødt til at vide, hvad det er du mener. Jeg kan kun sige (og som den lille abekat jeg må være, og pænt citere) Java, C++ og C# er alle C-style languages. Mange af deres keywords er ens. De har meget af de samme control-statements, som if/else, switch, loops etc. De understøtter alle objektorienteret programmering, og de tre nyeste understøtter alle en eller anden form for arvning. C++ understøtter type-parametrisering (templates), det gør de andre ikke. Java og C# understøtter kun single-inheritance, denne begrænsning findes ikke i C++. C++ i sin standard-form er unmanaged, hvorfor man ovenikøbet kan bygge en masse smuk logik ovenpå scope-styring, det kan man ikke på samme måde i de to andre C-efterfølgere, da de intrisisk er managed - ikke SPROGENE - men det RUNTIME, der automatisk fordres. Java og C# har en noget simplere notation, ::, . og -> i C++, til namespace-resolution og element-reference erstattes alle i Java og C# med \".\" og dette alene. I C# og Java er alle objekttyper automatisk reference typer, hvorfor de automatisk ligger på en managed heap (igen noget med at sprogene som sådan ikke kan adskilles fra deres runtime), og man skal f.eks. i C# gennem større øvelser (boxing/unboxing) for at få value-types. I C++ er alt value-types... sådan da... selv en pointer bliver sendt over by value, og en reference (&) er jo blot en constant pointer (hvorfor den skal initialiseres). I C# (og sikkert også Java - har kun lavet ca. \"Hello, world!\" i denne byte-code interpreter/verifier) skal access (public/protected/private) erklæres for alle metoder og data-medlemmer. I C# har man properties, en slags syntaktisk sukker, der får et metodekald til at ligne et variabel access - findes ikke i C++, men som nævnt i første indlæg, så har MS lavet det i en __declspec-ting i VC, og det kan nemt implementeres, hvis nogen er interesseret (man kan også se det, hvis man bruger standard #import af COM-servere og søger ned til wrapningen af properties). C# har klasse-konstruktorer, altså en statisk-konstruktor; findes heller ikke i C++. Delegates (en af årsagerne til striden mellem SUN og MS i sin tid). Attributter, en web-metode erklæres ved at sætte en attribut på din service (klasse). Da C# programmer, biblioteker, klasser deployes i form af assemblies (en exe/dll der har mere end info i sig end traditionelle typelibraries i COM, faktisk ren XML, og gennem dette format foretages reflection, med hvilket man runtime kan undersøge strukturen af klasserne! Findes også i Java). Udover at erklære protection public/private/protected, kan man erklære det internal, og dette har igen noget med runtime at gøre... internal members kan kun accesseres af andre i samme assembly. Ligesom jeg også mener at Java har, så har C# et sealed keyword, der forhindrer yderligere nedarvning. Finalize markerer en sektion, der altid eksekveres selvom exceptions raises... alle disse ting findes IKKE i C++. Jeg gider ikke høre om sammenblandingen af C# og .NET (CLR) - de er uadskillelige... Der er også flere forskelle, såsom hvorledes man kan override, f.eks. virtuelle metoder, men jeg kan ikke huske det. Hvis dette ikke nævner hvad du har brug for, så må du henvende dig til en mere kompetent fætter indenfor emnet. Eller evt. hos www.develop.com, de har mange gode kurser, hvor du kan få din lyst stillet. Sorry, hvis jeg ikke kan ridse alt hvad du gerne vil vide op. Læs evt. Eric Gunnersons bog. Det var en af de første, og den er en ren opridsning af disse ting, og der findes vist nok i den en sektion om dette og vist også en, hvor du kan se forskellen på C# og Java.
Avatar billede moykal Nybegynder
17. august 2001 - 00:45 #32
http://www.msdn.microsoft.com/theshow/Archive.asp Nov. 2000 med Anders Hejlsberg bl.a.
Avatar billede wired Nybegynder
03. november 2001 - 11:05 #33
Jeg er fuldstændig enig med moykal, at C# ikke bare er noget midlertidigt. Nogen kommer til at æde deres ord i sig. C# er løsningen på de problemer som du vil få i fremtiden(som du endnu ikke ved du vil få). I den forbindelse vil jeg gerne takke moykal for de gode indlæg (selv om de kan være lidt skarpe), og høre om du ikke har et link til en god guide/toturial for programmering i C# - gerne med start af et \'hello world\'- program.
Win XP/Office XP og vistnok også Visual studio 7.0 er ude, det burde da være muligt at programmer C# nu - Hvorfor er jeg så ikke begyndt. Kan du hjælpe?
Avatar billede moykal Nybegynder
03. november 2001 - 14:17 #34
C# og miljøet er allerede fedt med Beta2. Jeg er først selv kommet igang indenfor den seneste måneds tid. Selvom jeg er C++-fanatiker, må jeg krybe til korset og sige at det er FOR FEDT. www.gotdotnet.com etc. er der links til c#-corner og andre. Hello, world er nem i C#:

using System;

namespace MyFirstHelloWorldInCSharp {
  public class HereWeGo {
    public int Mail() {
      Console.WriteLine(\"Hello, World!\");
    }
  }
};

Installer Beta2 versionen af VS7. Der er masser af fede wizards. Også til Web-services. I den forb. skal det nævnes for Jer, der har leget med VS 6 og ATL 3, at COM-servere nu skrives udelukkende med attributter. Ikke noget med seperate IDL-filer.... de genereres. Det er fedt. Vel - wired, hvis der er noget specifikt, så sig til. Du kan også skrive direkte til: michael_w_olesen@hotmail.com
Avatar billede moykal Nybegynder
03. november 2001 - 14:18 #35
Der er en fejl i programmet...

public static void Main()....

nogle gange er man bare for dygtig...

Jeg glemte også at anbefale:

Andrew Troelsens bog fra Apress.... den er fandme god... der er lidt af det hele i den....
Avatar billede 4u2x Nybegynder
29. juni 2002 - 11:12 #36
Jubii anvender C-sharp
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
Kurser inden for grundlæggende programmering

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