webForumDet fria alternativet

Framtiden

.NETur .NET

156 svar · 5 693 visningar · startad av Prästen · sida 2 av 8

Frågan, av Prästen

Tjenare. vill starta en debatt om .NET här och ASP.NET. Har ju tittat lite på whidbey och asp.net 2.0. 1\. Tror ni att .NET kommer ta över ALL typ av programmering?. 2\. Tror ni att ASP.NET 2.0 kommer ta över all typ av webapplikationer, eftersom det är så hiskiligt enkelt och produktivt?. 3\. Kommer C# ta över efter C++? 4\. Har Java någon motsvarighet till det enkla sättet att göra webapps som

Läs frågan i sin helhet →
Medlem sedan apr. 20007 588 inlägg
#21

Prästen skrev:

jag tror kriget är över.

Lustigt, jag jobbar på världens största IT-företag och vi kör Java och enbart Java så att det ryker. Så jag tror inte att "kriget" är över.

Det finns två läger, Java- och Microsoftlägret. Sitter man i det ena lägret så ter sig det andra lägret som ganska diffust och ointressant, det betyder dock inte att det "egna" lägret är allenarådande.

Sen kan man diskutera i evighet om vad som är bäst osv och gå in på detaljerad nivå, men du kan lita på att det finns stora ekonomiska och tekniska aktörer bakom Java likaväl som det finns bakom .NET, inget av de båda lägrena kommer att "vinna", det .NET har gjort är att framförallt ha erövrat Microsoftdelen av branchen, Javadelen kör till stor del fortfarande Java.

Medlem sedan dec. 2000537 inlägg
#22

snabbhet genom flexibilitet och kontroll, och som det ser ut idag är ASP.NET inte byggt med tanke på det senare.

men .net är ju tanken att kontrollen ska öka, eftersom det finns mindre risk att man gör fel med managed (minneshantering tex) pekare finns inte i C#, kontrollen ökar. men det hela handlar ju om en övervägning. .net erbjuder enklare programmering och ökad kontroll, mot att man tummar litegrann på den fria programmeringen, och det är en avvägning som jag köper. helt enkelt för att jag tycker man ska sätta produktivitet i första rummet, tänk dig å göra en windowsapplikation i C++, det är rena mardrömmen, 100 mil kod bara för att sätta upp all grafik, message-pumps och allsköns bröte, urk. med .net är det rena barnleken. och longhorn och whidbey blir det ännu enklare. och det är så snabbt också, nästan lika snabbt som kompilerad kod. vad mer kan man begära?. Så småningom tror jag också att spel kommer göras i managed, eftersom att göra spel är en svettig process, det är extremt svårt , krävs oerhört kreativt tänkande (linjär algebra på högsta nivå, Artificiell intelligens m.m), och då vill ju utvecklaren satsa på det kreativa och inte på att fundera ut hur man ska hantera minnet och alla äckliga pekare och grejer. så tror jag iaf. Och managed DirectX är 95-98% lika snabbt som DirectX C++. Tid är pengar idag. Och allt som kan göra dom mer produktiva är bara bra.

Lustigt, jag jobbar på världens största IT-företag och vi kör Java och enbart Java så att det ryker. Så jag tror inte att "kriget" är över.

men vad ska egentligen java erbjuda när longhorn kommer ut?.

men hittills är jag långt ifrån glad över den riktning som MS valt med ASP.NET. Överväger ibland till och med att överge ASP.NET till förmån för något annat

då lär du inte gilla longhorn, för där har även windowsprogrammeringen ersatts av ett ASP.NET liknande markup språk (XAML), och en lite codebehind bakom alltihop :)

Och en annan sak, många klagar på microsoft servrar säkerhet, men fundera lite på det.
MS är utsatt för ca 1000 gånger fler attacker än tex apache eller något annat system, eftersom MS är alla hackares favorit hackkyckling, därför är MS servrar så många gånger mer utsatta för attacker, för vilken hackare ger sig på en snäll apache server?, inte många iaf. Därför upptäcks inte lika många buggar och säkerhetsluckor på andra system än MS.

Medlem sedan juni 20011 732 inlägg
#23

Låt oss hoppas att vi aldrig hamnar i det läget att det bara finns "EN" alenarådande standard/produkt/plattform/wee - eftersom det är just konkurens och valmnöjligheter som stimulerar utveckling och pressar priser.

Medlem sedan juni 20022 599 inlägg
#24

Prästen skrev:

tänk dig å göra en windowsapplikation i C++, det är rena mardrömmen, 100 mil kod bara för att sätta upp all grafik, message-pumps och allsköns bröte, urk.

Allvarligt talat: Det finns (sedan länge) färdiga klasser för fönsterhantering även i C++ (precis som i flertalet andra moderna språk/miljöer).

Vi behöver ju åtminstone inte låtsas att allting plötsligt har sin utgångspunkt i .NET (klassbibliotek, objektorientering, byte-kod, JIT-kompilering, garbage-collection osv ..) och att allt dessförinnan var rena stenåldern.

Om man inte ser programmering i ett så snävt och kort(?) perspektiv som du tycks göra så är det egentligen relativt saker som har det.

Medlem sedan dec. 2000537 inlägg
#25

Allvarligt talat: Det finns (sedan länge) färdiga klasser för fönsterhantering även i C++ (precis som i flertalet andra moderna språk/miljöer).

Du menar MFC. Men jämför hur mycket man får skriva för att sätta upp ett fönster i C++ och i .net. Jämför också händelsehanteringssystemet med .net. Det är som natt och dag.
Det tog mig flera dagar att bara förstå message-pumpen.

Medlem sedan juni 20022 599 inlägg
#26

Prästen skrev:

Du menar MFC.

Nej, inte nödvändigtvis. Jag menade egentligen samtliga miljöer som har abstraherat bort fönsterproceduren (message-pumpen) de senaste 8-10 åren och gjort den "händelsestyrd" på samma enkla sätt som i .NET.

Missförstå mig rätt: Jag har inget mot MS. Det är den miljö/plattform jag behärskar bäst och det är deras grejer som betalar min hyra. Men när man läser dina inlägg så får man intrycket att du läser innantill ur deras reklambroshyrer/PowerPoints (med en ganska gäll röst).

Om du anser att .NET är den eviga och slutgiltiga lösningen på alla programmeringsrelaterade problem. Bra. Satsa då all din vakna tid på det.

Men för din egen skull bör du inte ha några illusioner: Om 5-10 år så kommer supertekniken X (inte nödvändigtvis från MS) och debatten kommer då att handla om vilken hopplös, krånglig och föråldrad återvändsgränd .NET egentligen var. Det är liksom så saker och ting funkar ..

Medlem sedan dec. 2000537 inlägg
#27

Nej, inte nödvändigtvis. Jag menade egentligen samtliga miljöer som har abstraherat bort fönsterproceduren (message-pumpen) de senaste 8-10 åren och gjort den "händelsestyrd" på samma enkla sätt som i .NET.

I det här fallet menar jag windowsprogrammering, som du säkert ser. Men jag förstår inte alls vad du menar. Har du lust å visa mig hur man implementerar en händelsehanterare(message-pump) i det gamla hederliga Visual Studio C++ , och på vilket sätt dom gjort den lika enkel som i .NET?.

Medlem sedan juli 20022 537 inlägg
#28

emission skrev:

Vimp skrev:

.NET 1.1 är det absolut snabbaste som finns just nu

Jämfört med vad? Källa?

Självklart kan du få en källa :)

http://www.asp.net/whidbey/whitepapers/AspNetOverview.aspx?tabindex=0&tabid=1

Första raden på del 3:
Today, ASP.NET is the World's fastest Web application server. Our goal with ASP.NET Whidbey is to make it even faster.

Medlem sedan juni 20022 599 inlägg
#29

Prästen skrev:

Har du lust å visa mig hur man implementerar en händelsehanterare(message-pump) i det gamla hederliga Visual Studio

Visst:

1. Starta studion.
2. File -> New Project -> MFC App Wizard -> Dialog Based.
3. Next -> Next -> .. -> Finish
4. Rita upp en knapp, dubbelklicka. Och, voilà! Där har du din händelsehanterare utan att du skrivit en enda rad kod.
5. Om det sen handlar om annat än knappar och musklick så är det bara att gå in i Classwizarden (Ctrl-W) och lägga till hanterare för valfritt Windowsmeddelande/event.

Och sen ska vi ju inte tala om tex VB där det varit ännu enklare sen 1993(?).

Medlem sedan maj 20012 812 inlägg
#30

Självklart kan du få en källa

http://www.asp.net/whidbey/whitepap...index=0&tabid=1

Första raden på del 3:
Today, ASP.NET is the World's fastest Web application server. Our goal with ASP.NET Whidbey is to make it even faster.

Du är inte ens lite kritisk, när du inser att källan kommer från MS själva.

Det är ungefär som att fråga Volvo vilken bil som är bäst i världen. Får du inte Volvo som svar är jag förvånnad.

ASP.NET är snabbt, mycket snabbt, men det har inte så mycket med ASP.NET att göra utan mer IIS6.0 och de caching möjligheter som finns. Kan ju nämna att ASP.NET inte är lika snabbt på IIS5 som på IIS6. Är det då ASP.NET som är snabbt eller är det Webservern.

Missförstå mig rätt, jag bara älskar .NET och tycker själv det är Guds gåva till programmeraren :-). Men jag är inte sämre än jag inser att det finns andra tekniker som är lika bra/bättre som .NET bara att jag inte har upptäckt dem/de inte är presenterade än.

- M

Medlem sedan juni 20008 205 inlägg
#31

men .net är ju tanken att kontrollen ska öka, eftersom det finns mindre risk att man gör fel med managed (minneshantering tex) pekare finns inte i C#, kontrollen ökar.
Ja, och? Varken emission eller SPiN pratade om garbage collection.

nästan lika snabbt som kompilerad kod. vad mer kan man begära?.
*Lika* snabbt som kompilerad kod? :p

Så småningom tror jag också att spel kommer göras i managed, eftersom att göra spel är en svettig process, det är extremt svårt , krävs oerhört kreativt tänkande (linjär algebra på högsta nivå, Artificiell intelligens m.m),
Inte omöjligt att spel m.m. kommer göras i unmanaged, men då jag är väl insatt på området AI kan jag hälsa att minneshanteringen (eller snarare minnesdeallokeringen) inte är det svåraste eller mest produktivitetsstävjande. Visst är det trevligt med automagisk GC, men vill man verkligen minska mängden kod finns funktionella språk som Prolog, där en del rätt bökiga saker kräver våldsamt mycket mindre kod.

då vill ju utvecklaren satsa på det kreativa och inte på att fundera ut hur man ska hantera minnet och alla äckliga pekare och grejer. så tror jag iaf.
Ja, du *tror* det ja... :OO
Att du säger att man inte behöver bekymra sig om minneshantering bara för att man har en GC säger en del om dig. I såväl Java som .Net är minneshantering extremt viktigt att kunna om man ska göra en mer krävande applikation. Visst, man behöver inte avallokera minnet själv, men det är vanligen inte speciellt svårt att lista ut när man ska göra, problemet är ibland att man glömmer bort det.

men vad ska egentligen java erbjuda när longhorn kommer ut?
Stöd för andra plattformar än Windows? En mognare arkitektur? Leverantörsoberoende? En smidig och trevlig arkitektur?
Vad jag märkt kan du inte ens Java, vilket ger dig ungefär ingen rätt att uttala dig om Javas kapabiliteter.

Och en annan sak, många klagar på microsoft servrar säkerhet, men fundera lite på det.
MS är utsatt för ca 1000 gånger fler attacker än tex apache eller något annat system, eftersom MS är alla hackares favorit hackkyckling, därför är MS servrar så många gånger mer utsatta för attacker för vilken hackare ger sig på en snäll apache server?, inte många iaf.

Jaha ja, och det här har du en källa på? Inte? OK, då kanske du är mogen att ta till dig det faktum att det ses som en merit bland crackers (inte "hackers", tack, det är något annat) att knäcka en Apacheserver. De jag lärt känna som pysslar med offensiv cracking gör det av helt andra anledningar (mest för att se om de kan).

Medlem sedan dec. 20003 887 inlägg
#32

Att vara tvungen att ha koll på minneshanteringen är en fördel vid applikationsutveckling. Det går inte att lita på garbagecollecting i C# och tro att det inte blir något spill. Så fungerar det helt enkelt inte och detta finns förklarat i den mesta .NET-dokumentationen, så fort området berörs.

I övrigt håller jag med spango :)

Medlem sedan juni 20011 732 inlägg
#33

Minneshanteringen körs om jag förstått det rätt som en service i bakgrunden med ganska låg prioritet... när processorn har lite att göra vandrar den runt och letar. Om det krisar med minnet så sätter .net automatiskt upp processens prioritet. Det ska tydligen vara mer eller mindre vattentätt (rätta mig gärna om jag har fel) men en process är alltid en process (som tar lite systemresurser) och du förlorar ju även precisionen att själv bestämma exakt när ett objekt ska förstöras (för det kan du aldrig veta om du använder GC).

Medlem sedan juni 20008 205 inlägg
#34

Minnet frigörs (förr eller senare), det är inte så svårt att hålla reda på vilka objekt som någon håller i och vilka som är bortglömda. Däremot, som sagt, vet man inte när, och det sker ju som bekant endast om man inte har någon referens till det någonstans. Dessutom vill man inte alltid att minne ska frigöras, utan helst av allt ska det återanvändas direkt (snarare än att återvinnas) eller än bättre, aldrig behövas.

Medlem sedan maj 20012 812 inlägg
#35

Fördelen med .NETs Minnehantering jämfört med typ C/C++ är att det är extremt snabbt att skapa instanser av objekt. Eftersom man hela tiden bara bygger på stacken/heapen.

Jmf med C/C++ där man letar upp ett tillräckligt mycke ledigt när man skapar instansen.

Tyvärr är GC riktigt dålig när den skall städa eftersig, eftersom den måste stänga ner hela din applikation, vilket gör att en Realtids-applikation nog aldrig kommer att bli 100% realtid i Managed code (om man inte har unlimited memory). Sedan tar den en liten stund att gå igenom vilka objekt som kan tas bort, ta bort dessa och sedan "packa ihop" minnet.

Fördelen är som sagt, extremt snabb instansiering och att man iprincip har tagit bort minnesläckor.

Fördelen med .NET's hantering är ju att om man har mycket minne så behöver man aldrig köra en GC och man tappar ingen prestanda.

- M

Medlem sedan dec. 2000537 inlägg
#36

Ja, du *tror* det ja...
Att du säger att man inte behöver bekymra sig om minneshantering bara för att man har en GC säger en del om dig.

Jag skrev också pekare, men du väljer liksom att hänga upp dig på GB.
Minneshantering är bara 1 grej av flera man får i C#.
Att programmera med pekare och adresser i C++ är oerhört mycket svårare än att i C# stil instansiera ett objekt ur en klass.
C# är ett enklare språk, men nästan lika kraftfullt och snabbt som C++.
Managed DirectX är som sagt 95-98% lika snabbt.
Det är därför jag tror på det så starkt.
Så jag ser inte så många hinder att spelutvecklarna i sinom tid också går över.
Just för produktivitetens skull, man får tumma litegrann på performance. Avvägning.

men vill man verkligen minska mängden kod finns funktionella språk som Prolog, där en del rätt bökiga saker kräver våldsamt mycket mindre kod

Prolog som spelutvecklarspråk, ska jag tolka det som ett förtidigt aprilskämt eller?.

Stöd för andra plattformar än Windows? En mognare arkitektur? Leverantörsoberoende? En smidig och trevlig arkitektur?

........ Wow! :)

Jaha ja, och det här har du en källa på? Inte? OK, då kanske du är mogen att ta till dig det faktum att det ses som en merit bland crackers (inte "hackers", tack, det är något annat) att knäcka en Apacheserver. De jag lärt känna som pysslar med offensiv cracking gör det av helt andra anledningar (mest för att se om de kan).

vilka påhopp. Det behöver man inte någon källhänvisning till, MS är mera utsatt än andra system. Hur många hackar linux?
Everybody loves Linux.

Medlem sedan juni 20022 599 inlägg
#37

Prästen skrev:

Att programmera med pekare och adresser i C++ är oerhört mycket svårare än att i C# stil instansiera ett objekt ur en klass.

Ja

MinKlass* mittobjekt = new MinKlass(arg);

är ju ruggigt mycket svårare än:

MinKlass mittobjekt = new MinKlass(arg);

.

Medlem sedan dec. 2000537 inlägg
#38

Och vad är det du försöker antyda?, att C++ är lika lätt som C#?

Vad jag menade var:
När man håller på med C++ och pekare som ger direkta minnesadresser så kräver det mycket större kunskap om hur en dator fungerar eftersom kan man messa direkt i minnet med pekarna så kan man skriva över saker om man inte passar sig. I managed C# finns inga pekare, där finns det bara säkra och mycket lättanvända Klasser att använda.

Medlem sedan juni 20022 599 inlägg
#39

Prästen skrev:

Och vad är det du försöker antyda?, att C++ är lika lätt som C#?

Nä. Jag försöker antyda att du vevar ett och samma billiga debattknep om och om igen: Du låtsas att allt utanför/innan VS.NET är/var lika hopplöst primitivt som Windowsprogrammering à la 1991.

Däremot förstår jag mycket väl att du känner dig pressad när du har (i stort sett) hela drevet emot dig. Fast, å andra sidan: Du måste inte försvara dig till sista blodsdroppen. Försök istället till dig av vad folk skriver och följ Spins råd från förra sidan om att vidga dina vyer lite.

Medlem sedan dec. 2000537 inlägg
144 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)