webForumDet fria alternativet

C# (C Sharp)

21 svar · 483 visningar · startad av Swey

SweyMedlem sedan apr. 20003 971 inlägg
#1

Vad tycker vi om det?

------------------
- Swey
A hacker from the south

sgtpepperMedlem sedan apr. 20007 588 inlägg
#2

Tja, det har lånat ganska många egenskaper från Java och C++ så helt uruselt kan det ju inte vara.

Den stora nackdelen är att C# i princip är bunden till .NET-plattformen och därigenom även till Windowsplattformen. Även om språket som sådant släpps som standard så kommer det inte innebära att man automatiskt kan porta C# till andra plattformar då man måste använda .NET-APIer som Microsoft kommer hålla hårt på.

Jag kan inte se någon egentlig anledning till varför man man skall använda C# och .NET framför Java och J2EE, såtillvida att man inte gillar att bli låst till ett särskilt OS och en plattform från ett enskilt bolag.

Om man som J2EE-utvecklare upptäcker att IBM Websphere är dåligt så säger man bara "jahapp, skit i den" och knallar iväg och köper en licens av Bea Weblogic, Orion eller någon annan javaplattform, som .NET/C#-utvecklare kan man bara säga "oj" och sen fortsätta köra med samma produkt. Det är inte valfrihet.

Hmm, vart lite mycket .NET men C# och .NET hör ju i hög grad ihop :).

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

jtMedlem sedan juni 2000350 inlägg
#3

C# är säkert bra men det är helt nytt och det gäller nog att .Net blir bra.

Finns kanske någon som testat Betan av Visual Net(eller var det nu heter)?

Ganska intressant artikel om .Net.
Microsoft Goes Bonkers http://joel.editthispage.com/stories/storyReader$133

ChainsawMedlem sedan sep. 20001 124 inlägg
#4

Sett ur enbart språksynvinkel så är det blandade känslor. Jag förstår exempelvis inte varför man valde att använda både automagisk skräpuppsamling och pekare. Om man kollar på Java så märker man efter en stunds utvecklande att pekarna i C++ egentligen inte behövs vid applikationsprogrammering.

Inte heller förstår jag varför man skulle välja C# framför Java. Trots allt är Java en betydligt mer mogen produkt med en väldigt bred skara supporters.

------------------

Programmerare är verktyg för att omvandla koffein till källkod

SweyMedlem sedan apr. 20003 971 inlägg
#5

Den stora nackdelen är att C# i princip är bunden till .NET-plattformen och därigenom även till Windowsplattformen.
Egentligen ville jag diskutera både .NET och C# här men såg det som självklart eftersom C# endast fungerar med .NET-plattformen. Om det är en nackdel eller inte vill jag inte spekulera i. Jag tror nog att C# kommer få fler användningsområden i framtiden och inte bli bunden till .NET-plattformen.

Själva .NET-plattformen är gjord för att vara språk- och OS-oberoende. Det senare har Microsoft inte satsat så mycket på dock men det är mycket möjligt att vi får se .NET för Linux i framtiden. Det går rykten om det.

Jag kan inte se någon egentlig anledning till varför man man skall använda C# och .NET framför Java och J2EE
Jag vet inte vad J2EE är. Eftersom jag inte har några erfarenheter av Java alls så känns det ganska meningslöst att argumentera.

Jag gillar Windows och .NET-plattformen är det nya sättet att utveckla Windows-program. Det är bättre att jämföra det nya med det gamla sättet att utveckla Windows-program. Förut var Visual Basic, C, MFC och C++ Builder de olika starka alternativen. Jag har provat samtliga och gillar ingen av dem.

Varför?
Visual Basic - Långsamt och begränsat.
C - Svårt och tidskrävande att arbeta med.
MFC - Ungefär som C fast med lite klasser.
C++ Builder - För instabil att använda. Även om det blir lite stabilare för varje version så känner jag inte för att betala för buggfixar. Väldigt få nyheter sedan första versionen.

Jag tror att .NET och C# kommer bli stabilt, lätt att använda, snabbt och erbjuda allt man behöver. Detta tror jag efter vad jag sett i beta-versionen.

Det har äntligen kommit ett alternativ helt i min smak. Det är min anledning att använda .NET och C#.

NET/C#-utvecklare kan man bara säga "oj" och sen fortsätta köra med samma produkt. Det är inte valfrihet
Nej, de alternativen jag tog upp tidigare finns fortfarande kvar. Min förhoppning är dock att .NET och C# inte ska bli dåligt och jag ser få tecken på det hittils.

Finns kanske någon som testat Betan av Visual Net(eller var det nu heter)?
Jag håller på och testat SDK-versionen för fullt. Det är kompilatorer, felsökare och dokumentation. Allt man behöver för att utveckla program med en vanlig texteditor. Jag vill väldigt gärna testa Visual Studio.NET men jag kan inte beställa den p.g.a. att man måste ha kreditkort. Det är endast SDK som går att ladda ned.

Jag förstår exempelvis inte varför man valde att använda både automagisk skräpuppsamling och pekare.
Pekare ska man normalt inte använda. För att använda det måste man skriva koden inom unsafe{}. Det skadar väl inte att möjligheten finns? Något tillfälle då man behöver pekare kanske kommer. T.ex. för att kunna använda viss C/C++-kod tillsammans med C#.

Trots allt är Java en betydligt mer mogen produkt
.NET kommer lanseras om ett år och då har det funnits i 1½ år. Jag är säker på att produkten hunnit bli mogen tills dess. Det finns redan massor av supporters i nyhetsgrupperna.

------------------
- Swey
A hacker from the south

[Redigerat av Swey den 25 nov 2000]

PeWMedlem sedan juni 200010 432 inlägg
#6

Som sagt, tiden får utvisa. Det som gör det en aning trist angående valfrihet är att det är just microsoft som står bakom och hur det fungerat hitintills vet väl de flesta. Det är fortfarande ett stort steg mellan microsoft och open source världen... ms bekämpar ju detta med alla medel, så om de portar detta till linux :l tja, det vore inte helt fel, men knappast i linje med gammal ms-anda. Skillnaden i språken du tog upp swey, är ju inte endast hur krångliga de är utan även vilken nivå mot maskinvaran man vill ligga. Så C# har en lång, lång väg att vandra innan det kan ses som någon slags ersättare inom windowsprog (eller annat os, med f.d).

jtMedlem sedan juni 2000350 inlägg
#7

Swey
Microsoft är inte direkt kända för att göra stabila/bra första versioner. Men dom bukar vara envisa och med pris och förbättringar lyckas dom ofta tillslut. Ingen vet om .Net kommer att lanseras inom ett år. Det går alltid massor av rykten.

Om nu .NET och C# blir stabilt och snabbt m.m så kommer väl alla .Net språk att få dessa egenskaper.

Dina jämförelser blir lite konstiga när du jämför språk utvecklingsmiljöer och klassbibliotek i en enda röra.

SweyMedlem sedan apr. 20003 971 inlägg
#8

jt,
Det var inte språk jag jämförde eftersom de flesta var C eller C++ utan utvecklingsmöjligheter. Fyra stycken utvecklingsmöjligheter med olika språk och verktyg för att utveckla program i Windows. Det finns säkert fler men det är de jag har provat och känner till. Delphi finns också men det är precis som C++ Builder fast med Pascal.

.NET är dessutom ingen första version. C# är en vidareuteveckling av C++, Visual Studio är en vidareuteveckling av tidigare version och .NET-plattformen är en vidareutveckling av Platform SDK. Det är m.a.o. inte mycket som är helt nytt. Microsoft har jobbat på detta i 3 år och jag ser ingen anledning att misstänka att det kommer bli instabilt och dåligt.

Jag har väldigt ofta varit negativt inställd till Microsoft men jag tror att de kommer att lyckas denna gång.

PeW,
Skillnaden i språken du tog upp swey, är ju inte endast hur krångliga de är utan även vilken nivå mot maskinvaran man vill ligga
Precis. C och C++ är de enda språken man kan använda av de alternativ jag sa för att ligga nära maskinvaran. Det berör inte mig eftersom det är just det jag vill slippa. Jag gillar högnivåprogrammering och vill utveckla bra datorpgoram istället för att ödsla evigheter med tid på lågnivåprogrammering. Man kommer nog inte kunna göra drivrutiner med .NET men att utveckla vanliga program och tjänster går utmärkt. Den dagen jag vill göra en drivrutin kan jag använda C++.

------------------
- Swey
A hacker from the south

ChainsawMedlem sedan sep. 20001 124 inlägg
#9

.NET kommer lanseras om ett år och då har det funnits i 1½ år.

Ursäkta min usla matte, men om Net-paketet släpps om ett år så har det väl funnits i ett-å-ett-halvt år om två-å-ett-halvt år? Trots allt, det är inte så att man släpper ett program och dagen efter har det funnits i över ett år.

Eller har naturlagarna slutat att fungera sedan senaste groggen?

------------------

Programmerare är verktyg för att omvandla koffein till källkod

SweyMedlem sedan apr. 20003 971 inlägg
#10

Chainsaw,
Jag menade att förhandsversionerna har funnits så lång tid. Det finns ju många program som inte har några publika förhandsversioner alls.

------------------
- Swey
A hacker from the south

ChainsawMedlem sedan sep. 20001 124 inlägg
#11

Men bara för att förhandsversioner funnits en stund så gör det inte språket ett dugg mer moget. Först när det finns en grov användarskara kan språket utvecklas och förbättras till en nivå då det kan kallas fullt användbart.

Förresten, du som verkar ha lite koll på C#: hur kommer klassbiblioteket att se ut? Om det är designat av de skottskadade idioterna bakom MFC lär de inte få särskilt många Java-programmerare att vilja röra vid språket.

------------------

Programmerare är verktyg för att omvandla koffein till källkod

SweyMedlem sedan apr. 20003 971 inlägg
#12

Men bara för att förhandsversioner funnits en stund så gör det inte språket ett dugg mer moget.
Sant, men chansen är betydligt större än om de hade släppt slutversionen utan att ge ut några förhandsversioner. Genom att de berättar om det som kommer och släpper ett antal förhandsversioner som man kan testa så samlas det folk och testar det och diskuterar det i nyhetsgrupperna. Då börjar det samlas en skara. Man kan få hjälp när man kör fast och berätta för Microsoft vad det är som saknas och vad som ska fixas. Det finns redan massor med folk i nyhetsgrupperna och webbplatser för C#, .NET, ASP.NET m.m. blir bara fler och fler.

De allra flesta älskar rent ut sagt .NET-plattformen.

De enda som kritiserar är de som sitter med Java och inte accepterar att Microsoft ska ta över igen. ;)

hur kommer klassbiblioteket att se ut?
Oroa dig inte. Det är klassbiblioteket som är kärnan i .NET och det är mycket bra designat.

Jag ska försöka förklara lite lätt hur det är designat.
Allting är objektorinterat och det finns därför inga globala funktioner eller variabler (förutom i VB.NET för bakåtkompatibilitet). Alla klasser finns i så kallade namespace som i sin tur är indelade i namn som börjar på System. Alla grundklasser finns i System, alla klasser som används för trådning finns i System.Threading, alla klasser som används för att bygga formulär finns i System.WinForms o.s.v. En namespace kan ha flera nivåer. Klasser som berör nätverk finns i namespace System.Net och de som berör sockets finns i System.Net.Sockets.

För att komma åt en statisk funktion i en klass skriver namn namnutrymmets namn följt av klassens namn följt av funktionen man vill komma åt. Klassen Console finns i System och för att skriva ut på konsolen skriver man:
System.Console.WriteLine("text");

Man kan inte skapa en egen konsol(eftersom Console-klassen endast innehåller statiska funktioner och egenskaper) men om man t.ex. vill skapa en socket skriver man
System.Net.Sockets.Socket MinSocket = new System.Net.Sockets.Socket(...);

Detta kan bli lite rörigt så därför kan man använda using för att korta ned det på det här sättet:
using System.Net.Socket;
Socket MinSocket = new Socket(...);

Klassen behöver man aldrig ta bort eftersom GC sköter det men många klasser har speciella funktioner som man anropar när man är klar för att minnet inte ska ta slut i väntan på GC:n.

Eftersom det inte finns några globala objekt så måste man ha en egen klass med en statik Main-funktion. Här kommer ett väldigt enkelt exempel som visar ett formulär med rubriken Text.

using System;
using System.WinForms;

class MainForm : Form {
	MainForm() {
		Text = "Test";
	}
	
	public static void Main() {
		Application.Run(new MainForm());
	}
}

Här ärver vi Form-klassen och skapar ett formulär under uppstart. För att visa formuläret anropar vi Application.Run som körs tills fönstret har stängts.

Ursäkta min opedagogiska förklaring men jag hoppas ni förstår någonting. :)

Läs mer på http://msdn.microsoft.com/net

------------------
- Swey
A hacker from the south

jtMedlem sedan juni 2000350 inlägg
#13

>älskar rent ut sagt .NET-plattformen...

Finns även många VB användare som inte älskar .Net eftersom VB kommer att förändras mycket blir det svårt att flytta över gammal kod till VB.Net.

ChainsawMedlem sedan sep. 20001 124 inlägg
#14

Swey: det är alltså exakt som Java-biblioteket. Efter att ha gluttat lite på dokumentationen till klasserna i C# så verkar det hela vara nästan helt identiskt med Java-klasserna. Därför förstår jag inte riktigt varför jag skulle gå över från ett språk som funnits tillgängligt i snart fem år till ett nytt och oprövat språk.

Jag håller mig till Java, så får ni andra som vill lära er C#.

------------------

Programmerare är verktyg för att omvandla koffein till källkod

sgtpepperMedlem sedan apr. 20007 588 inlägg
#15

Jepp, man kan ju lugnt påstå att det verkar som MS-snubbarna kikat "lite lätt" på Javas uppbyggnad och klassbibliotek.

Den enda skillnaden (om man hårddrar) är väl att NET-klassbiblioteken är bundna till Wintel och Javas är plattformsoberoende.

De som "älskar .NET-plattformen" har antagligen aldrig jobbat med Javaplattformen, för då skulle de redan älskat denna (hur man nu kan älska en sån grej... ;)).

Jaja, hur som helst, det finns en marknad för båda språken/plattformarna, men MS önskan att krossa Java är nog än så länge en väldigt avlägsen dröm i Bill Gates lilla huvud.
------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

[Redigerat av sgtpepper den 27 nov 2000]

SweyMedlem sedan apr. 20003 971 inlägg
#16

Det är väl bra att den liknar Java, då blir det enklare för er att göra Windows-program.

Använder alla programmerare Java på Unix här, eller?

------------------
- Swey
A hacker from the south

bughawkMedlem sedan juni 20001 839 inlägg
#17

Nä, men väl C/C++ under Linux.. ;)

------------------
/ bughawk < bughawk at chello.se >

Motto: Stressa inte ihjäl dig!

ChainsawMedlem sedan sep. 20001 124 inlägg
#18

Jag utvecklar Java under Win32, Solaris, OS/2, FreeBSD och även Linux. Eftersom jag kan byta mellan plattformar precis hur jag vill så kan jag koda i stort sett på vilken dator som helst. Om jag väljer att använda mig av C# i framtiden framför Java så innebär det att jag låser mig vid ett enda system (ein volk, ein reich).

Men varför ska man använda sig av C# om man redan kan Java? Trots allt, Java-program kan ju köras under alla möjliga olika plattformar (från det extremt lätta PalmOS till Win32) medans C# finns på en enda plattform.

------------------

Programmerare är verktyg för att omvandla koffein till källkod

spangoMedlem sedan juni 20008 205 inlägg
#19

Ang. C#'s och Javas likhet... jag läste en introduktion till en bok i C# ("Introducing C#", har jag för mig). Ett antal helskärmar text, och Java nämndes inte en enda gång. Bara C++. Pinsamt...

------------------
spango - pondering the questions of eternity, and fractional divisions thereof.

JoakimEMedlem sedan feb. 20003 257 inlägg
#20

Stöd för C# kommer även att finnas i X-Boxen och PocketPC ;)

------------------
lazy by nature
You can run, and you can hide, and I wont even look for ya

137 ms totalt · 3 externa anrop · v20260731065814-full.b943c234
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)