• 3
  • 4
2009-03-15, 15:39
  #37
Medlem
Citat:
Jag anser att det blir som att jämföra äpplen och päron.
När du talar om standard biblioteken så talar du om ANSI Standard C++ som inte är tillämpbart på Java på samma sätt.
Varför inte? Det är olika filosofi bakom, men annars?

Citat:
Jag anser att man då måste tala om produkter i båda fallen för att få en jämförelse. Och då har du mer än standardbiblioteken till din hjälp.
Kanske det, men SUNs/javas är relativt konsekvent API, följer med kompilatorn osv, att få 3:e parts grejer att lira med just din kompilator och version är inte sällan mer än lagom besvärligt.
Och som sagt, ur ett nybörjarperspektiv så är det inte alls oviktigt.
Suns java funkar på i princip överallt där javas VM finns, medan C++ utanför standarden förmodligen inte funkar med olika kompilatorer på samma maskin.
Så om du ska se språket som det kompilatorn accepterar så kan du inte längre prata om "C++" utan då blir det GNU-c++, SGI-c++, MS-c++ osv.

Citat:
Det jag ville tillföra till diskussion var just att C++ verktygen har inte bara samma reportoar som Java att utnyttja. Utan också en utökad som är lika lätt att utnyttja som i Java. I det kontexet, så är Java inte lättare.
Lika lätt är det i normalfallet garanterat inte. För att ta ett konkret, relativt besvärligt exempel, aritmetik på stora heltal på en windowsmaskin.
I java, import java.math.BigNum/BigInteger (vad de nu heter och ligger), i C++?

Citat:
Jag tror vi i grunden är överens, men kanske märker ord och ger dem en annan betydelse?
Inte så säker på det, jag tycker du stirrar dig blind på just det du fokuserar på, dvs i princip objektorientering utan arv/polymorfism och utan generisk programmering osv. Och ja, under de förhållandena är de syntaktiskt väldigt lika.
Citera
2009-03-15, 17:00
  #38
Medlem
Av just den enkla anledningen att C++ inte är ett utvecklingsvertyg. Du kan inte tanka ner den någonstans. Du kan inte köpa den.
Den är en standard som det är upp till vertygstillverkaren att följa eller inte.

MS Visual C++ är en av produkterna som iaf för till någon version sedan INTE uppfyllde C++ standarden. En del säger sig uppfylla till 100%, andra pratar om att de uppfyller till ett visst antal procent.

Du är helt inne på rätt spår, det är olika produkter jag ser det som GNU++, Borland C++ Buildersermera CodeGear C++ Builder, etc etc.

Java är en produkt, som består av produkten Java som innehåller språket Java och vad jag anser vara skillt från språket Java, klassbiblioteken. Produkten Java är meningen att den skall köras på en VM utvecklad för respektive plattform.
Det målet har C++ aldrig haft.
Skall man jämföra dem måste man särskilja språkdelen från medlevererade klassbibliotek. Alternativt blunda för dem helt. Enligt min åsikt.

Där jag blandade mig i diskussionen, var när det kom uppgifter om att I Java kan du använda det här och det här. Det kan du inte i C++.
Det var enbart på den punkten jag tyckte det behövdes ett förtydligande. Jag programmerar GUI komponenter enklare i mitt C++ verktyg, än vad som kan göras i Java verktyg.

Allt beror på vilka vertyg man jämför mot.

Orsak att jag gör en distinktion mellan språken och klassbiblitoken är den berömda diskussionen om vad som kom först, hönan eller ägget? Det blir en för luddig mark att diskutera om klassbiblioteken är en utveckling med hjälp av språket, eller om de är en del av språket.
__________________
Senast redigerad av PeterSfa 2009-03-15 kl. 17:15.
Citera
2009-03-15, 19:07
  #39
Medlem
Citat:
Ursprungligen postat av PeterSfa
Av just den enkla anledningen att C++ inte är ett utvecklingsvertyg. Du kan inte tanka ner den någonstans. Du kan inte köpa den.
Den är en standard som det är upp till vertygstillverkaren att följa eller inte.

Fast standarden är per definition språket och S:et i STL står ju dessutom för...
Antingen hör STL till C++ och då finns det ingen anledning till att javas medföljande klassbibliotek inte skulle ses som en del av språket java eller så ser du språket som precis det du kan göra utan några som helst import/includes och i det fallet så kan man lika gärna ta det Turing kompletta språk som har lättast syntax (förmodligen något funktionellt språk.).

Semantiken är en så pass liten del av ett högnivåspråk, den går snabbt att lära sig och jag tror inte någon tycker att du är en bra programmerare bara för att du har lärt dig det semantiska så den diskussionen är inte intressant, varken för nybörjare eller andra. För att inte nämna att C++ semantiskt sett förmodligen är det krångligaste högnivåspråket. (om vi bortser från exotiska varianter i stil med http://en.wikipedia.org/wiki/Brainfuck osv)

Och du är som sagt inte konsekvent, du lägger upp väldigt enkla exempel där C++ och java är lika varandra med motivationen att du riktar dig till nybörjare, men du vägrar att se paketet/standarden som följer med kompilatorn som språket, vilket garanterat en nybörjare gör.

Citat:
Där jag blandade mig i diskussionen, var när det kom uppgifter om att I Java kan du använda det här och det här. Det kan du inte i C++.
Det är naturligtvis sant, Turingkomplett som turingkomplett, men vissa saker är betydligt enklare i ena eller andra språket.

Oavsett så är javas stora klassbibliotek och utförliga felmeddelanden en enorm hjälp för en nybörjare och det är en nybörjarfördel som C++ inte har, oavsett hur du vrider och vänder på det.
Citera
  • 3
  • 4

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in