20. juni 2010 - 09:11Der er
4 kommentarer og 2 løsninger
Nybegynder-spørgsmål
Hej
Indtil for ca. 6 år siden kodede jeg professionelt i C++ og Delphi. Siden har jeg arbejdet i en helt anden retning end programmering, så det er ikke blevet til meget kodning bortset fra et par små projekter til mig selv i Delphi. Nu vil jeg gerne tilbage i kampen, og så vidt jeg kan se på jobannoncerne, så er C# den eneste vej frem? I den forbindelse har jeg lige et par opklarende spørgsmål.
1) Så vidt jeg kan se på de fleste tutorials på nettet er det mest console-applikationer man udvikler i C#? Hvad med grafiske brugergrænseflader?
2) lidt i forlængelse af punkt 1. Kan man lave alm. windows-applikationer på samme måde som i Delphi? I Delphi er de fleste komponenter drag'n'drop hvilket gjorde det nemt at lave grafisk-pæne programmer, er det lige så nemt i C#?
3) Det ser ud som om det bedste program til C# er Visual Studio 2010? Er der nogen kritiske begrænsninger i Express udgaven i forhold til den man skal betale for eller er Express-udgaven alt hvad man har brug for til at lave alle programmer? Er der andre programmer der er bedre?
4) Hvad er det jeg kan i C# som jeg ikke kan i Delphi/C++ og hvad kan jeg ikke i C# som jeg måske har været vant til?
5) For at lave en hjemmeside med serverside-funktionalitet som f.eks. en sms-gateway med brugere og betalingsmuligheder er det så C#/ASP.Net man skal have fat i eller jeg helt galt på den? Jeg tænkte på at man skulle lave softwaren i C# og webdelen i ASP.net og så kan de snakke sammen eller hvordan hænger det hele sammen?
1) forkert - men console-applikationer er bare oftest de letteste og mest neutrale i forhold til at fremvise og teste kode i forbindelse med tutorials og lærebøger, der ikke specifikt er målrettet fx web eller winforms.
2) Ja, men det er nu ikke C# som sådan der gør den del let men udviklingsværktøjet - Visual Studio.
3) Visual Studio helt klart - og jo, der er selvfølgelig begrænsninger i Express-udgaven men næppe noget du vil bemærke meget langt hen ad vejen.
5) Jeg er lidt usikker på dine præcise tanker her, men web kan du lave mere eller mindre præcis som når du laver windows applikationer - du kan lave drag'n'drop til brugergrænsefladen (selvom jeg personligt synes det er et rigtigt dårligt valg da man ved webudvikling bør have præcis styr på sin HTML-kode) og bagved ligger din C# kode enten som kode til den enkelte side eller i et eller flere lag. Den store forskel mellem windows- og webudvikling er dine objekters levetid.
Nu vil jeg gerne tilbage i kampen, og så vidt jeg kan se på jobannoncerne, så er C# den eneste vej frem?
Ikke den eneste vej frem. Men absolut en meget relevant vej.
1) Så vidt jeg kan se på de fleste tutorials på nettet er det mest console-applikationer man udvikler i C#? Hvad med grafiske brugergrænseflader?
Hvis jeg skulle gætte så ville jeg gætte på at C# apps er fordelt som: - 50% web - 45% Win Form & WPF - 5% console apps incl. win services
Man kan lave ganske glimrende gUI i win forms og WPF.
Console apps bruge softe til demo apps, hvis problem stillingen ikke har noget med GUI at gøre, fordi man kan vise et komplet program med meget færre linier end hvis man skal have al GUI setup kode med.
2) lidt i forlængelse af punkt 1. Kan man lave alm. windows-applikationer på samme måde som i Delphi? I Delphi er de fleste komponenter drag'n'drop hvilket gjorde det nemt at lave grafisk-pæne programmer, er det lige så nemt i C#?
Visual Studio har drop and drag GUI builder ligesom Borlands IDE'er.
Ikke så overraskende da Anders Hejlsberg har været en af de drivende kræfter bag .NET !
3) Det ser ud som om det bedste program til C# er Visual Studio 2010? Er der nogen kritiske begrænsninger i Express udgaven i forhold til den man skal betale for eller er Express-udgaven alt hvad man har brug for til at lave alle programmer? Er der andre programmer der er bedre?
Express udgaven har ingen restriktioner på hvad om du må sælge dit program eller ej. Det er ikke et hobby-only program.
Betalings versionerne har naturligvis mere funktionalitet. Ikke mindst indenfor integration med servere, source control etc..
Et alternativ til Visual Studio er open source produktet SharpDevelop.
Et andet alternativ er Eclipse med Emonic plugin. Det sidste er nok medt relevant hvis du kender Eclipse.
4) Hvad er det jeg kan i C# som jeg ikke kan i Delphi/C++ og hvad kan jeg ikke i C# som jeg måske har været vant til?
De to største fordele må være: 1) det meget store library som kommer med .NET - der er klasser for stort set alt (Borland VCL er også omfattende men .NET er bare 10-20 gange større) 2) garbage collection - du behøver ikke længere bekymre dig om eksplicit at frigive dynamisk allokeret memory
5) For at lave en hjemmeside med serverside-funktionalitet som f.eks. en sms-gateway med brugere og betalingsmuligheder er det så C#/ASP.Net man skal have fat i eller jeg helt galt på den? Jeg tænkte på at man skulle lave softwaren i C# og webdelen i ASP.net og så kan de snakke sammen eller hvordan hænger det hele sammen?
web app => ASP.NET
ASP.NET kan laves med forskellige programmerings sprog og C# er det mest populære
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.