handdator

Visa fullständig version : C++ vs C#


skaparn
2005-06-13, 08:50
Jag vet att det finns endel kodknackare här och frågan är för lame för att ställa på något 1337-forum så jag provar här för att se om någon har en kommentar.

Jag är i stånd att anpassa ett projekt till .NET-ramverket (använder Visual STudio 2003) och har att välja mellan C++ och C#. Hörde dock någon säga för ett tag sedan att C++ i .NET inte var någon hit. Så om någon skulle kunna ge mig lite tips är jag glad. Ska erkänna att jag inte är så haj på .NET heller så detta blir ett äventyr. Har inga höga krav på realtidsprestation heller så eventuella fördelar som C++ har vad gäller möjliggörandet av effektiva algoritmer försvinner.

Varför är C++ i .NET ingen hit?
Vilka fördelar finns med C#? (har inte skrivit en rad C# men vid en första anblick verkar det ganska likt C++)
Varför skapades C#?
Något annat jag behöver tänka på?

Calleman
2005-06-13, 08:57
C# äger enligt mig. Väldigt likt Java och klarar av det mesta (om man då inte har specifika realtidskrav), enkelt att lära sig (i alla fall grunderna).

Däremot räcker det inte riktigt till med C# och ASP.NET om man ska utveckla webbsidor, då krävs det att man är lite haj på javascript också. Men lycka till! Sjukt kul att sitta och knacka i alla fall.

Vilken typ av projekt ska du utveckla i .NET miljön?

skaparn
2005-06-13, 09:24
C# äger enligt mig. Väldigt likt Java och klarar av det mesta (om man då inte har specifika realtidskrav), enkelt att lära sig (i alla fall grunderna).

Däremot räcker det inte riktigt till med C# och ASP.NET om man ska utveckla webbsidor, då krävs det att man är lite haj på javascript också. Men lycka till! Sjukt kul att sitta och knacka i alla fall.

Vilken typ av projekt ska du utveckla i .NET miljön?

Det handlar i grova drag om instrumentstyrning, men samtidigt att på ett enkelt sätt få fram ett begripligt MMI. Det senare är ju en smal sak i Visual som har blivit förskräckligt kraftfullt och enkelt.

Jag hittade nyss ett API för GPIB på National Instruments hemsida så C# är fortfarande mitt huvudalternativ. Framförallt för att det verkar vara det språk MS vill att framtiden ska domineras av. Lika bra att haka på tåget i tid.

jwzrd
2005-06-13, 09:40
Det handlar i grova drag om instrumentstyrning, men samtidigt att på ett enkelt sätt få fram ett begripligt MMI. Det senare är ju en smal sak i Visual som har blivit förskräckligt kraftfullt och enkelt.

Jag hittade nyss ett API för GPIB på National Instruments hemsida så C# är fortfarande mitt huvudalternativ. Framförallt för att det verkar vara det språk MS vill att framtiden ska domineras av. Lika bra att haka på tåget i tid.

C# och .NET är microsoft only. (Bara haschrökare tror mono någonsin blir något). Är det ok för dig så kör med C#. Vill du kunna använda koden någonannanstans använder du C++ och begränsar platformsspecifik kod genom att dölja alla konkreta klasser bakom factories osv.

skaparn
2005-06-13, 09:46
C# och .NET är microsoft only. (Bara haschrökare tror mono någonsin blir något). Är det ok för dig så kör med C#. Vill du kunna använda koden någonannanstans använder du C++ och begränsar platformsspecifik kod genom att dölja alla konkreta klasser bakom factories osv.

De låter lite lame att säga, men jag vill nog inte använda koden på annann plattform eller återanvända den, även om det strider lite mot 1337ness.

Och klassad som haschrökare vill jag kanske inte så det är bäst att inse MS-dominans...

jwzrd
2005-06-13, 09:47
De låter lite lame att säga, men jag vill nog inte använda koden på annann plattform eller återanvända den, även om det strider lite mot 1337ness.

Och klassad som haschrökare vill jag kanske inte så det är bäst att inse MS-dominans...

Hehe, jag suger ju gärna rätt mycket på java-snorren så jag rekar gärna det. Men kör på C# och .NET. Har du redan hittat ett smutt API mot grejerna du ska använda så är det bara att börja springa! :hbang:

skaparn
2005-06-13, 10:08
Hehe, jag suger ju gärna rätt mycket på java-snorren så jag rekar gärna det.

På tal om suger så suger jag rätt hårt på att koda Java. Vet inte varför men så är det.

Men det verkar som att ni båda saknade kraftiga invändningar mot C# så nu tutar jag och kör. Tackar för bollplanksfunktionen!

Och ja, GPIB är lite old-school ifall ni undrar. Allt som inte kör ethernet borde förbjudas tycker jag personligen.

aliquis
2005-06-13, 11:47
jwzrd: Hur bra är mono nu då? Jag som hade antagit att c# faktiskt VAR bättre än c++ (är verkligen c++ bra någonstans?), men om nu inte ens mono fungerar bra så.. Utöver att microsoft väl eventuellt kan döda hela projektet om de känner för det ;)

Själv vill jag som sagt kunna java, ocaml, ruby eller python, så är jag nöjd sen.

Någon som kodar obj-c?
Och ja, GPIB är lite old-school ifall ni undrar. Allt som inte kör ethernet borde förbjudas tycker jag personligen.
När jag gick i skolan hade vi bara GPIB på våra elkurser iaf :D, men det är alltså på väg ut till förmån för ethernet? Inte så konstigt kanske.

Trance
2005-06-13, 12:06
Att köra c++ i .net är rätt dumt om du inte måste göra det enligt min mening. Dessutom mono fungerar redan rätt bra, testat att skriva ett program och det gick bara att föra över så fungerade det direkt i mono. De har nog inte winforms än men tror att de skall få det snart.

C# är en öppen standard så jag tror inte Microsoft kan döda mono ens om de vill.

jwzrd
2005-06-13, 12:09
jwzrd: Hur bra är mono nu då? Jag som hade antagit att c# faktiskt VAR bättre än c++ (är verkligen c++ bra någonstans?), men om nu inte ens mono fungerar bra så.. Utöver att microsoft väl eventuellt kan döda hela projektet om de känner för det ;)

Själv vill jag som sagt kunna java, ocaml, ruby eller python, så är jag nöjd sen.

Någon som kodar obj-c?

När jag gick i skolan hade vi bara GPIB på våra elkurser iaf :D, men det är alltså på väg ut till förmån för ethernet? Inte så konstigt kanske.

Grejen med mono är ju att det inte är hela sanningen. När du skriver en applikation mot .NET så har du ju dependencies mot alla API:er du använder. Samma API:er finns inte portade/skrivna för mono än, bland annat Windows Forms fungerar kasst i mono. Det snackas om en variant som ska delegera UI-hantering till GTK. Så när du kommer där, glad i hågen efter att nyss ha lapat linuxsnorre, och ska installera din fina .NET-app på shitnux så finns ingenting som fungerar. IL:en rullar dock, men den delen var ju det minsta problemet.

C++ i sig är det inget direkt fel på (kanske lite ful syntax), men ingen skriver sin C++ lika, standardbiblioteket är rätt komplicerat osv. Men givet en programmerare som inte har huvudet i arslet så finns inga egentliga problem.

jwzrd
2005-06-13, 12:11
Att köra c++ i .net är rätt dumt om du inte måste göra det enligt min mening. Dessutom mono fungerar redan rätt bra, testat att skriva ett program och det gick bara att föra över så fungerade det direkt i mono. De har nog inte winforms än men tror att de skall få det snart.

C# är en öppen standard så jag tror inte Microsoft kan döda mono ens om de vill.

Att C# är en öppen standard har iofs ingenting med monos existens att göra. Att det är en öppen standard har inte så stor betydelse för något alls faktiskt. Det betyder mest att alla snackar om det som om det vore något positivt när det egentligen bara handlar om ett sätt att marknadsföra sig mot utvecklare.

skaparn
2005-06-13, 12:14
När jag gick i skolan hade vi bara GPIB på våra elkurser iaf :D, men det är alltså på väg ut till förmån för ethernet? Inte så konstigt kanske.

Vet faktiskt inte vad som är vanligast eller vad som kommer att bli vanligast. Det känns bara som att ethernet är tillräckligt snabbt för de flesta applikationer samt att det redan finns installerat på de flesta datorer och därför är överlägset GPIB. Nu blev jag tvungen att installera detta i burken, vilket känns som onödigt jobb ifall man vill kunna flytta instrumentstyrningen mellan datorer.

http://sine.ni.com/images/products/us/2instffl.jpg

Trance
2005-06-13, 12:17
Att C# är en öppen standard har iofs ingenting med monos existens att göra. Att det är en öppen standard har inte så stor betydelse för något alls faktiskt. Det betyder mest att alla snackar om det som om det vore något positivt när det egentligen bara handlar om ett sätt att marknadsföra sig mot utvecklare.

Microsoft nämner ju aldrig det nästan, de vill ju att alla enbart skall utveckla för Windows. Sedan så är det ju inte direkt Java helt plattformsoberoende heller.

Jag gillar C# mer eftersom:
1. Mycket bättre utvecklingsmiljöer om man vill koda grafiskt och snabbt.(både vs.net och sharpdevelop)

2. Bättre och fler funktioner än Java.

3. Känns som det kommer mycket starka än Java eftersom det har bättre stöd, java har dessutom kassa grafiska bibliotek.

Sedan kan man ju läsa här att Mono inte direkt är ett hobbyprojekt:
http://www.mono-project.com/Main_Page

aliquis
2005-06-13, 12:30
Trance: mycket riktigt är java alldeles för lite portabelt, windows o linux finns ju, macosx kör 1.4 fortfarande, freebsdfolket har väl fixat en 1.4 som fungerar skapligt, men sun var väl inne och ändrade på licensen vid något tillfälle för dem men jag tror det är lugnt fortfarande. Netbsd kör väl via linuxemulering, osv. Amigaos, morphos, aros har inte java, hur det är med skyos vet jag inte. Möjligt att det skulle gå lite snabbare om det gjordes open-source.

skaparn
2005-06-13, 13:30
Trance: mycket riktigt är java alldeles för lite portabelt, windows o linux finns ju, macosx kör 1.4 fortfarande, freebsdfolket har väl fixat en 1.4 som fungerar skapligt, men sun var väl inne och ändrade på licensen vid något tillfälle för dem men jag tror det är lugnt fortfarande. Netbsd kör väl via linuxemulering, osv. Amigaos, morphos, aros har inte java, hur det är med skyos vet jag inte. Möjligt att det skulle gå lite snabbare om det gjordes open-source.

Ett obekräftat rykte är att många högskolor övergett Java och börjat lära ut C++ för OO. Om sant kan det ju vara ett tecken på att många börjat ledsna på att Java inte är det plattformsoberoende superspråk det påståtts vara. Om jag låter bitter så kan det vara ett resultat av att jag missade en Java-tenta en gång i tiden och har aldrig idats göra om den.

Dumleman
2005-06-13, 13:31
Här är ett passande citat: "Saying that Java is better because it works on many OSes is like saying anal sex is better because it works on two sexes." :)

Trance
2005-06-13, 13:37
Ett obekräftat rykte är att många högskolor övergett Java och börjat lära ut C++ för OO. Om sant kan det ju vara ett tecken på att många börjat ledsna på att Java inte är det plattformsoberoende superspråk det påståtts vara. Om jag låter bitter så kan det vara ett resultat av att jag missade en Java-tenta en gång i tiden och har aldrig idats göra om den.

Vart har du hört det? Jag vet att en del har gått från Java till C# men inte till c++. Som är rätt kasst att lära ut i syfte att lära sig OO.

jwzrd
2005-06-13, 13:44
Microsoft nämner ju aldrig det nästan, de vill ju att alla enbart skall utveckla för Windows. Sedan så är det ju inte direkt Java helt plattformsoberoende heller.

Jag gillar C# mer eftersom:
1. Mycket bättre utvecklingsmiljöer om man vill koda grafiskt och snabbt.(både vs.net och sharpdevelop)

2. Bättre och fler funktioner än Java.

3. Känns som det kommer mycket starka än Java eftersom det har bättre stöd, java har dessutom kassa grafiska bibliotek.

Sedan kan man ju läsa här att Mono inte direkt är ett hobbyprojekt:
http://www.mono-project.com/Main_Page

Men vänta nu. Stopp på belägg. Ingen bad om FUD, ingen vill ha FUD.

#1: Det är ett JÄVLIGT kännt faktum att VS.NET inte är särskillt omtyckt av någon. Sharpdevelop har däremot ett bra rykte.

#2: Er.. Varken C# eller Java har funktioner så vad menar du? Kom inte dragande med att det finns mer C#-kod/frameworks/bibliotek än Java. Java har funnts sen 1996 och kan, precis som C#, anropa vaffan som helst.

#3: Vilket grafiskt bibliotek tänkte du på då? Får jag upplysa dig om att C# i .NET är långsammare och upp till nästan lika snabbt som Java ännu? .NET är inte snabbt. Än!

Java i sig är plattformsoberoende. Klassbilblioteket också. Däremot är inte din kod det eftersom du skriver och testar den på platformen du sitter på. Därefter måste du naturligtvis testa den i de miljöer där du vill använda den. Tricket är att du inte behöver kompilera Java-kod mot en given platform.

Om du vill jämföra något så får du även bestämma vad det är du vill jämföra. C# i sig är ett språk, precis som Java. Finns ingenting i det i sig utom syntax, semantik och språkdefinition (JLS för java). Snackar du sen prestanda och bibliotek så har du .NET om du bara vill köra windows (mono är fortfarande sopor) och Javas klassbilbiotek om du vill köra vart fan du vill. Prestandan är likvärdig för allting utom serverprestanda där Java skiter på .NET från hög höjd. Microsoft i en driftmiljö någon? IIS någon annan?

Jävligt töntigt att FUD:da som du gör. En smart programmerare lär sig båda och tar jobben han/hon vill ha, letar rätt på verktygen som fungerar bäst osv. Språkkrig är _jävligt_ linux1996thisistehyearoftehlinuxdesktop.

jwzrd
2005-06-13, 13:45
Trance: mycket riktigt är java alldeles för lite portabelt, windows o linux finns ju, macosx kör 1.4 fortfarande, freebsdfolket har väl fixat en 1.4 som fungerar skapligt, men sun var väl inne och ändrade på licensen vid något tillfälle för dem men jag tror det är lugnt fortfarande. Netbsd kör väl via linuxemulering, osv. Amigaos, morphos, aros har inte java, hur det är med skyos vet jag inte. Möjligt att det skulle gå lite snabbare om det gjordes open-source.

Java 1.5 finns för mac os också. Java finns även för solaris, AS/400, HP-UX osv.

skaparn
2005-06-13, 13:46
Vart har du hört det? Jag vet att en del har gått från Java till C# men inte till c++. Som är rätt kasst att lära ut i syfte att lära sig OO.

Det ligger nåt i det du säger. Antingen menade personen i fråga C#, jag hörde fel eller så snackar han skit. Konfrontation kommer att ske.

jwzrd
2005-06-13, 13:47
Här är ett passande citat: "Saying that .NET is better because it supports a lot of languages is like saying anal sex is better because it works on two sexes." :)

Där ser man.

Baan
2005-06-13, 14:03
Ett obekräftat rykte är att många högskolor övergett Java och börjat lära ut C++ för OO. Om sant kan det ju vara ett tecken på att många börjat ledsna på att Java inte är det plattformsoberoende superspråk det påståtts vara. Om jag låter bitter så kan det vara ett resultat av att jag missade en Java-tenta en gång i tiden och har aldrig idats göra om den.

har för mig att det är lite tvärtom men vem vet, på chalmers kör dom fortfarande hårt på java :P

Trance
2005-06-13, 14:04
Men vänta nu. Stopp på belägg. Ingen bad om FUD, ingen vill ha FUD.

#1: Det är ett JÄVLIGT kännt faktum att VS.NET inte är särskillt omtyckt av någon. Sharpdevelop har däremot ett bra rykte.

#2: Er.. Varken C# eller Java har funktioner så vad menar du? Kom inte dragande med att det finns mer C#-kod/frameworks/bibliotek än Java. Java har funnts sen 1996 och kan, precis som C#, anropa vaffan som helst.

#3: Vilket grafiskt bibliotek tänkte du på då? Får jag upplysa dig om att C# i .NET är långsammare och upp till nästan lika snabbt som Java ännu? .NET är inte snabbt. Än!

Java i sig är plattformsoberoende. Klassbilblioteket också. Däremot är inte din kod det eftersom du skriver och testar den på platformen du sitter på. Därefter måste du naturligtvis testa den i de miljöer där du vill använda den. Tricket är att du inte behöver kompilera Java-kod mot en given platform.

Om du vill jämföra något så får du även bestämma vad det är du vill jämföra. C# i sig är ett språk, precis som Java. Finns ingenting i det i sig utom syntax, semantik och språkdefinition (JLS för java). Snackar du sen prestanda och bibliotek så har du .NET om du bara vill köra windows (mono är fortfarande sopor) och Javas klassbilbiotek om du vill köra vart fan du vill. Prestandan är likvärdig för allting utom serverprestanda där Java skiter på .NET från hög höjd. Microsoft i en driftmiljö någon? IIS någon annan?

Jävligt töntigt att FUD:da som du gör. En smart programmerare lär sig båda och tar jobben han/hon vill ha, letar rätt på verktygen som fungerar bäst osv. Språkkrig är _jävligt_ linux1996thisistehyearoftehlinuxdesktop.

Jag skulle nog kanske lagt till "enligt mina erfarenheter", jag försöker inte lansera mina tankar som någon universell sanning. Jag vet bara att jag kodade i båda språken och valde C# eftersom jag gillade det mer.

Att vs.net inte är omtyckt av de som låter mest struntar jag rätt mycket i eftersom det är en Microsoft-produkt, folk gillar inte Microsoft. Inga nyheter där. Jag däremot tycker det är den bästa utvecklingsmiljön jag jobbat it. Sharpdevelop är bra också, det är lite segare dock(utvecklat i c# och .net, ;-)) samt det saknar vissa funktioner som vs.net har som jag gillar. Däremot har de vissa andra som jag gillar.

Om man jämför detta med några utvecklingsmiljöer för Java t.ex. Borland så är ju borland ljusår ifrån. Om man vill utveckla grafiskt så på vs.net så drar man bara ut lite kontroller och sedan är det klart. I borland så såg det aldrig ut som man trodde när man väl körde skiten, dessutom var man fortfarande tvungen att skriva kod som man tycker gott kunde genereras. Dock finns det väl bra utvecklingsmiljöer om man inte vill koda grafiskt t.ex. eclipse. Dessutom krashade borland hela tiden för mig. Fast det har nog med att det kördes över ett nätverk och på kassa datorer. ;-)

Däremot känner jag personligen(Ingen FUD här) att SWING är helt kasst jämfört med Winforms. Sedan har jag väl hört talas om SWT som skall vara bättre? Har dock ingen praktiskt erfarenhet av det.

Angående funktioner så menade jag funktioner som språket har(alltså inte funktioner/metoder i biblioteken). Detta kan ha ändrats och Java kan säkert ha skaffat sig t.ex. properties nu när jag inte pillat med det ett tag. Sedan kan man ju även använda pekare i C# när man kör unsafe kod. Pekare är manligt, det vet alla.

Angående hastighet, inte en aning. Har inte sett några siffror jag litar på. Jag litar förmodligen inte på www.linuxroolsHateMS.com om de presenterar siffror. Folk gillar inte Microsoft av någon anledning.

Jag kör inget språkkrig om man skall vara så häftig, jag sade bara varför jag gillade C# mer. Kan man koda det ena så tar det 30 min så kan man det andra.

Sedan IIS har väl inte det bästa ryktet, men det blir och har blivit bättre.

jwzrd
2005-06-13, 14:15
Jag skulle nog kanske lagt till "enligt mina erfarenheter", jag försöker inte lansera mina tankar som någon universell sanning. Jag vet bara att jag kodade i båda språken och valde C# eftersom jag gillade det mer.

Att vs.net inte är omtyckt av de som låter mest struntar jag rätt mycket i eftersom det är en Microsoft-produkt, folk gillar inte Microsoft. Inga nyheter där. Jag däremot tycker det är den bästa utvecklingsmiljön jag jobbat it. Sharpdevelop är bra också, det är lite segare dock(utvecklat i c# och .net, ;-)) samt det saknar vissa funktioner som vs.net har som jag gillar. Däremot har de vissa andra som jag gillar.

Om man jämför detta med några utvecklingsmiljöer för Java t.ex. Borland så är ju borland ljusår ifrån. Om man vill utveckla grafiskt så på vs.net så drar man bara ut lite kontroller och sedan är det klart. I borland så såg det aldrig ut som man trodde när man väl körde skiten, dessutom var man fortfarande tvungen att skriva kod som man tycker gott kunde genereras. Dock finns det väl bra utvecklingsmiljöer om man inte vill koda grafiskt t.ex. eclipse. Dessutom krashade borland hela tiden för mig. Fast det har nog med att det kördes över ett nätverk och på kassa datorer. ;-)

Däremot känner jag personligen(Ingen FUD här) att SWING är helt kasst jämfört med Winforms. Sedan har jag väl hört talas om SWT som skall vara bättre? Har dock ingen praktiskt erfarenhet av det.

Angående funktioner så menade jag funktioner som språket har(alltså inte funktioner/metoder i biblioteken). Detta kan ha ändrats och Java kan säkert ha skaffat sig t.ex. properties nu när jag inte pillat med det ett tag. Sedan kan man ju även använda pekare i C# när man kör unsafe kod. Pekare är manligt, det vet alla.

Angående hastighet, inte en aning. Har inte sett några siffror jag litar på. Jag litar förmodligen inte på www.linuxroolsHateMS.com om de presenterar siffror. Folk gillar inte Microsoft av någon anledning.

Jag kör inget språkkrig om man skall vara så häftig, jag sade bara varför jag gillade C# mer. Kan man koda det ena så tar det 30 min så kan man det andra.

Sedan IIS har väl inte det bästa ryktet, men det blir och har blivit bättre.

Som en brasklapp får jag väl lägga till att jag inte är någon microsofthatare. Däremot är du den första som säger att han gillar VS.net, men å andra sidan låter du inte som någon som jobbat särskillt mycket alls med programmering?

Swing är irriterande långsamt och bökigt för en hel del saker, det kan vi vara överrens om. SWT lyckas vara lika långsamt, svårare att programmera och endast användbart på en windowsbox så det är sällsynt kasst. Men IBM har å andra sidan aldrig vetat hur fan man skriver liten och fungerande kod.

När det gäller funktioner i språket så har C# ett par fler än java. Properties däremot är en sällsynt dålig sådan. aFoo.bar = 10; är bara syntaktiskt socker för aFoo.setBar(10). Att ens hänga upp sig på att 'properties' är något alla "måste ha" är VBismer. Väldigt få roller använder properties på det viset, det är enbart rena domänmodellklasser möjligtvis. Vad sägs tex om:

foo.bar += baz;

Vad tror du den gör? Jag kan berätta! Den lägger baz-delegaten till listan av "change listeners" till propertyn "bar". Ingen addition som pågår där. De extra funktioner som finns i C# är antingen till för att ge Javakopian (som det är) något java inte har och/eller för att helt enkelt jaga upp folk att tycka att det i sig betyder något.

Pekare vore fint ibland, dock mycket sällan. Det är skönt att ha pekare när man skriver parsers tex.

Men du har rätt om både eclipse och jbuilder (borland). Båda är riktiga skitprodukter. Den typen av produkter som ger (och förstärker) javas dåliga rykte om slöhet. Eclipse använder SWT för fönster och knappar och är "open source"; dvs, IBM har ett par hundra anställda kodare som sitter och idiotkodar för att få fram något, men koden är öppen samtidigt.

Sen är det rejält homosexuellt att rita gränssnitt i någon miljö. Det blir dyngkod som inte går att underhålla, ändå svårt att hantera resize, i18n osv.

Trance
2005-06-13, 14:30
Som en brasklapp får jag väl lägga till att jag inte är någon microsofthatare. Däremot är du den första som säger att han gillar VS.net, men å andra sidan låter du inte som någon som jobbat särskillt mycket alls med programmering?

Swing är irriterande långsamt och bökigt för en hel del saker, det kan vi vara överrens om. SWT lyckas vara lika långsamt, svårare att programmera och endast användbart på en windowsbox så det är sällsynt kasst. Men IBM har å andra sidan aldrig vetat hur fan man skriver liten och fungerande kod.

När det gäller funktioner i språket så har C# ett par fler än java. Properties däremot är en sällsynt dålig sådan. aFoo.bar = 10; är bara syntaktiskt socker för aFoo.setBar(10). Att ens hänga upp sig på att 'properties' är något alla "måste ha" är VBismer. Väldigt få roller använder properties på det viset, det är enbart rena domänmodellklasser möjligtvis. Vad sägs tex om:

foo.bar += baz;

Vad tror du den gör? Jag kan berätta! Den lägger baz-delegaten till listan av "change listeners" till propertyn "bar". Ingen addition som pågår där. De extra funktioner som finns i C# är antingen till för att ge Javakopian (som det är) något java inte har och/eller för att helt enkelt jaga upp folk att tycka att det i sig betyder något.

Pekare vore fint ibland, dock mycket sällan. Det är skönt att ha pekare när man skriver parsers tex.

Men du har rätt om både eclipse och jbuilder (borland). Båda är riktiga skitprodukter. Den typen av produkter som ger (och förstärker) javas dåliga rykte om slöhet. Eclipse använder SWT för fönster och knappar och är "open source"; dvs, IBM har ett par hundra anställda kodare som sitter och idiotkodar för att få fram något, men koden är öppen samtidigt.

Sen är det rejält homosexuellt att rita gränssnitt i någon miljö. Det blir dyngkod som inte går att underhålla, ändå svårt att hantera resize, i18n osv.

Aldrig jobbat med programmering nej. Har bara kört i skolan typ samt lite hemma. Har dock varit med att utveckla ett litet projekthanteringssystem för ett lokalt skanska-kontor. Skall jobba med det nu i sommar också, grymt skönt med ett sådant sommarjobb där jag får bestämma själv istället för någon jäkla fabrik.

Hursom helst, det med delegater och lyssnare gillar jag faktiskt. :) Även om += och -= för att ta bort är rätt ologiskt när man tänker på hur det används i vanliga fall. Även om delegater är ett samtalsämne som jag inte kan tillräckligt mycket om för att säga att det är bra att ha eller inte. Jag har läst en del artiklar om det och Java-folket verkar hata det och .NET-folket verkar älska det.

Att det är homosexuellt att rita gränssnitt är väl självklart, jag struntar dock i det. För mig går det så mycket snabbare att dra ut det som behövs, fixa så det ser bra ut. Snygga till koden och sedan börja koda på riktigt, har alltid hatat att göra sådan skit för hand ändå. :)

Sedan en fråga eller två. Om jag skulle bli intvingad i ett Java-projekt vad rekommenderar du för utvecklingsmiljö(Hardcore-VIM?) samt grafiska bibliotek om man vill göra en vanlig windows-applikation med lite knappar osv?

jwzrd
2005-06-13, 14:33
Aldrig jobbat med programmering nej. Har bara kört i skolan typ samt lite hemma. Har dock varit med att utveckla ett litet projekthanteringssystem för ett lokalt skanska-kontor. Skall jobba med det nu i sommar också, grymt skönt med ett sådant sommarjobb där jag får bestämma själv istället för någon jäkla fabrik.

Hursom helst, det med delegater och lyssnare gillar jag faktiskt. :) Även om += och -= för att ta bort är rätt ologiskt när man tänker på hur det används i vanliga fall. Även om delegater är ett samtalsämne som jag inte kan tillräckligt mycket om för att säga att det är bra att ha eller inte. Jag har läst en del artiklar om det och Java-folket verkar hata det och .NET-folket verkar älska det.

Att det är homosexuellt att rita gränssnitt är väl självklart, jag struntar dock i det. För mig går det så mycket snabbare att dra ut det som behövs, fixa så det ser bra ut. Snygga till koden och sedan börja koda på riktigt, har alltid hatat att göra sådan skit för hand ändå. :)

Sedan en fråga eller två. Om jag skulle bli intvingad i ett Java-projekt vad rekommenderar du för utvecklingsmiljö(Hardcore-VIM?) samt grafiska bibliotek om man vill göra en vanlig windows-applikation med lite knappar osv?

Jag rekar IDEA från JetBrains och Swing. Finns ju Swing och SWT att välja mellan, SWT är bajs. Att sitta i en dum editor är helt bortkastad tid.

skaparn
2005-06-13, 15:07
Sen är det rejält homosexuellt att rita gränssnitt i någon miljö. Det blir dyngkod som inte går att underhålla, ändå svårt att hantera resize, i18n osv.

Om du har så mycket tid att göra ett omfattande GUI för hand när det finns Visual borde din chef fundera på att korta din deadline...

Eller så kanske det går fort när man blivit vassare på det. För mig går det iallafall inte fort och nu när Visualmiljön är så bra ser jag ingen anledning att byta. Fast du kanske bara syftade på JBuilder och då kan jag hålla med dig. Inget från Borland/Inprise har varit särskilt bra då det gäller Builder. Däremot så piskade dom ju MS-prylar ganska länge vad gällde vanliga kompilatorer, men även det är över. Finns Borland/Inprise ens nu? Sen firman slutade använda det så har jag inte sett någon anledning att hålla koll.

hasse36
2005-06-13, 15:25
Jag har varit borta från programmeringen ett par år nu men hade tänkt uppgradera mina skills.

Vad är det som efterfrågas på arbetsmarknaden idag?
Finns det någon efterfrågan på programmerare?

Jag har harvat VB6, XML, XSLT, HTML, JavaScript, CSS.

jwzrd
2005-06-13, 15:30
Om du har så mycket tid att göra ett omfattande GUI för hand när det finns Visual borde din chef fundera på att korta din deadline...

Eller så kanske det går fort när man blivit vassare på det. För mig går det iallafall inte fort och nu när Visualmiljön är så bra ser jag ingen anledning att byta. Fast du kanske bara syftade på JBuilder och då kan jag hålla med dig. Inget från Borland/Inprise har varit särskilt bra då det gäller Builder. Däremot så piskade dom ju MS-prylar ganska länge vad gällde vanliga kompilatorer, men även det är över. Finns Borland/Inprise ens nu? Sen firman slutade använda det så har jag inte sett någon anledning att hålla koll.

Grejen är att det inte tar så lång tid som du tror att skriva det förhand! Hur löser du tex saker som att du har en bestämd grafisk profil som styr borders, fonter osv i en "Visual"-miljö? Inte fan sitter du och pillar alla dom grejerna för varenda liten kontroll överallt. Själv skriver jag:

AbstractButton b = ButtonFactory.newButton("fooScreen.okText");

'b' får rätt ram, rätt alignment, rätt storlkek, rätt accelerator, rätt text på rätt språk osv. Sen glömmer du underhållet.

Borland finns fortfarande. JBuilder i sig kommer att gå över till att vara ett gäng plugins till eclipse-plattformen för att kapa r&d-kostnader.

jwzrd
2005-06-13, 15:31
Jag har varit borta från programmeringen ett par år nu men hade tänkt uppgradera mina skills.

Vad är det som efterfrågas på arbetsmarknaden idag?
Finns det någon efterfrågan på programmerare?

Jag har harvat VB6, XML, XSLT, HTML, JavaScript, CSS.

Det där är iofs inte programmering utan scriptning/webmastering. :D

skaparn
2005-06-13, 15:46
Det där är iofs inte programmering utan scriptning/webmastering. :D

Ahhhh!!! ...... och förödmjukelsen var total.

jwzrd
2005-06-13, 15:54
Ahhhh!!! ...... och förödmjukelsen var total.

Hehe jag är ödmjuk med Hasse för att jag tycker om honom :D

hasse36
2005-06-13, 16:00
Hehe jag är ödmjuk med Hasse för att jag tycker om honom :DJag kan lova att XSLT gör vem som helst ödmjuk. Det är det i särklass svåraste jag har sysslat med.

Med du får gärna göra ett nytt försök att besvara min fråga.

jwzrd
2005-06-13, 16:06
Jag kan lova att XSLT gör vem som helst ödmjuk. Det är det i särklass svåraste jag har sysslat med.

Med du får gärna göra ett nytt försök att besvara min fråga.

Ja XSLT är inte vackert. Det som efterfrågas verkar vara ett par saker:

- Javaprogrammerare att skriva mobiltelefongrejer
- Serverside för både .NET och Java
- Inbäddade system i olika språk/verktyg som jag inte känner igen, ibland även Java och/eller C
- webbutiker/smågrejer i PHP/ASP, här passar CSS, JavaScript, HTML osv in.
- affärssystem som typ movex, sap osv

jakke
2005-06-13, 16:11
Ähh, nu tänker jag kapa tråden totalt:
Jag tänkte under sommaren lära mig java. Både för att jag själv vill och därför att det kommer en kurs där vi förväntas kunna java *screwy*.
Jag använder linux och undrar vart man ska börja? Vilken kompilator? finns det bra editorer etc? Jag vet inget om java.

jwzrd
2005-06-13, 16:15
Ähh, nu tänker jag kapa tråden totalt:
Jag tänkte under sommaren lära mig java. Både för att jag själv vill och därför att det kommer en kurs där vi förväntas kunna java *screwy*.
Jag använder linux och undrar vart man ska börja? Vilken kompilator? finns det bra editorer etc? Jag vet inget om java.

Ska du börja så rekar jag en dum texteditor du gillar, kan du vi kör du vi, kan du emacs kör du emacs. Skaffa J2SE SDK från java.sun.com:

http://java.sun.com/j2se/1.4.2/download.html

Tanka inte hem Netbeans-bundlen. Dra hem J2SEv 1.4.2_08 SDK, J2SE v 1.4.2 Documentation och kolla:

java.sun.com/tutorial

Se till att lära sig API doc-formatet. (J2SE v 1.4.2 Documentation). Sen är det bara att köra. Tricket med att börja med en texteditor är att du lär dig saker som: var lägger java mina .java-filer, vad är paket, vad är classpath, hur letar jag rätt på vilka metoder en given klass har osv. Det är Rätt Väg(tm), den snabbaste vägen sett längre än näsan räcker också.

hasse36
2005-06-13, 16:30
Ja XSLT är inte vackert. Det som efterfrågas verkar vara ett par saker:

- Javaprogrammerare att skriva mobiltelefongrejer
- Serverside för både .NET och Java
- Inbäddade system i olika språk/verktyg som jag inte känner igen, ibland även Java och/eller C
- webbutiker/smågrejer i PHP/ASP, här passar CSS, JavaScript, HTML osv in.
- affärssystem som typ movex, sap osv :thumbup:

Ni som är programmerare och wannabes (läs Skaparn) skall ha en sak jävligt klart för er - VB6 var och är ett suveränt språk för GUI. Fanns det något i tex affärslagret som inte gick snabbt nog eller helt enkelt inte lät sig implementeras så var det var det bara att skriva en COM-komponent i C++ och anropa den från VB6.

Java har jag bara använt när jag pluggade och det bestående minnet utöver hur långsamt det var, var att man var tvungen att skriva ut det på liggande A4:a. :D

Trance
2005-06-13, 16:32
:thumbup:

Ni som är programmerare och wannabes (läs Skaparn) skall ha en sak jävligt klart för er - VB6 var och är ett suveränt språk för GUI. Fanns det något i tex affärslagret som inte gick snabbt nog eller helt enkelt inte lät sig implementeras så var det var det bara att skriva en COM-komponent i C++ och anropa den från VB6.

Java har jag bara använt när jag pluggade och det bestående minnet utöver hur långsamt det var, var att man var tvungen att skriva ut det på liggande A4:a. :D

Är inte VB6 en leksak? Har för mig min kusin fick det i present när han fyllde 5.

jwzrd
2005-06-13, 16:34
:thumbup:

Ni som är programmerare och wannabes (läs Skaparn) skall ha en sak jävligt klart för er - VB6 var och är ett suveränt språk för GUI. Fanns det något i tex affärslagret som inte gick snabbt nog eller helt enkelt inte lät sig implementeras så var det var det bara att skriva en COM-komponent i C++ och anropa den från VB6.

Java har jag bara använt när jag pluggade och det bestående minnet utöver hur långsamt det var, var att man var tvungen att skriva ut det på liggande A4:a. :D

Det är ett helt ok sätt att använda VB. Samma sak jag tycker man ska använda VB.NET och det mesta i .NET till.

hasse36
2005-06-13, 16:35
Är inte VB6 en leksak? Har för mig min kusin fick det i present när han fyllde 5.ProgrammerWannabes.Append("Trance") :D

jwzrd
2005-06-13, 16:39
ProgrammerWannabes.Append("Trance") :D

finally {
hasse36.dispose();
}

Trance
2005-06-13, 16:40
ProgrammerWannabes.Append("Trance") :D

Hehe, ;)

Jag sade det mest för att det är så man skall säga om man tillhör c-familjen. Dock var väl vb före sin tid med att kunna utveckla snabbt. Har ingen direkt kunskap om det förutom att jag översatt massa jäkla exempel när jag skulle koda mot Office(alla jäkla exempel var i vb :cryout: )

Jag kommer nog dock inte lära mig det någongång vad jag tror nu, eftersom det känns som c# fyller funktionen hyfsat bra i .net ändå så man slipper vb.net. Fast kan man det ena så tar det väl inte lång tid att lära sig det andra.

jwzrd
2005-06-13, 16:44
Hehe, ;)

Jag sade det mest för att det är så man skall säga om man tillhör c-familjen. Dock var väl vb före sin tid med att kunna utveckla snabbt. Har ingen direkt kunskap om det förutom att jag översatt massa jäkla exempel när jag skulle koda mot Office(alla jäkla exempel var i vb :cryout: )

Jag kommer nog dock inte lära mig det någongång vad jag tror nu, eftersom det känns som c# fyller funktionen hyfsat bra i .net ändå så man slipper vb.net. Fast kan man det ena så tar det väl inte lång tid att lära sig det andra.

VB.NET är inte alls samma sak som VB heller. VB.NET är C# med VB-syntax mer eller mindre.

Trance
2005-06-13, 16:46
VB.NET är inte alls samma sak som VB heller. VB.NET är C# med VB-syntax mer eller mindre.


Ok, då finns det verkligen ingen anledning att lära sig det. :-)

Jag menar , if then osv. Det låter ju bara löjligt. ;)

aliquis
2005-06-13, 16:51
Java 1.5 finns för mac os också. Java finns även för solaris, AS/400, HP-UX osv.
Ok, antog att det inte gjorde det eftersom apple skickar med 1.4-stöd med macos x 10.4, fast sun kanske levererar sin jre själva?

aliquis
2005-06-13, 16:54
Ähh, nu tänker jag kapa tråden totalt:
Jag tänkte under sommaren lära mig java. Både för att jag själv vill och därför att det kommer en kurs där vi förväntas kunna java *screwy*.
Jag använder linux och undrar vart man ska börja? Vilken kompilator? finns det bra editorer etc? Jag vet inget om java.
Varför skall man inte köra Java 1.5? (inte riktat till dig utan jwzrd), nåja, jag säger 1.5 för det e nyare ;)
Sedan är eclipse rätt populärt bland folk i allmänhet, så jag tycker du kan börja där om du nu inte känner dig riktigt hemma i vim eller emacs.

skaparn
2005-06-13, 17:35
:thumbup:

Ni som är programmerare och wannabes (läs Skaparn) skall ha en sak jävligt klart för er - VB6 var och är ett suveränt språk för GUI. Fanns det något i tex affärslagret som inte gick snabbt nog eller helt enkelt inte lät sig implementeras så var det var det bara att skriva en COM-komponent i C++ och anropa den från VB6.

Du svingar vilt för att sedan sänka dig själv. Jag försöker iallafall inte försvara mitt förflutna i VB6 utan gör som tyskarna, erkänner och sväljer skit i 60 år.

Men skämt åsido, då VB6 kom så fyllde det faktiskt en prototyputvecklande funktion.

Dumleman
2005-06-13, 17:59
Ähh, nu tänker jag kapa tråden totalt:
Jag tänkte under sommaren lära mig java. Både för att jag själv vill och därför att det kommer en kurs där vi förväntas kunna java *screwy*.
Jag använder linux och undrar vart man ska börja? Vilken kompilator? finns det bra editorer etc? Jag vet inget om java.
Ungefär som jag då, hade som nyårslöfte att börja lära mig Java men har inte börjat så värst ännu. Har bara installerat netbeans och gjort några fjantiga applets. Använder dock inte netbeans utan en enkel texteditor, netbeans känns lite overkill för mig.
Bra överblick av de olika paketen: http://java.sun.com/j2se/1.5.0/docs/api/

jwzrd
2005-06-13, 18:29
Varför skall man inte köra Java 1.5? (inte riktat till dig utan jwzrd), nåja, jag säger 1.5 för det e nyare ;)
Sedan är eclipse rätt populärt bland folk i allmänhet, så jag tycker du kan börja där om du nu inte känner dig riktigt hemma i vim eller emacs.

När man är helt grön är det bättre att inte ha "hjälp" från en IDE, man bommar en massa nyttig och mycket viktig kunskap.

Munter
2005-06-13, 21:39
NetBeans is the shit! Men håller med om att man måste kunna det bakomliggande joxet för att bli effektiv, har stött på ett antal utvecklare som sitter totalt strandsatta då deras IDE (Netbeans/Eclipse) skiter ner sig. Inte vidare snyggt. Sysslar man med normal applikationsutveckling så har man ibland inte heller tillgång till sin IDE.

aliquis: Det finns en hel del smask i 1.5 men för oss som jobbar med Java är det för mycket otestade features för att ta med i skarpa versioner. Autoboxing, templates o.s.v är förstås helsmidigt men inget man bör bygga kritiska applikationer på. Templatesen fungerar riktigt uselt, för övrigt. System.getenv() är undepricated, serialiserbara enumerationer, nya features i JDBC, for-each loopar o.s.v o.s.v

snelhest
2005-06-13, 22:00
Jag hatar eclipse. Slött och krävande för ingenting. Skapar tusentals mappar i katalogerna så allt blir jätterörigt om man inte använder eclipse. Bloatware. Tyvärr har jag inte hittat nån bättre editor för Java men VS.NET slår iaf eclipse med hästlängder.
Fast C#, när jag intresserade mig för det, krävde en 20+ MB nedladdning av .NET runtime, fast det finns ju förstås Salamander .NET linker om man har lust att punga ut 4000 spänn. Jävla böld i röven.
Fast bäst av alla är IDLE till Python då slipper man hålla på med workspaces, solutions och skit. Tyvärr är ju inte Python ett alternativ om man behöver lite fart men du optimala lösningen torde vara att börja programmera i Python och sedan optimera i C.

PYTHON :bow: :bow:

jakke
2005-06-13, 22:46
När man är helt grön är det bättre att inte ha "hjälp" från en IDE, man bommar en massa nyttig och mycket viktig kunskap.
Jag kan inte ett skit. Vad är en IDE?
Jag kan hacka lite ML och C, sen kan jag på Emacs

jwzrd
2005-06-14, 09:24
NetBeans is the shit! Men håller med om att man måste kunna det bakomliggande joxet för att bli effektiv, har stött på ett antal utvecklare som sitter totalt strandsatta då deras IDE (Netbeans/Eclipse) skiter ner sig. Inte vidare snyggt. Sysslar man med normal applikationsutveckling så har man ibland inte heller tillgång till sin IDE.

aliquis: Det finns en hel del smask i 1.5 men för oss som jobbar med Java är det för mycket otestade features för att ta med i skarpa versioner. Autoboxing, templates o.s.v är förstås helsmidigt men inget man bör bygga kritiska applikationer på. Templatesen fungerar riktigt uselt, för övrigt. System.getenv() är undepricated, serialiserbara enumerationer, nya features i JDBC, for-each loopar o.s.v o.s.v

Generics är irriterande men ändå rätt skönt. Jag kör 1.5 för alla privata projekt, vettefan varför jag rekade 1.4.2 högre upp i tråden ärligt talat. Sitter med 1.3 på jobbet dock.

jwzrd
2005-06-14, 09:26
Jag kan inte ett skit. Vad är en IDE?
Jag kan hacka lite ML och C, sen kan jag på Emacs

IDE är programmet du sitter och jobbar i. Den visar dig filerna i ditt projekt, kompierar, har en editor osv osv.

skaparn
2005-06-14, 09:37
IDE är programmet du sitter och jobbar i. Den visar dig filerna i ditt projekt, kompierar, har en editor osv osv.

Det får bli dagens akronym

Integrated Development Environment

eller

Integrated Drive Electronics

jwzrd
2005-06-14, 09:40
Det får bli dagens akronym

Integrated Development Environment

eller

Integrated Drive Electronics

Jag är ingen fan av idiotlingo dock så vad förkortingar och akronymer betyder bajsar jag på från hög höjd :)

skaparn
2005-06-16, 07:04
Det där är iofs inte programmering utan scriptning/webmastering. :D

Kanske inte ändå om man ska tro de två nissar från MS som var här igår och presenterade planerna för .NET i VS2005 (aka VS Team System) och även Longhorn. Det nya WinFC API't ska gå att använda med XAML och om de små demosnuttar jag såg återspeglade verkligheten så har vi snart 10 miljoner webdesigners som gör windowsapplikationer, på gott och ont.

Förövrigt kan jag säga att VS2005 såg riktigt trevligt ut.

hasse36
2005-06-16, 07:26
Kanske inte ändå...Du å ja Skaparn *kissass* Vi måste hålla ihop mot det stora åbäket i Helsingborg.

I det senaste projektet som jag arbetade i hade vi ett abstraktionslager mot databasen och där använde vi oss av XML.

Fördelen är att man kan dela upp arbetet mellan flera personer utan att man måste vänta på varandra. Vi hade en snubbe som ansvarade för databaslagret och hade han inte tid eller om man ville experimentera lite så var det bara att skriva en XML-fil i en vanlig texteditor och läsa in denna i väntan på att han skulle få tid.

Nackdelen var att jag fortfarande suger när det gäller databaser.

skaparn
2005-06-16, 08:28
Du å ja Skaparn *kissass* Vi måste hålla ihop mot det stora åbäket i Helsingborg.

I det senaste projektet som jag arbetade i hade vi ett abstraktionslager mot databasen och där använde vi oss av XML.

Fördelen är att man kan dela upp arbetet mellan flera personer utan att man måste vänta på varandra. Vi hade en snubbe som ansvarade för databaslagret och hade han inte tid eller om man ville experimentera lite så var det bara att skriva en XML-fil i en vanlig texteditor och läsa in denna i väntan på att han skulle få tid.

Nackdelen var att jag fortfarande suger när det gäller databaser.

Ett relativt enkelt scriptspråk som ändå har så kraftfullt har helt klart sina fördelar.
Angående databaser så verkar det bara vara att lära sig. Nya WinFS ska komma med ett helt nytt "item-tänk" där allt ska organiseras i databaser med associerade söktermer etc. Suger även jag på databashantering och inte blev det bättre av att jag skolkade från SQL-genomgången i slutet av gårdagens "kurs" (läs säljarpresentation).

För övrigt så heter avdelningen på MS som sköter demos och liknande "Developer and Platform Evangelism Division" vilket säger endel om vad dom gör. Dock ska sägas att de första som kallade sig evangelister var från Apple vilket torde döda all diskussion eftersom dom är som bekant good guys.

skaparn
2005-07-07, 08:38
Uppdatering:

Skriva C# i .Net har hittills verkligen varit skitkul. Det är en nytändning att få grotta med ett nytt språk och dessutom ett språk som uppvisar goda egenskaper. Inser dess realtidsbegränsningar men eftersom det inte är ett krav på min del så kan jag med gott samvete fortsätta låta exempelvis sophämtning ske per automatik när applikationen själv behagar.

Det enda jag kan känna nu är att det nya SDK 2.0 som ska släppas med VS2005 innehåller saker jag vill ha nu, men vågar knappast ladda hem betan på jobbet och börja hacka framtid för att sedan få skit av alla när det visar sig att betan skiljer sig från skarpa.

jwzrd
2005-07-07, 09:52
Uppdatering:

Skriva C# i .Net har hittills verkligen varit skitkul. Det är en nytändning att få grotta med ett nytt språk och dessutom ett språk som uppvisar goda egenskaper. Inser dess realtidsbegränsningar men eftersom det inte är ett krav på min del så kan jag med gott samvete fortsätta låta exempelvis sophämtning ske per automatik när applikationen själv behagar.

Det enda jag kan känna nu är att det nya SDK 2.0 som ska släppas med VS2005 innehåller saker jag vill ha nu, men vågar knappast ladda hem betan på jobbet och börja hacka framtid för att sedan få skit av alla när det visar sig att betan skiljer sig från skarpa.

Realtidsbegränsningar? Ett språk kan inte ha egenskapen att ha någon "realtidshet". Det ligger helt i "runtime:en". Vad menar du?

Nalfaren
2005-07-07, 09:55
Jag sitter just nu och lägger in design och omprogrammerar lite lätt i ASP.NET C#, rätt simpelt om man har erfarenhet som du verkar av andra språk.. särskilt då c++.

Detta jobbet är Wipcores E-handellösning, rätt spännande, den används på Ginza, NetOnNet etc.. men sedan kostar den ju också.. Jag gör åt det ngt mindre företaget Markslöjd, men de fick punga ut lite mer än 0.5 mille för systemet... puh :)

skaparn
2005-07-07, 11:13
Realtidsbegränsningar? Ett språk kan inte ha egenskapen att ha någon "realtidshet". Det ligger helt i "runtime:en". Vad menar du?

Men om inte all resurshantering sker explicit i kod utan sköts "automatiskt" så riskerar man ju att OS'et får för sig att börja greja i kritiska ögonblick. Jag fick det intrycket när vi diskuterade häromdagen huruvida allt skulle börja konstrueras i C# istället för C++ och många ++-rävar invände mot just vikten av att inte något sker per automatik. Men jag har som sagt ganska lite insyn i vad som skapar deras problem.

Eller kan, genom att helt enkelt vara lite bättre, styra uppförandet mer detaljerat även med c#?

hasse36
2005-07-07, 11:34
många ++-rävar invände mot just vikten av att inte något sker per automatik.Windows är preemptive och har befälet över ditt program oavsett vilket språk det är skrivet i. När jag läste realtidsprogrammering på högskolan så skrev vi en sk realtidskärna som är ett litet OS som bestämmer vilka tasks som skall köra.

Vad dina ++rävar kanske menar är att Java inte får börja samla skräp när JAS-planet skall göra en roll. :D

jwzrd
2005-07-07, 12:02
Men om inte all resurshantering sker explicit i kod utan sköts "automatiskt" så riskerar man ju att OS'et får för sig att börja greja i kritiska ögonblick. Jag fick det intrycket när vi diskuterade häromdagen huruvida allt skulle börja konstrueras i C# istället för C++ och många ++-rävar invände mot just vikten av att inte något sker per automatik. Men jag har som sagt ganska lite insyn i vad som skapar deras problem.

Eller kan, genom att helt enkelt vara lite bättre, styra uppförandet mer detaljerat även med c#?

Det är långt fler saker än så, men visst, hur garbage collection sköts är svårt. Det löser dom realtime-implementationer av java som finns genom att "collecta" en viss tid bara.

jwzrd
2005-07-07, 12:04
Windows är preemptive och har befälet över ditt program oavsett vilket språk det är skrivet i. När jag läste realtidsprogrammering på högskolan så skrev vi en sk realtidskärna som är ett litet OS som bestämmer vilka tasks som skall köra.

Vad dina ++rävar kanske menar är att Java inte får börja samla skräp när JAS-planet skall göra en roll. :D

Att "windows är preemptive" säger inte mycket dock. Det handlar om hur lång tid en context switch tar, latencies, hur pass bra upplösningen på klockan är, att du aldrig kan använda kod som väntar på att tex en page-in ska bli klar (för en filläsning). Allt för att inte missa någon deadline.

skaparn
2005-07-07, 12:30
Det är långt fler saker än så, men visst, hur garbage collection sköts är svårt. Det löser dom realtime-implementationer av java som finns genom att "collecta" en viss tid bara.

Argh! Jag känner mer och mer hur långt ifrån jag är att till fullo förstå det här med programmering. Har aldrig varit på en nivå där jag behövt vara noggrann med minneshantering och dylikt utan sitter bara och tär på maskinresurser och hoppas på att sådana saker sköts av sig självt.

Mitt sena nyårslöfta för 2005 är att jag ska bli en bättre kodare. Får avsätta någon timme per kväll sen då skolan tar vid.

jwzrd
2005-07-07, 12:34
Argh! Jag känner mer och mer hur långt ifrån jag är att till fullo förstå det här med programmering. Har aldrig varit på en nivå där jag behövt vara noggrann med minneshantering och dylikt utan sitter bara och tär på maskinresurser och hoppas på att sådana saker sköts av sig självt.

Mitt sena nyårslöfta för 2005 är att jag ska bli en bättre kodare. Får avsätta någon timme per kväll sen då skolan tar vid.

Du är inte ensam om att känna så, det är en viktig insikt. Det är inte mycket man vet, det är bara att koda så mycket man hinner och har lust med, läsa allting man ser osv. Det kommer alltid att finnas miljarder saker man inser att man inte hajar mycket av.