Lära sig programmering, vilket språk?

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
varje lösning har sitt optimerade lösning. Det problem du tar upp brukar inte lösas på det viset som man kanske "måste" göra java. Om de lagt in en sådan lösning i språket så har det förmodligen och göra med att java har begränsningar och eftersom det är ett ganska vanligt problem så får man optimera internt (vilket givetvis går och göra i C++ med). Sortera pekare än inget större problem om man nu vill det

vanligt är annars att man i C++ allokerar ett enda stort block och hanterar data internt i blocket, matrixer mm är det ju en mycket vanlig lösning på och den är hejdlöst mycket snabbare än om man skall lagra en slags lista med pekare till andra objekt som håller matriselementen.

Grejen är att du ibland är tvungen att använda länkade datastrukturer pga hur ditt problem ser ut och för att få vissa garantier när det gäller tidskomplexiteten. Dessa datastrukturer hanteras dåligt med nuvarande tekniker men en teknik som fungerar ganska bra är att ändra layouten, dvs vilka objekt som ligger intill varandra. Detta kan en garbage collector göra åt dig. Det finns garbage collectors till C++ som kan göra detta, men de kan inte göra det lika väl som Java pga skillnader i hur språken är uppbyggda.

Jag kommer antagligen inte att skriva så mycket mer i den här tråden nu så jag sammanfattar kärnan i det jag har skrivit om i de senaste inläggen:

Många optimeringar går inte att utföra lika bra för C som för Java eller liknande språk på grund av hur språken är uppbyggda. Ett av de största problemen är aliasing. Om en optimering som är viktig för ditt program går att utföra när programmet formuleras i Java men inte i C++ så kan det vara så att du får bättre prestanda med Java. Att c-programmerare tvingas koda mot minsta gemensamma nämnare medans Java-program kan dra fördel av hårdvara som inte ens fanns när programmet skrevs är ännu en stor fördel för Java.

Detta handlar ofta om specialfall -- i de flesta fall är verkligen C++ snabbare. Men C++ är inte alltid snabbare, vilket var vad jag invände emot.

Visa signatur

Alla män är dödliga. Sokrates var dödlig. Alltså är alla män Sokrates.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av selotodo
Det finns garbage collectors till C++ som kan göra detta, men de kan inte göra det lika väl som Java pga skillnader i hur språken är uppbyggda.

eeehhh?
- du kan lätt skriva din egen garbage collector, välj sedan själv hur och var du vill lägga de olika objekten
- det går och överlagra "new" exempelvis och sköta minnes allokeringen som man själv vill för det objektet

Debugklasser brukar ibland överlagra "new" globalt så håller man reda på alla objekt som skapas och sedan raderas. När programmet stängs av så kan man dumpa ut listan på alla som man glömt radera

Citat:

Ursprungligen inskrivet av selotodo
Jag kommer antagligen inte att skriva så mycket mer i den här tråden nu så jag sammanfattar kärnan i det jag har skrivit om i de senaste inläggen:

Du har kanske märkt att det var lite si och så med vad du påstår?

Har man inte hållt på ett tag med C++ så kanske man är van och tänka på språket som man gör i andra språk, där är man mycket mer låst. Det är just det man INTE är i C++. Det är nästan som att programmera i assembler

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Och där är ju ett typiskt argument som jag just vänder mig mot för det finns inget annat språk där man kan komma ner i så FÅ rader som C++. det är liksom en bieffekt av objektorientering.

Om man använder argumentet "få rader" för annat språk så är det ju bara ett bevis för att man kanske inte riktigt hajjat C++

Jag får en stark känsla av att du har "hajjat" den objektorienterade principen men inte riktigt förstått vad man ska ha de andra till. Stämmer detta? Om du skulle översätta den koden som jag skrev i prolog till c++ hur skulle denna då se ut? Enligt dig skulle planeringen/designen/kodandet/testandet av applikationen ta längre eller kortare tid? Tid=pengar så långt måste vi ju vara överens?

Att räkna antalet rader för att beräkna komplexiteten i ett program må inte vara ett bra sätt, men det är ETT sätt att beräkna den på. Om du skriver ett program på 1000 rader och ett på 10 rader, vilket är det störst odds för att där är en bugg i? Jag tar för givet att man använder sig av lämpliga coding conventions för det språket som man sitter och kodar i då givetvis. Givetvis så räknar man med alla komponenter som man skrivit...

Objektorienterade tänket är jättefint och det finns objektorienterade versioner av de flesta språk idag. Men det ändrar inte faktumet att de övriga paradigmerna har sina platser. c++ är inte svaret på allt

Kom nu inte dragandes med att "du har inte fattat c++" eller "c++ är svårt men går snabbt när man kan det". Testa istället att skriva om prologprogrammet till c++ och se om du inte kan förstå vad det är för något som jag och en näve andra försöker säga...

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Ja och det var av en anledning för jag begrep inte riktigt varför du tog upp det, antingen skämta du eller så tror du det är svårt/krångligt med filhantering i C++?
Det går självklart och jobba med filer i C++ precis som det går i alla andra språk med, ganska centralt område.

Har du testat att läsa in filer i något språk som Perl eller Python eller Ruby ?
[EDIT]
Eller om jag skriver det lite annorlunda, Försök gärna hitta NÅGON person som hållt på med Perl och C++ och tycker det är lättare enklare eller bättre att göra text behandling eller log inläsning med C++..

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Peo_Bond
Jag får en stark känsla av att du har "hajjat" den objektorienterade principen men inte riktigt förstått vad man ska ha de andra till. Stämmer detta?

Inte direkt

Om du någon gång gjort ett kommersiellt program och lärt dig hur viktigt det är med utbyggbarhet m.m. så hade du förstått vad jag menar.
Att knacka kod är en mycket liten del av den tid man spenderar på att utveckla program. Vill man få ner radantalet så går det och krympa det extremt om man nu gillar och sitta och göra coola objekt.

I princip i alla projekt jag deltagit i så har de största problemen uppstått när man inte haft kontroll eller varit förhindrad att göra saker på grund av externa faktorer. Det är också där de värsta buggarna dyker upp.

sag ?
Har själv ett antal objekt för att läsa in filer, det behövs en kodrad för det. hur mycket mindre kan det bli?

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Inte direkt

Om du någon gång gjort ett kommersiellt program och lärt dig hur viktigt det är med utbyggbarhet m.m. så hade du förstått vad jag menar.
Att knacka kod är en mycket liten del av den tid man spenderar på att utveckla program. Vill man få ner radantalet så går det och krympa det extremt om man nu gillar och sitta och göra coola objekt.

I princip i alla projekt jag deltagit i så har de största problemen uppstått när man inte haft kontroll eller varit förhindrad att göra saker på grund av externa faktorer. Det är också där de värsta buggarna dyker upp.

Inte påpeka att den andra är en idiot genom att slänga ur sig saker som "om du hade pluggat lite", "om du hade arbetat lite", "om du hade fått huvudet ur..." eller den klassiska "Att säga sådär är som att påstå att x=z". Så vinner man ingen respekt

Det finns så många andra områden än traditionella kommersiella program, forskning behövs det mycket utvecklande för t.ex. inom AI. Alla program är i behov av konstant utbyggnad för att de inte ska falla i glömska och dö... hur fick du för dig att jag trodde något annat? Men är du helt säker på att c++ skulle vara bättre till var enskild applikation även om man kan två språk lika bra? Varför inte fundera på vad som skulle krävas för att få fram den funktionalitet som jag skrev i prologprogrammet i c++? Var rad i objekten är också rader, du glömmer väl inte det?

Varför tror du att jag tog upp design och testning i min tidsfråga? Jag VET att kodknackandet inte är den största delen av utvecklandet. Varför måste du anta att de som inte tycker som dig har mindre kunskap? *suck* tror jag ska skriva en "så argumenterar vi på swec guide" så att alla nya förstår varför det finns diverse trådar på >10 sidor med två till tre personer som säger samma sak om och om igen

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Har själv ett antal objekt för att läsa in filer, det behövs en kodrad för det. hur mycket mindre kan det bli? [/B]

Antingen älskar man perl eller så hatar man perl

Antag att du har en konstig xml fil med divrse konstigheter i ...
Vi vill öka alla "nummer" värden som matchar "XXX>nummer<"
där nummer är större än 403.

perl -pe 's/(?<=XXX>)(\d+)(?!>)/if($1>403) {$1+1024} else {$1}/ge;' < infil

Om detta sedan är ett argument för eller mot perl ....det får ni själva avgöra

Edit: stavning

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Peo_Bond
Så vinner man ingen respekt

haha, har du uppfattat att jag är ute efter att vinna andras respekt?

antingen så förstår folk och lyssna på relevanta argument eller så gör man det inte. om sättet man uttrycker sig på är avgörande så kanske det mer säger en del om personens förvåga och ta till sig fakta.

japp, det finns helt klart områden där det inte passar och köra c++, största "området" är om man inte behärskar språket. men även konsulter kanske skall hålla sig borta från C++ och de brukar väl också göra det. snabblösningar mm som konsulter gör bör med fördel göras i annat språk.

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av Peo_Bond
Jag får en stark känsla av att du har "hajjat" den objektorienterade principen men inte riktigt förstått vad man ska ha de andra till. Stämmer detta?

Du har helt rätt. Gosh vet ingenting om de andra paradigmerna. Hur vet jag det? Jo, han räknade upp alla språk han sysslat med, och alla tillhörde imperativa paradigmet eller objektorienterade. Scheme, dvs det funktionella paradigmet, verkade vara något främmande av döma hans kommentarer om SICP boken som jag länkade till.

Det jag förgäves försökt förklara flera ggr är att det är stor skillnad på paradigmerna. De enda språk han sysslat med är som typ, norska och danska samt svenska. Alla är mer eller mindre lika varandra: verb efter dativ, och ackusativ efter nominativ (eller whatever, jag är askass på grammatik och kommer inte ens ihåg vad de sakerna betyder, jag bara hittade på några grammatiska regler). Java är likt C++ som är likt C# etc.

Däremot, att lära sig ett helt annat språk som kanske inte ens har någon grammatik alls - hur gör man då?? Man kanske läser vart 3e ord. Man kanske inte ens har vokaler i språket. DET är något helt annat språk. Men Gosh tror att alla språk funkar som C/Pascal/Basic/Fortran/etc eller C++/Java/C#/Simula/etc. Men det finns språk som är heeeeelt annorlunda och man tänker helt bakvänt. Man känner sig helt lost. Och såna språk tillåter en att lösa vissa typer av problem på ett mycket enkelt sätt, det har inte att göra med libraries. Får man ett "bakvänt problem" så löser man det omedelbart i ett sånt konstigt språk - för hela språket är helt bakvänt. Det förstår inte Gosh, för han har aldrig sett såna språk. Han tror att alla språk är som C++/Java/C#/Simula. Själv tycker jag Smalltalk är elegant. Simula gillar jag inte. Erlang är elegant. Likaså Scheme. Jag har försökt förklara att det finns språk som är jättekonstiga, men det går liksom inte in. Gosh förstår inte vad jag menar när jag säger att det finns språk där man tänker helt bakvänt. Han har aldrig sett såna språk. Hans universum är litet, det består bara av Windows programmering av vanliga administrativa system, typ.

Så, Peo_Bond, du har helt rätt, han känner inte till något annat. Och det är ingen ide att försöka förklara, det går inte in. Eller så är det vi som är kassa på att förklara, och kommer med helt obegripliga förklaringar.

T.ex. Selotodo försöker förklara för Gosh att adaptivt optimerande kompilatorer har sina fördelar, men det går inte heller in. Själv förstår jag utmärkt vad Selotodo försöker säga, men det är väl bara för att jag är KTHare och konstig, som förstår det. Med mina egna ord, av Selotodos utmärkta förklaring: En vanlig C++ kompilator gör sina optimeringar en enda gång vid kompileringen och thats it. Det blir inga andra optimeringar än så, oavsett hur många ggr du kör koden. Men Java kommer att göra optimeringar under run time och för varje gång du kör koden så fortsätter Java att fortsätta göra optimeringar hela tiden. Till slut kan du få optimerad kod som är bättre än C++. Java samlar information hela tiden under varje körning och kan optimera mycket mera än C++, som gör en enda optimering vid compile time. Java gör optimeringar vid run time, hela tiden. Därför kan Java ha vissa fördelar gentemot C++. Rent teoretiskt kan Java producera bättre kod än C++, pga adaptivt optimerande kompilator. Det är detta Selotodo försöker säga, på ett utmärkt och lättfattligt sätt. Enligt mig. Men återigen, bortse från vad jag säger - för jag är konstig och KTHare. För övrigt, de som gjorde JRockit (en svensk adaptivt optimerande JVM) gick samtidigt på KTH med mig.

För övrigt är Gosh inställd på att C++ alltid är bäst vid alla tillfällen. Om man tar en duktig Java utvecklare med tillgång till alla Java klasser, och en lika duktig C++ utvecklare med tillgång till alla C++ klasser - jag är inte övertygad om att C++ snubben är mer produktiv än Java snubben. Jag tror tvärtom att det går snabbare att utveckla ett projekt i Java än C++. Om vi har två olika team som är exakt lika duktiga, så tror jag Java teamet lyckas bäst. Om vi möter Gosh tvillingbror som är lika duktig, men specialiserat sig på Java, så tror jag faktiskt att Java tvillingen är mer produktiv, när det gäller vanlig applikationsprogrammering.

För övrigt ni som anser att C# inte ursprungligen var en kopia av Java, så finns det en hel del folk som tror tvärtom faktiskt. Det är bara att googla lite på nätet.

http://www.osnews.com/comments/20346
"Of course there were improvements over Java. Microsoft could look at Java, copy it, and make improvements where necessary. It wasn't like they came up with the improvement by themselves either. There was a lot of talk at the time of things Java could have done better and many of those things made it into C#. I don't mean to say that C# is worthless (I don't particularly like it or Java, but I think both have some value), but it isn't anywhere near the greatest advance in software development.

I worked with many of the very early versions of C# prior to its first release, it was embarrassing how exactly like Java C# was. I remember the first time I reviewed some preliminary documentation for C# thinking to myself, "Wow Microsoft, you changed 'main' to 'Main'. Way to make it your own..."

http://www.answerbag.com/q_view/7113
"No [C# is no copy], though it may seem like it at first glance. In reality C# can be thought of as an extension of Java. Java was obviously a major influence on the design of C#, probably because it did so much to revolutionize object oriented programming."

Sen finns det förstås folk som säger tvärtom. Som ni, t.ex. Men jag hajade till när jag såg C#, och det gjorde flera av mina KTH kompisar. Men återigen, vi KTHare är konstiga. Även riktiga MS fanatiker som jag vet, erkänner att C# är en kopia av Java. MS har ju en lång historia av att köpa upp eller kopiera annan teknologi. Samtidigt finns det folk som anser tvärtom, att MS aldrig kopierar eller köper upp annan teknologi. Vi kommer aldrig få ett erkännande av MS om Java och C#.

MS påstår t.ex. att Windows är det mest stabila system som finns. Och när det kraschar, så är det inte Windows fel (men hur kan Windows krascha om det är så stabilt?). Att Windows kraschar beror på; dåliga drivare, dåliga applikationer, dåligt RAM, etc. (Lustigt att t.ex Solaris kan köra dåliga hemsnickrade drivare och dåliga applikationer utan att krascha). Så om MS påstår att Windows är stabilt nog att köra aktiebörser på, så kommer nog aldrig MS erkänna nånting om C# eller Java. Det finns faktiskt folk som anser på fullaste allvar att Windows är bland de stabilaste system som finns, om man vet vad man gör. Men det är ju fel att tänka så, ett OS ska tåla lite misshandel utan att krascha. Kraschar det av lite misshandel så är det inte stabilt. Det är ungefär som: "Windows är det mest stabila system som finns, förutsatt man inte installerar några program alls". Men ett OS ska tåla lite installation av program.

Det går alltså inte att bevisa någonting om C# eller Java. Vi kanske ska låta diskussionen om Java kontra C# bero. Vi kommer ingen vart.

Och du Azoapes, du har inte förstått någonting av vad jag försöker säga dig.

För övrigt heter det Turing fullständigt. Inte Turing komplett. Om man tittar på Chomsky hierarkin så är det lustiga att NFA == DFA. Jag hade problem att förstå det, tills jag såg beviset. Då förstod jag. Det är lite häftigt faktiskt, att icke determinism inte tillför något när vi pratar om ändliga automater!

Permalänk
Citat:

Ursprungligen inskrivet av gosh
japp, det finns helt klart områden där det inte passar och köra c++, största "området" är om man inte behärskar språket. men även konsulter kanske skall hålla sig borta från C++ och de brukar väl också göra det. snabblösningar mm som konsulter gör bör med fördel göras i annat språk.

Är du en personifierad variant av en sån där hjälptjänst på hemsidor som svarar samma sak oavsett vad man frågar, när programmet bakom inte har frågorna i sin databas? Oavsett vad folk ber dig svara på så säger du samma sak. Att du verkar tro att den otroligt generella yrkestiteln "konsult" endast bör anlitas i situationer som inte har med C++ att göra gör att det inte går att ta dig på allvar. Vad kallas de som kan språket och utför projektarbeten hos företag då, enligt dig? Tomtar och troll?

Visa signatur

www.uu.se - some kind of university | www.hirr.org.uk - ain't no mountain high enough | www.bajenfans.se

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av saddam
För övrigt är Gosh inställd på att C++ alltid är bäst vid alla tillfällen. Om man tar en duktig Java utvecklare med tillgång till alla Java klasser, och en lika duktig C++ utvecklare med tillgång till alla C++ klasser - jag är inte övertygad om att C++ snubben är mer produktiv än Java snubben.

Har du tänkt på att man kan skriva egna klasser

Om jag går till de projekt jag deltagit i så har den absoluta majoriteten av koden varit egenskriven. Det är så man gör i C++

Java har däremot en annan utgångspunkt eftersom det är plattformsoberoende, där får man med ett gigantiskt klassbibliotek och så får man leta där.
Olika tankesätt

Om du gör dina egna klasser så blir det i princip alltid bäst för dig. Tar man generella klasser så behöver man nästan alltid göra en del anpassning för dessa även om de är väldigt generellt skrivna.

Även om jag upprepar mig så märks det tydligt när någon inte förstått principen bakom C++, man tänker inte på samma sätt som exempelvis programmerare i java gör.

Citat:

Ursprungligen inskrivet av bobamatics
Är du en personifierad variant av en sån där hjälptjänst på hemsidor som svarar samma sak oavsett vad man frågar, när programmet bakom inte har frågorna i sin databas? Oavsett vad folk ber dig svara på så säger du samma sak. Att du verkar tro att den otroligt generella yrkestiteln "konsult" endast bör anlitas i situationer som inte har med C++ att göra gör att det inte går att ta dig på allvar. Vad kallas de som kan språket och utför projektarbeten hos företag då, enligt dig? Tomtar och troll?

Nix jag är inte den personen du beskriver, jag generaliserar en del (omöjligt och diskutera utan att generalisera). Tar du statistik på vilken typ av kod konsulter vanligtvis jobbar med och jämför det med bolag som lever på specifik produkt så kommer du se rätt intressanta fakta.
Självklart finns det konsulter som deltar i C++ projekt med, men det är inte vanligt

Bra film: http://video.google.com/videoplay?docid=-3478907067117491758

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Avstängd

Klasser som är egenskrivna vet man inte så mycket om. Tänk att man går in i 10 olika C++ projekt och alla har egna klasser man aldrig sett förrut. Vissa klasser är t.om. dåligt designade. Man svär ve och förbannelse över konstiga designbeslut. Dålig dokumentation är det ofta oxå. Dokumentationen är inte up to date, och ofta vilseledande och motsägelsefull. Mycket mera tid går åt.

Om man går in i 10 olika Java projekt, så känner man till alla klasser och sett dem förrut (om man knackat mycket kod). Jag är för en standard som alla känner till. Utvecklingen går mycket snabbare om alla kan klasserna man använder sig av. Dessutom, man kan göra egna klasser oxå i Java om du inte visste det. Är man inte mer produktiv om man använder en standard, som alla känner till?

Jovisst är specialdesignade klasser effektivare, men hur lång tid tar det att göra såna hela tiden i 10 olika projekt? Använder man en generell std så kanske klasserna är 10% långsammare, men man vinner igen det mångdubbelt i utvecklingstid. Poängen med standard libraries är att man ska använda dem och snabba upp utvecklingen. Poängen är inte att man ska utveckla egna skräddarsydda lösningar varje gång. Jag förstår faktiskt inte hur du resonerar?

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av saddam
Klasser som är egenskrivna vet man inte så mycket om. Tänk att man går in i 10 olika C++ projekt och alla har egna klasser man aldrig sett förrut. [...] Mycket mera tid går åt.

Om man går in i 10 olika Java projekt, så känner man till alla klasser [...]. Jag är för en standard som alla känner till. Utvecklingen går mycket snabbare om alla kan klasserna man använder sig av. [...] Dessutom, man kan göra egna klasser oxå i Java om du inte visste det. Är man inte mer produktiv om man använder en standard, som alla känner till?

Typiskt nybörjartänk (ursäkta tykenheten ). Om du designar språket på ett sätt så du styr programmeraren så slutar programmeraren och tänka. När man skriver C++ (eller annan kod med för den delen) så är det viktigt och skriva självdokumentrad kod.

Standard kan faktiskt vara (är ofta) mycket svårare och tyda även om du känner igen hela det gigantiska biblioteket med objekt och dess funktioner. Det är ofta lättare och se egna klasser där namnen har bättre koppling till vad man gör.

Jo jag känner till att man kan göra egna klasser i java men det är liksom inte det naturliga sättet för java-nissar och koda på. alltså bygga sin egen grundläggande funktionalitet.

Ett exempel:
För någon vecka sedan så råkade jag ut för ett problem där jag var tvungen och förvandla data som låg som en grid (värden från en SQL fråga tas ut och läggs i en tabell internt i minnet), denna data skall göras om till pivot format där man väljer ut kolumn för X och Y eller bara X eller Y axel samt vilken data som skulle representera datat. Även stödja den mesta funktionalitet som finns i Excel (sum, max, min o.s.v.)

230 rader (med en del kommentare och debug kod, det är inte helt klart iofs)

CPyTable* CPyTable::TablePivot( long lColumnX, long lColumnY, long lColumnData, boost..python..object& objectStart, const std..wstring& rstringFormula ) { enum enumOperation { eOperationSum = 0, eOperationMin = 1, eOperationMax = 2, eOperationAverage = 3, eOperationFormula = 100 }; if( (unsigned long)lColumnData >= GetColumnCount() ) throw std..runtime_error("Index for column data is not in range of available columns."); enumOperation eOperation = eOperationSum; report::value v; std::vector<report::value> vectorValueX; std::vector<report::value> vectorValueY; std::vector<report::value> vectorValueData; int iEmpty = 0; /// marks if start value is 0 i the specified data type report::value valueStart; gd_std::calculate::value vFormula; gd_std::calculate::expression expressionPivot; /// expression used to filter values gd_std::calculate..parameters parametersPivot; /// parameters used to processes formulas gd_std::calculate::engine engineCalculate; /// calculate engine used to calculate expression const wchar_t* pwszFormula = L"vector.sum()"; /// default formula is sum // add methods object to calculate engine engineCalculate.append( CALCULATE_METHODSPTR( STRING ) ).append( CALCULATE_CUSTOMMETHODSPTR( VECTOR ) ); parametersPivot.data_set( gd_std::calculate::value( gd_std..calculate::value..eTypeData, L"vector" ), gd_std::calculate::value( (void*)&vectorValueData ) ); if( rstringFormula.length() > 1 ) { pwszFormula = rstringFormula.c_str(); } else { if( rstringFormula.length() > 0 ) { switch( rstringFormula[0] ) { case L'0': pwszFormula = L"vector.sum()"; break; case L'1': pwszFormula = L"vector.min()"; break; case L'2': pwszFormula = L"vector.max()"; break; case L'3': pwszFormula = L"vector.average()"; break; default: throw std..runtime_error("Formula type not supported!"); } } } // parse formula used to check values from column if( pwszFormula != NULL && *pwszFormula != L'\0' ) { long lResult = engineCalculate.parse( pwszFormula, expressionPivot ); if( lResult != 0 ) // check for error { std::string stringError = expressionPivot.get_text(); throw std..runtime_error( stringError ); } const char* pbszValueType = objectStart.ptr()->ob_type->tp_name; if( *(long*)pbszValueType == *(long*)"str\0" ) { gd_std::wstring stringStart = boost..python::extract<const char*>(objectStart); valueStart = expressionPivot.get_poolstring( stringStart ); } else if( *(long*)pbszValueType == *(long*)"unic" ) { gd_std::wstring stringStart = boost..python::extract<std::wstring>(objectStart); valueStart = expressionPivot.get_poolstring( stringStart ); } else if( *(long*)pbszValueType == *(long*)"floa" ) valueStart = (double)boost..python::extract<double>(objectStart) ; else if( *(long*)pbszValueType == *(long*)"int\0" ) valueStart = (long)boost..python::extract<long>(objectStart); iEmpty = valueStart.is_true(); } unsigned int uRowCount = GetRowCount(); if( lColumnX >= 0 ) { // Build X values for( unsigned int u = 0; u < uRowCount; u++ ) { v = CellGetValue( u, lColumnX ); if( std::find( vectorValueX.begin(), vectorValueX.end(), v ) != vectorValueX.end() ) { continue; } vectorValueX.push_back( v ); } } else { vectorValueX.push_back( report::value() ); // One for the loop to work when grid data is filled } if( lColumnY >= 0 ) { // Build Y values for( unsigned int u = 0; u < uRowCount; u++ ) { v = CellGetValue( u, lColumnY ); if( std::find( vectorValueY.begin(), vectorValueY.end(), v ) != vectorValueY.end() ) { continue; } vectorValueY.push_back( v ); } } else { if( lColumnX < 0 ) throw std::runtime_error("You need at least one X or one Y index for extracting values from table, no X or Y index is set!" ); vectorValueY.push_back( report::value() ); // One for the loop to work when grid data is filled } report::CTable* pTable = new CTable( const_cast<report::CTable*>(GetTableRoot()) ); // Set number of columns for table if( vectorValueX.size() > 0 ) pTable->SetColumnCount( vectorValueX.size() + (lColumnY >= 0 ? 1 : 0) ); else pTable->SetColumnCount( 2 ); // if both X and Y is set then first position is to empty (grid has both values in X and Y columns that is used to inform about data values) if( lColumnX >= 0 && lColumnY >= 0 ) pTable->CellPushBackFast( report::value() ); if( lColumnX >= 0 ) // If if X column the first row is id for X axis { // Build X values for( std::vector<report::value>::iterator it = vectorValueX.begin(); it != vectorValueX.end(); it++ ) { pTable->CellPushBack( *it ); } } for( std::vector<report::value>::iterator itY = vectorValueY.begin(); itY != vectorValueY.end(); itY++ ) { if( lColumnY >= 0 ) pTable->CellPushBack( *itY ); // first value in row is row id if specified # ifdef _DEBUG const wchar_t* debug_pwszY = L""; if( itY->type() == report::value::eTypeString ) debug_pwszY = *itY; # endif for( std::vector<report::value>::iterator itX = vectorValueX.begin(); itX != vectorValueX.end(); itX++ ) { # ifdef _DEBUG const wchar_t* debug_pwszX = L""; if( itX->type() == report::value::eTypeString ) debug_pwszX = *itX; # endif vectorValueData.clear(); // Find values for current X and Y position for( unsigned int u = 0; u < uRowCount; u++ ) { v = CellGetValue( u, lColumnData ); // Compare if we have a match on the X and Y column if( lColumnY >= 0 ) { if( CellGetValue( u, lColumnY ) != *itY ) continue; } // Compare if we have a match on the X and Y column if( lColumnX >= 0 ) { if( CellGetValue( u, lColumnX ) != *itX ) continue; } vectorValueData.push_back( v ); }// for( unsigned int u = 0; u < uRowCount; u++ ) // Special handling if there is none or one value in cell (speed improvement) if( vectorValueData.size() <= 1 ) { if( eOperation != eOperationFormula ) { if( vectorValueData.empty() == false ) { if( valueStart.type() == report::value::eTypeNull ) { pTable->CellPushBack( vectorValueData[0] ); // Push value to the position in grid } else { report::value v = vectorValueData[0]; if( v.type() != valueStart.type() ) { report::CValue valueTemp( v ); valueTemp.change_type( valueStart.type() ); pTable->CellPushBack( valueTemp ); // Push value to the position in grid } else { pTable->CellPushBack( v ); } } } else { // No value, push empty value to cell pTable->CellPushBack( report::value() ); } }// if( eOperation != eOperationFormula ) { continue; }// if( vectorValueData.size() <= 1 ) { // Process formula parametersPivot.clear_values(); long lError = engineCalculate.calculate( &expressionPivot, &parametersPivot ); if( lError != 0 ) { TableRemove( pTable ); std::string stringError = parametersPivot.get_text(); throw std::runtime_error( stringError ); } gd_std::calculate::value vReturn = parametersPivot.value_return(); pTable->CellPushBack( report::convert( vReturn ) ); } }// for( std::vector<report::value>::iterator itY = vectorValueY.begin(); itY != vectorValueY.end(); itY++ ) { return (CPyTable*)pTable; }

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Typiskt nybörjartänk (ursäkta tykenheten ). Om du designar språket på ett sätt så du styr programmeraren så slutar programmeraren och tänka. När man skriver C++ (eller annan kod med för den delen) så är det viktigt och skriva självdokumentrad kod.

Standard kan faktiskt vara (är ofta) mycket svårare och tyda även om du känner igen hela det gigantiska biblioteket med objekt och dess funktioner. Det är ofta lättare och se egna klasser där namnen har bättre koppling till vad man gör.

Jo jag känner till att man kan göra egna klasser i java men det är liksom inte det naturliga sättet för java-nissar och koda på. alltså bygga sin egen grundläggande funktionalitet.

Ett exempel:
För någon vecka sedan så råkade jag ut för ett problem där jag var tvungen och förvandla data som låg som en grid (värden från en SQL fråga tas ut och läggs i en tabell internt i minnet), denna data skall göras om till pivot format där man väljer ut kolumn för X och Y eller bara X eller Y axel samt vilken data som skulle representera datat. Även stödja den mesta funktionalitet som finns i Excel (sum, max, min o.s.v.)

230 rader (med en del kommentare och debug kod, det är inte helt klart iofs)

... kod ...

I C++ får man alltså använda standardklasser (vector-klassen i STL i ditt fall), men inte i Java? (Jag upplever att du tycker Java är dåligt för att man då använder deras klassbiblotek)

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av DeeXt
I C++ får man alltså använda standardklasser (vector-klassen i STL i ditt fall), men inte i Java? (Jag upplever att du tycker Java är dåligt för att man då använder deras klassbiblotek)

Då har du missuppfattat

Du får använda hur mycket klasser du vill eller skriva de klasser du vill.

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Avstängd

Men Gosh, du håller inte med om att det tar längre tid att först utveckla dina egna klasser, och sen själva programmet. Än om du tar de std klasser som finns, och utvecklar programmet? Du anser att man är nybörjare om man hellre använder std klasser som är väl dokumenterade och kända av alla utvecklare, än att utveckla ett eget ramverk innan man börjar koda?

Det kanske bara är jag som är okunnig, men jag trodde att en av poängerna med objektorienterade paradigmet är att man ska återanvända kod så långt som möjligt, och inte tvingas skriva nytt varje gång? Självklart måste man anpassa std klasserna, men att varje gång förespråka att "nej, vi skriver nytt från scratch även denna gång!" är mindre optimalt? Men jag kanske har har fel.

Poängen med Javas gigantiska klassbibliotek är att man ska slippa utveckla från scratch. Man försöker göra programmerarna mer produktiva, mha enormt klassbibliotek. Om då ingen programmerare använder klassbiblioteket, utan hellre skriver allting själv, så försvinner poängen med standardiserade lösningar. Jag själv använder hellre JTableModel än gör en helt ny grid hanterare, det är ganska mycket jobb bakom JTable som man bör återanvända.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av saddam
Men Gosh, du håller inte med om att det tar längre tid att först utveckla dina egna klasser, och sen själva programmet. Än om du tar de std klasser som finns, och utvecklar programmet?

Det beror helt på, fördelen med C++ är att du har stor frihet och välja vad som passar bäst. De som är standard i C++ är väldigt grundläggande, inte alls gjort för något "större" ramverksliknande. "Frihet" är grundläggande för C++ programmerare.

Citat:

Ursprungligen inskrivet av saddam
Du anser att man är nybörjare om man hellre använder std klasser som är väl dokumenterade och kända av alla utvecklare, än att utveckla ett eget ramverk innan man börjar koda?

Är man nybörjare skall man inte ge sig på och göra något mer avancerat om det skall ut till kund. Är man nybörjare så bör man fokusera på att öka sina kunskaper i programmering. Använder nybörjaren färdiggjorda saker så kanske den kommer förbli nybörjare ;).

Citat:

Ursprungligen inskrivet av saddam
Det kanske bara är jag som är okunnig, men jag trodde att en av poängerna med objektorienterade paradigmet är att man ska återanvända kod så långt som möjligt

En av fördelarna med objekt orientering är att det är lättare och återanvända kod, det är absolut inte det man ALLTID skall göra. Som jag (och en del andra skrivit) så är inte det som tar mest tid att skriva kod, man måste tänka igenom alla steg och då framförallt att slippa debuga mer än nödvändigt.

Citat:

Ursprungligen inskrivet av saddam
Poängen med Javas gigantiska klassbibliotek är att man ska slippa utveckla från scratch. Man försöker göra programmerarna mer produktiva, mha enormt klassbibliotek.

Är det inte plattformsoberoendet?
Hade de inte haft det gigantiska biblioteket så hade det säkerligen funnits 10 olika och välja mellan nu. Eftersom det finns med ett i språket så kommer det aldrig och utvecklas några alternativ. Det är en mycket stor begränsning även om det givetvis kan vara trevligt för "nybörjarna".

Under min tid som C++ programmerare så har jag totalt använt mig av strax över kanske 10 olika bibliotek (alltså större bibliotek som täcker ett område). Alla med sina fördelar respektive nackdelar.
Namn, hur saker fungerar o.s.v. har aldrig varit något större problem om det ens varit ett problem. Illa skriven kod är däremot ett stort problem.

Citat:

Ursprungligen inskrivet av saddam
Om då ingen programmerare använder klassbiblioteket, utan hellre skriver allting själv, så försvinner poängen med standardiserade lösningar.

Du tänker hela tiden i ditt "invanda" tankemönster och det är detta C++ programmerare vanligen märker hos de som inte är vana vid ett sådant fritt språk.
Man behöver inte skriva allt själv, du kan välja ANNAT bibliotek om det passar bättre. Du kan skriva själv med om du vill. Så lång tid tar det vanligen inte och skriva dessa grundläggande klasser.

Tror jag själv har skrivit 3 olika XML parsrar, alla har sina fördelar. I början hade jag bara Microsofts standardparser och tillgå (många år sedan), den var tung och jobbig samt gjorde koden mycket knepigare.

Hade jag låtit bli och skriva egna utan förlitat mig på det som fanns så hade de applikationer man hålt på med aldrig hålt samma klass. De hade i själva verket aldrig fungerat för en hantering är att skicka xml data mellan funktioner istället för vanliga parametrar och det var den på tok för tung för.

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Är det inte plattformsoberoendet?

I grunden kanske, men om man jämför med C# som är plattformsberoende har de gjort samma sak där, .NET-ramverket är också gigantiskt. Det skulle gå att bara göra DLL imports för fönsterhantering och köra GDI för all grafik/bildhantering, men de valde att skapa ett bibliotek som för övrigt bara blir större och större och nu innehåller WPF som är cutting-edge inom grafiska desktopapplikationer. Enda utmanaren är väl Flex och AIR...

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av azoapes
I grunden kanske, men om man jämför med C# som är plattformsberoende har de gjort samma sak där, .NET-ramverket är också gigantiskt.

Nu kanske inte jag tycker att C# är någon höjdare heller direkt ;). Var ett tag sedan som man testade på det men har fått lite av uppfattningen att C# (.NET) vill vara allt. Det är nog bara en tidsfråga till man kommer till en punkt "detta har växt över alla fördämningar så nu får vi göra om".

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Avstängd

Ja, jag håller inte med dig även om detta, Gosh. Jag är för standarder. Jag tycker att alla ska hålla sig till standarder, istället för att utveckla helt egna saker i Java. Eller i C++.

Man förlorar för mycket tid om man vägrar använda std klasser, och ska utveckla allt själv. Det är klart, har man ingen tidspress så kan man göra egenutvecklade lösningar. Men oftast har man inte tid, det ska funka och nu.

Du tycker som du vill, jag tycker som jag vill. Vi får nöja oss med det.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av saddam
Ja, jag håller inte med dig även om detta, Gosh. Jag är för standarder. Jag tycker att alla ska hålla sig till standarder, istället för att utveckla helt egna saker i Java. Eller i C++.

Vad är en standard?

Citat:

Ursprungligen inskrivet av saddam
Man förlorar för mycket tid om man vägrar använda std klasser, och ska utveckla allt själv. Det är klart, har man ingen tidspress så kan man göra egenutvecklade lösningar. Men oftast har man inte tid, det ska funka och nu.

Det beror helt på lösningen som man skall göra. Olika lösningar har olika krav, det finns inte ett sätt som är rätt.

Två klasser brukar användas frekvent bland "std" och det är "string" och "vector". string används ofta extremt mycket, personligen väljer jag att använda en annan egenskriven klass när jag kan eftersomm string i std inte har referensräknare och därmed blir mycket segare när man skickar sträng variabler som objekt och suger mer minne.
Det tar ungefär en till två dagar och skriva en egen strängklass som är i princip identisk men har referensräknare, där kan man även lägga till lite annat som är bra och ha.
I den egna strängklassen så har jag lagt till saker som konvertering mellan utf8, omvandla till hex, konvertering mellan unicode och ascii, automatisk konvertering till typer i C++ (double, long, short o.s.v.).

Två dagars jobb som sparar mig MASSOR av tid i fortsättningen.

Citat:

Ursprungligen inskrivet av saddam
Du tycker som du vill, jag tycker som jag vill. Vi får nöja oss med det.

Den dagen du börjar sitta med i något större projekt och kanske då även någon annan mer erfaren är med som känner till lite vad man bör tänka på, då kommer du ändra dig.

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Nu kanske inte jag tycker att C# är någon höjdare heller direkt ;). Var ett tag sedan som man testade på det men har fått lite av uppfattningen att C# (.NET) vill vara allt. Det är nog bara en tidsfråga till man kommer till en punkt "detta har växt över alla fördämningar så nu får vi göra om".

Precis som C++ alltså, ett stort språk med många sätt att lösa uppgifter på Som vi sett i andra inlägg här på swec dom senaste dagarna finns det tex flera olika klasser/metoder för att hantera xml-data (linq, XmlDocument mfl). Själv tycker jag det gör det mer intressant med C# än tex Java, men kan förstå att det inte är optimalt sett till företagsnytta.

Angående buggar och rader kod har jag för mig att Ericsson gjorde en jämförelse mellan C++ och Erlang, och det dom fann var att antar buggar/rad var ganska konstant, däremot blev koden i Erlang mycket kortare och hade därför färre buggar. Tror nästan det är den enda publika undersökningen som gjorts, eller en av väldigt få, då det är väldigt svårt att sätta upp en vettig testmiljö där team av erfarna programmerare jobbar på riktiga uppgifter i olika språk, istället för tex studenter som är enklare att labba med.. Inte så många företag/organisationer som kan sätta upp med ett riktigt test.

För att lätta upp lite så postade någon den här länken: http://www.aegisub.net/2008/12/if-programming-languages-were-... på haskell-mailinglistan.. Ganska kul om man har lite distans till sitt favoritspråk oavsett om det råkar vara C#, C++ eller Java

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av vb
För att lätta upp lite så postade någon den här länken: http://www.aegisub.net/2008/12/if-programming-languages-were-... på haskell-mailinglistan.. Ganska kul om man har lite distans till sitt favoritspråk oavsett om det råkar vara C#, C++ eller Java

"APL would be Scientology - There are many people who claim to follow it, but you've always suspected that it's a huge and elaborate prank that got out of control."
Made my day, har inte skrattat så mycket på flera veckor

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av vb
Precis som C++ alltså, ett stort språk med många sätt att lösa uppgifter på

Nix, språken är fortfarande inte gjorde på det viset så att det inbjuder på samma sätt att lösa uppgiften själv. C#, vb och de andra varianterna i .NET, där handlar det om att leta upp funktionaliteten. Istället för att programmera själv så blir man expert på att leta

Citat:

Ursprungligen inskrivet av vb
Som vi sett i andra inlägg här på swec dom senaste dagarna finns det tex flera olika klasser/metoder för att hantera xml-data (linq, XmlDocument mfl).

Exakt! det är så man gör, man ser vad man kan hitta. Det finns ju massor och åter massor av klasser där. Men det är i princip alltid så att även om man hittat något som passar så skulle man vilja ha det lite annorlunda. Medan C# eller vb nissen sitter och letar och läser på hur objektet fungerar, då sitter C++ programmeraren och gör en egen. Man kan ju fråga sig vem som blir duktigast på att programmera?

Citat:

Ursprungligen inskrivet av vb
Angående buggar och rader kod har jag för mig att Ericsson gjorde en jämförelse mellan C++ och Erlang, och det dom fann var att antar buggar/rad var ganska konstant, däremot blev koden i Erlang mycket kortare och hade därför färre buggar.

En kompis till mig satt som konsult på ett bolag ägt av ericsson. De skulle utveckla programvara för att sköta transaktionerna i telefonväxlar, alltså hur mycket varje abonnent skulle betala. De hade fått för sig att göra detta i java. Min kompis kom in i projektet lite sent men märkte ganska omedelbart att det aldrig skulle gå, prestanda var inte i närheten av vad den skulle vara. Bolaget hade en omsättning på ungefär 3 miljarder och baserade mycket av deras verksamhet på denna programvara. 1 år senare hade bolaget konkat eller rättare sagt så införlivades det i ericsson.

Ett annat projekt i C++ (för många många år sedan) som ericsson skulle ge sig på tror jag de spenderade runt 100 miljoner på, känner inte till detaljer där. I vilket fall så gick det inte och efter det så brände de sig ganska ordentligt på språket.

C++ är absolut inte rätt språk om man inte behärskar språket

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Exakt! det är så man gör, man ser vad man kan hitta. Det finns ju massor och åter massor av klasser där. Men det är i princip alltid så att även om man hittat något som passar så skulle man vilja ha det lite annorlunda. Medan C# eller vb nissen sitter och letar och läser på hur objektet fungerar, då sitter C++ programmeraren och gör en egen. Man kan ju fråga sig vem som blir duktigast på att programmera?

Fårgan är om det är skicklighet man vill uppnå. Beroende på situation kan det ju faktiskt vara så att färdig funktionalitet är att föredra framför en egen specialgjord lösning. Nu går detta att fixa i C++ också, finns ju hur många bibliotek som helst till en massa saker men ändå...

Permalänk
Citat:

Ursprungligen inskrivet av vb
Angående buggar och rader kod har jag för mig att Ericsson gjorde en jämförelse mellan C++ och Erlang, och det dom fann var att antar buggar/rad var ganska konstant, däremot blev koden i Erlang mycket kortare och hade därför färre buggar.

Citat:

Ursprungligen inskrivet av gosh
En kompis till mig satt som konsult på ett bolag ägt av ericsson. De skulle utveckla programvara för att sköta transaktionerna i telefonväxlar, alltså hur mycket varje abonnent skulle betala. De hade fått för sig att göra detta i java. Min kompis kom in i projektet lite sent men märkte ganska omedelbart att det aldrig skulle gå, prestanda var inte i närheten av vad den skulle vara. Bolaget hade en omsättning på ungefär 3 miljarder och baserade mycket av deras verksamhet på denna programvara. 1 år senare hade bolaget konkat eller rättare sagt så införlivades det i ericsson.

C++ är absolut inte rätt språk om man inte behärskar språket

På ditt svar så låter det som att du försöker jämställa Java med Erlang. Varför det? Eller ville du bara flika in ännu en substanslös kommentar om hur bra ditt favoritspråk är fastän det inte tillför diskussionen någonting?

Visa signatur

"I cannot. Yet I must. How do you calculate that? At what point on the graph do 'must' and 'cannot' meet? Yet I must. But I cannot."

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Nix, språken är fortfarande inte gjorde på det viset så att det inbjuder på samma sätt att lösa uppgiften själv. C#, vb och de andra varianterna i .NET, där handlar det om att leta upp funktionaliteten. Istället för att programmera själv så blir man expert på att leta

Exakt! det är så man gör, man ser vad man kan hitta. Det finns ju massor och åter massor av klasser där. Men det är i princip alltid så att även om man hittat något som passar så skulle man vilja ha det lite annorlunda. Medan C# eller vb nissen sitter och letar och läser på hur objektet fungerar, då sitter C++ programmeraren och gör en egen. Man kan ju fråga sig vem som blir duktigast på att programmera?

Om nu just duktiga C++ programmerare skriver saker själv och inte letar funktionalitet, varför har du lagt ut din egengjorda stringklass på nätet och med det förespråkar att andra ska använda den? Den passar ju tydligen bara just för dig i alla fall? Alla andra duktiga C++-programmera skriver ju sina egna?

För det är väll du "hulken" som kallar dig gosh här? (en enkel ja eller nej-fråga, undrar om vi får svar på den med ett antingen "ja" eller "nej"?)

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av You
Fårgan är om det är skicklighet man vill uppnå.

Nej det är klart, som jag skrivit tidigare (tror jag), vill man inte bli duktig, man kanske inte ens tycker det är roligt och programmera. Det enda man vill är och få en uppgift gjord, då skall man absolut inte välja C++

Visa signatur

Programmerare med C++ som huvudspråk.

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av gosh
Nej det är klart, som jag skrivit tidigare (tror jag), vill man inte bli duktig, man kanske inte ens tycker det är roligt och programmera. Det enda man vill är och få en uppgift gjord, då skall man absolut inte välja C++

Hm. Så man ska inte välja C++ om man inte vill bli skicklig utan bara få uppgiften löst. När ska man då fall välja C++ ? När man vill sitta i ett hörn några veckor utan att få uppgiften löst? Tycker inte riktigt du lyckas få fram din poäng med vad som gör C++ så överlägset, inte för problemlösning, speciellt inte för produktivt bruk och allra minst för kreativ programmering. Det låter som att C++ bara är ett bra val när man är guru och ska skriva realtidsprogram?

Jag läser till systemutvecklare inom .NET just för att jag tröttnat på att uppfinna hjulet om och om igen. Visserligen är det webb jag kommer jobba med, men jag har gjort mycket på klientsidan också i några år. Jag struntar fullständigt i om någon C++ -programmerare är skickligare på att skriva egna objekt, så länge jag löser uppgiften snabbare. Prestanda och kvalitet på objektet jag använder är inte upp till mig, men behövs det så kan jag skriva det själv och har då stor hjälp av andra befintliga objekt i ramverket.

Permalänk
Avstängd
Citat:

Ursprungligen inskrivet av azoapes
Hm. Så man ska inte välja C++ om man inte vill bli skicklig utan bara få uppgiften löst.

Är du skicklig så får du uppgiften löst mycket bättre med C++ (begriper inte varför man bara läser det man vill läsa...)
Är du inte kunnig men vill få uppgiften löst så välj annat språk. Beskrev tidigare med att köra Formel 1 bil. Är du inte en skicklig förare så kanske du kör av i första kurvan. Då är det bättre och välja en mer lättkörd bil, är du däremot skicklig förare så kommer du köra snabbare än alla andra bilar.

Citat:

Ursprungligen inskrivet av azoapes
Jag läser till systemutvecklare inom .NET just för att jag tröttnat på att uppfinna hjulet om och om igen.

Menar du att man gör det som C++ programmerare så har du missuppfattat språket. Tvärtom kommer du garanterat att göra mycket mer repetitiv programmering i .NET. Det finns inte alls samma möjligheter för kreativa lösningar.

Citat:

Ursprungligen inskrivet av azoapes
Jag struntar fullständigt i om någon C++ -programmerare är skickligare på att skriva egna objekt, så länge jag löser uppgiften snabbare.

Men det gör du inte om programmeraren behärskar C++

Utöver detta så om någon kan C++ så lär han sig .NET språk på några dagar. Skall det gå andra vägen (från något .NET språk till C++) så har man mycket längre tid innan det börjar hända något. Orsaken är att om man kan C++ bra så har man så mycket grundläggande programmeringskunskaper och även ett bättre sätt och tänka på

Visa signatur

Programmerare med C++ som huvudspråk.