void@qnet
teeworlds, stålverk80, evil schemer, c, c++
Languages shape the way we think, or don't.
Lära sig programmering, vilket språk?
Jag tycker diskussionen om att MS är för öppen kod eller inte, inte riktigt hör till saken. Men att diskutera C# eller Java eller C++ tycker jag hör till tråden? Vilket språk ska man lära sig? Då bör man diskutera olika språk? Eller?
Gosh,
Hela specifikationen på för Scheme är på 24 sidor. Har du den specen kan du skriva en Lisp interpretator. Specifikationen för C++ är på över 800 sidor. Om det inte är bloat, så vet jag inte. Visst, C++ används när man måste ha höga prestanda, men nu förtiden är prestanda billigt och programmerarna dyra. Då behövs inte C++ ofta, förutom vid vissa få tillfällen. Jag tycker C++ är kraftfullt, men väldigt meckigt. Jag tycker att minneshantering ska man inte själv behöva hålla reda på, t.ex.
Ursprungligen inskrivet av saddam
Hela specifikationen på för Scheme är på 24 sidor. Har du den specen kan du skriva en Lisp interpretator.
Nja, R6RS är 90 sidor (pdf-versionen). Och hantera minne själv beror helt på vad du vill göra. Olika verktyg för olika typer av jobb helt enkelt
Ursprungligen inskrivet av saddam
Jag tycker diskussionen om att MS är för öppen kod eller inte, inte riktigt hör till saken. Men att diskutera C# eller Java eller C++ tycker jag hör till tråden? Vilket språk ska man lära sig? Då bör man diskutera olika språk? Eller?
Gosh,
Hela specifikationen på för Scheme är på 24 sidor. Har du den specen kan du skriva en Lisp interpretator. Specifikationen för C++ är på över 800 sidor. Om det inte är bloat, så vet jag inte. Visst, C++ används när man måste ha höga prestanda, men nu förtiden är prestanda billigt och programmerarna dyra. Då behövs inte C++ ofta, förutom vid vissa få tillfällen. Jag tycker C++ är kraftfullt, men väldigt meckigt. Jag tycker att minneshantering ska man inte själv behöva hålla reda på, t.ex.
Se där, ser ut som att vi alla har fått en lite trevligare ton. Stressiga tentaveckor + jobb + jul som närmar sig brukar ge en lite bitskare attitud... om du läser igenom några av dina egna inlägg så kommer du nog se att det gäller inte bara "oss andra"
För att få ut det mesta av en applikation så behöver man hålla reda på minnet. Grafiska applikationer m.m. där beräkningskraft är viktigt finns det fortfarande ganska gott om, även om kostnaden för att utvekla i lågnivåspråk(tid) v.s. prestandan blir mindre så håller c/c++ i sig länge än. Att hålla reda på minneshantering är en vanesak, när man väl har vant sig vid hur man ska arbeta så saknar man det emellanåt när GC'n tar över.
Att C# skulle vara/kommer bli bloatat vet jag inte om jag kan hålla med om. Överlagring av operatorer är någonting som jag alltid saknat i java, känns inte som att det någonsin kommer att skapas där. Föredrar nog ett "bloatat" språk om jag får den funktionaliteten som jag trivs med i slutändan.
Ursprungligen inskrivet av saddam
Faktum är att NASDAQ OMX, som driftar nordiska aktiebörsen försökte göra ett nytt aktiesystem nyligen, som heter Genium. Genium skulle köras på Windows och skrevs i C#. Men det gick inte. Windows var inte tillräckligt stabilt. MS hade flera av sina bästa Windows experter där under lång tid, men Windows kunde inte att garantera stabilitet. En aktiebörs som handlar för många miljarder kr varje dag, får inte strula. Så man fick byta till Linux och Java istället. windows är bra till mycket, men när det gäller stora servrar så får windows problem.
Det här är väl inte helt riktigt? Genium var till en början utvecklat av OMX och då NASDAQ köpte upp OMX blev Genium ersatt med en delar av OMX's Genium project samt delar av existerande NASDAQ's teknologi.
on the internet since 1993
[ Geek - Dad - Programmer - RC enthusiast - Technology evangelist ]
Basically, you’re the guy who survived the shipwreck because you had a lifeboat, and now you’re standing on the shore telling the people still drowning that the ocean isn’t that bad.
Ursprungligen inskrivet av saddam
Gosh,
Hela specifikationen på för Scheme är på 24 sidor. Har du den specen kan du skriva en Lisp interpretator. Specifikationen för C++ är på över 800 sidor. Om det inte är bloat, så vet jag inte. Visst, C++ används när man måste ha höga prestanda, men nu förtiden är prestanda billigt och programmerarna dyra. Då behövs inte C++ ofta, förutom vid vissa få tillfällen. Jag tycker C++ är kraftfullt, men väldigt meckigt. Jag tycker att minneshantering ska man inte själv behöva hålla reda på, t.ex.
Nu undrar jag lite hur mycket du programmerat? det är en sak och läsa om programmering, en helt annan sak och göra ett program
Python (lisp var länge sedan jag testade) är ju lätt och smidigt och programmera i, men skall du göra ett program för kunder så har det inte en chans mot C++ om programmeraren är duktig på C++. Samt att många typer av program är omöjliga och göra i python.
Att kunna sköta minneshanteringen är avgörande många gånger för att få upp prestanda, och vill du inte sköta den själv så kan du lätt använda dig av något egen funktionalitet som har hantering för det. Det är ju just det som är poängen med C++, du förenklar utvecklingen själv genom att anpassa koden (bl.a. det är det objektorientering går ut på).
Ett bra språk är inte ett språk där det är så enkelt som möjligt och komma igång, ett bra språk är ett språk som är enkelt och komma i mål med.
Att använda antalet sidor i en specifikation för att avgöra hur komplext ett språk är, det är liksom inte rätt. Du kan koda i C även om du sitter i C++ miljö, man behöver inte använda allt, ofta använder man bara en bråkdel av språkets möjligheter.
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av saddam
AZOAPES,
Tagga ned lite. Du behöver inte ta det personligt. Jag kritiserar MS, inte dig. Du behöver inte omedelbart komma med personangrepp genom att påstå att mina åsikter inte är värda något, eftersom jag inte kan något om programmering.
Jag har sagt att MS och MS folket är generellt för stängd kod. Och flera här säger att det stämmer inte alls, MS folket är för öppen kod. I samma andetag förklarar alla de att det vore dumt av MS att öppna sin kod, att det är bättre att MS har stängd kod. Tack för att ni bevisar mitt påstående: att allt MS folk är för stängd kod.
Personangrepp tycker jag inte att jag kommer med, men faktum kvarstår att du fortfarande inte har svarat på om du ens programmerat en enda rad i något som helst språk alls. Och du har tidigare påstått att du har gott om jord under fötterna för att kunna delta i diskussionen, men ändå svarar du inte på en enda av mina detaljfrågor som har med programmeringen att göra. Du ger exempel på Hello World-program i två språk och tror att det återspeglar språkens likhet för att det syntaxmässigt ser likadant ut. Och sen jämför du med LISP, som är av en helt annan paradigm än OO-språken vi innan diskuterat, och säger att det ju är mycket mer annorlunda. Konstigt, grabben. Att du då efter dessa uppenbart klumpiga och tafatta försök att bevisa något fortfarande tycker dig kunna ha objektiva åsikter, leder lätt till personangrepp i ett offentligt programmeringsforum.
Du verkar vara av uppfattningen att världens fjärde största IT-företag (kollade marknadsvärde på Wiki) som finns i 100 av alla 195 länder och har nära 90 000 anställda, inte kan välja att satsa på Open Source samtidigt som de fortsätter utveckla och sälja Office med stängd kod? Du tror att de bara kan välja ett av alternativen? Alla Sun Microsystems produkter är inte open source. Alltså är inte Sun för öppen källkod. Är vi överens då? Detta är faktiskt ett programmeringsforum, C# är öppet och så är även Java. Allt eftersom Monoprojektet fortskrider går .NET också vidare mot nära inpå plattformsoberoende. Vad du tycker om MS skiter jag egentligen i, men TS ska få höra fakta och inte dina åsikter baserade på felaktiga fakta.
Ursprungligen inskrivet av azoapes
Ja det är bra nog off topic allt detta. Men det är intressant läsning tror jag, för de som varit med ett tag. Jag skulle dock säga att det inte räcker med att lära sig ett språk bra för att kunna jämföra två språk Jag hittar faktiskt inte vad du menar i texten, kollade på alla 3 sidor... du får gärna citera. Det enda jag hittade var att både Java och C# använder referenstyper (men C# har faktiskt pekare ganska lika C++) och att de båda exekveras i virtuella miljöer (men det är en del stora skillnader mellan JVM och CLI).
Men vi ska inte glömma huvudpoängen här. Jag påstod att det fanns större likheter mellan C# och C++ än C# och Java, och det ångrar jag faktiskt att jag skrev. Det är nämligen inte möjligt att jämföra två tekniker och få ut ett rätt svar om vilka som var mest lika varandra. Det är syntax, språk-features, semantik, teknikbaser, kompilator- och exekveringsteknik, det finns hur mycket som helst att gå in på. Hur man upplever två språk och vilka syften de har, vilken ideologi de bygger på och vilka användningsområden de är skapade för, etc. etc. C# och Java hade vissa mål gemensamt, då blir också resultatet liknande på vissa punkter, t.ex. syntax är ju ganska lika.
Det var bl.a. "However, C# and Java have more in common with each other than with C++, according to Gunnerson." jag tänkte på.
Men poängen, hur som helst, var att C# och Java inte är mer lika varandra än att man kan inse att det är två helt olika objektorienterade språk, vilket en viss dubbelexaminerad civilingenjör ovan inte verkar hålla med om. Ni använder båda argumentet att det var mer likt varandra förr, men vadå, räknas inte utvecklingen? Din länk är t.ex. från år 2003. Det har tillkommit hur mycket features som helst i C# sedan version 1.1 och det har även hänt väldigt mycket hos Java sedan år 2003, även om Sun som jag skrev tidigare är ökända för att utveckla Java riktigt långsamt.
Jag fick uppfattningen att diskussionen gick ut på varifrån C# kommit, som läget är nu efter C#3 tycker jag det känns som om Microsoft utvecklat det mer till ett eget språk om man får säga så.
Ursprungligen inskrivet av vb
"However, C# and Java have more in common with each other than with C++, according to Gunnerson."
Jag fick uppfattningen att diskussionen gick ut på varifrån C# kommit
Det där verkar vara reporterns/krönikörens egna slutsats av citatet från Gunnerson efteråt, som bara säger att båda språken exekveras i virtuella miljöer. Visst, det är en likhet, men ett naturligt val eftersom det visat sig fungera så bra och dessutom har JVM och CLR en del stora skillnader mellan sig.
Okej, det var inte min utgångspunkt. Saddam Hussein (personliga påhopp baserade på namn, som man gjorde i lågstadiet, is the shit!) här ovan påstod att C# var en kopia av Java, om det vore sant skulle utvecklingen också ha skett i samma riktning som Java, eftersom språken var så lika och hade så liknande syften och mål. Alltså är utvecklingen relevant.
Ursprungligen inskrivet av saddam
Jag tycker det är lite lustigt. Jag har sagt att MS och MS folket är generellt för stängd kod. Och flera här säger att det stämmer inte alls, MS folket är för öppen kod. I samma andetag förklarar alla de att det vore dumt av MS att öppna sin kod, att det är bättre att MS har stängd kod. Tack för att ni bevisar mitt påstående: att allt MS folk är för stängd kod. Lite lustigt att de inte förstår att de säger emot sig själva.
Som jag och många andra redan försökt förklara (verkar inte riktigt gå fram); att släppa källkoden till något man tjänar pengar på är självmord. Att släppa saker som C#, .NET och liknande fria är bra då det ökar intresset för företaget. Allt är inte svart och vitt, ibland måste man kompromissa och det är det Microsoft gör i dagsläget. Monokromism ger en ganska naiv världsbild.
Ursprungligen inskrivet av jdv
Är det inte tentor nu så ni får nått annat att göra än att språkkriga, det är väldigt OT nu.
Måste ju tentaflykta lite också
Ursprungligen inskrivet av gosh
C++ är otroligt genomtänkt men det är inte gjort för att vara enkelt och lära, det är gjort för att man skall kunna skapa bästa möjliga applikation. Det är ingen slump att de flesta program som måste uppfylla en del krav och är konkurrensutsatta är skrivna i C++
Nah, otroligt genomtänkt tycker jag inte att det är. Nog för att C++ är bra och kraftfullt men bakåtkompatibiliteten med C gjorde C++ till ett rörigt språk.
Blogg. Webboken. Pinboard, Last.fm, Facebook, Kongregate. W3fools.
Validera din HTML, men skryt inte om att du gör det.
Använd HTML5 och kom ihåg semantiken!
Jag har under de senaste två åren lärt mig programmera i stort sett från grunden. Visst hade man hållit på lite med Qbasic för hundra år sedan och kanske en gnutta STOS/AMOS när det begav sig, men något modernt programmeringsspråk hade jag inte rört. Jag började med en Python-kurs och färskade upp minnet med alla datatyper osv. Sen läste jag objektorienterad design i Java och byggde vidare från den kursen. Måste säga att Java är ett bra språk att lära sig. Använder Eclipse och tycker det är väldans bra. Java har väldigt lätt syntax tycker jag, så jag kunde koncentrera mig på att förstå konceptet objektorienterad design. När man väl börjat greppa hur bra det är att skriva objektbaserat och hur man gör när man designar ett program så började det bli riktigt kul. Skaffade mig senare XNA game studio från Microsoft för att testa på, och där var det C# som gällde. Det var väldigt enkelt att gå från Java till C#. Väldigt mycket är exakt likadant.
Kort sagt, jag rekommenderar Java. Kanske en liten kort sväng med Python först för det är himla lätt att greppa.
DAN Cases A4-SFX | AMD Ryzen 7 9800X3D | Thermalright AXP90-X47 Full Copper |
INNO3D GeForce RTX 4070 Ti SUPER 16GB Twin X2 | Kingston 32GB (2x16GB) DDR5 6000MHz CL30 | ASUS ROG Strix B650E-I Gaming WIFI | Samsung 960 EVO 1TB | Corsair SF-600
On Topic
Tjenare, för att åtegå till ursprungliga frågan om bra tutorials/övningar/språk mm så skulle jag vilja tipsa om http://codekata.pragprog.com/ där en vettig kille/gubbe har designat ett gäng bra övningar och har en hel del vettigt att säga.
Det är inte platformsbundet utan själva iden är att man ska inte binda sig vid ett sätt att göra saker på utan bör bli bra på att programmera snarare än att programmera språk X.
Kanske inte helt lämpat om du är total rookie men även då kan det vara bra.
Börja med kata 1 och läs runt lite på sidan.
lycka till
//nirmah
Ursprungligen inskrivet av You
Nah, otroligt genomtänkt tycker jag inte att det är. Nog för att C++ är bra och kraftfullt men bakåtkompatibiliteten med C gjorde C++ till ett rörigt språk.
Så säger en hel del som inte kan språket
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av emigrating12
Det här är väl inte helt riktigt? Genium var till en början utvecklat av OMX och då NASDAQ köpte upp OMX blev Genium ersatt med en delar av OMX's Genium project samt delar av existerande NASDAQ's teknologi.
Vad är det som inte är riktigt? Det är så, som jag beskrev. OMX byggde sin Genium på Windows, men det dög inte. Så man bytte till Linux och java. Nu har Nasdaq bestämt att delar av Genium ska ersättas av Nasdaqs aktiesystem, men många delar ska behållas. Det du säger, motsäger inte det jag säger.
JDV,
när jag läste på KTH så var specifikationen för Scheme just då på 24 sidor. Och specen för C++ var just då, på över 800 sidor då, och inte klart. Om Scheme specen numera har utökats så det är 94 sidor, känner jag inte till. Men det är mycket möjligt att det är sant.
Peo_Bond,
Ja, det är inte jag som säger att andra är idiotiska eller okunniga och obildade? Inte heller ifrågasätter jag andra personers kunskaper?
Själv tycker jag inte om bloat. En matematiker tycker att ju mindre, desto bättre. Har du ett bevis på 2 sidor, eller en annan version på 2 rader, så gillas 2 raders versionen mycket mera.
Stoppar du in så många funktioner som möjligt i ett språk, så får du något stort och otympligt. Typ, Perl som verkligen är fult språk. Jag har hört att Python är förhållandesvis litet och rent. Sånt gillar jag. Det finns många C++ programmerare som använder endast en liten delmängd av språket. Det kan bli lite problem. Vad händer om de tar över kod där en annan delmängd används?
Jag föredrar små snygga språk, framför stora monster som få behärskar.
GOSH,
Vadå lisp inte har en chans mot C++ om man ska koda ett system för kunder? Du verkar tro att C++ duger till allting? FYI, det finns problem som C++ inte är vidare lämpat för. T.ex jag hörde att koppla ihop 2 telefoner i C++ tog en halv MB kod, i Erlang gjorde jag samma sak på några hundra rader. Jag hörde om en pekar bugg i C++ som sänkte halva USAs västkust telefoner. Pekare kan orsaka många svårhittade buggar och bör undvikas. Eller t.ex. AI, när det gäller AI så ska man definitivt undvika C++. Då är det bättre att göra logiken i typ Lisp eller Prolog och haka på ett GUI i Java eller C#.
Att avgöra hur komplext ett språk mha antalet sidor en spec är på, är inte helt rätt, nej. Men det är ett bra riktmått i brist på annat tycker jag. Du kanske inte har läst algoritmisk informationsteori? Men där säger man ungefär, att ju mer som krävs för att beskriva något, desto komplexare är det. Och applicerar man det på C++ och Scheme, så får man en enkel slutsats. Jag säger inte att det är rätt att göra så, men det är många som säger att C++ är komplext. Även C++ experter brukar säga att C++ är komplext och har många funktioner som tar lång tid att behärska. Den enda som inte säger så, är den som inte har andra språk att jämföra med.
AZOAPES,
Jag tycker du drar märkliga slutsatser och har lite märkliga åsikter. Vad har det med saken att göra hur mycket jag programmerat? Varför är det så viktigt för dig? Jag har inte frågat hur mycket du programmerat, eller vilka examina du har? Är det bara folk som har en viss profil som får posta inlägg här? Måste jag skicka mina dubbla examensbevis till dig, och bifoga referenser i 2 kopior? Annars är mina åsikter inget värda? Jag förstår ärligt talat inte hur du tänker. Folk som läst mycket matte, tenderar att tänka lite annorlunda än andra. Och när jag läser dina inlägg så vet jag inte vad jag ska svara. Ett axplock:
"Saddam Hussein (personliga påhopp baserade på namn, som man gjorde i lågstadiet, is the shit!) här ovan påstod att C# var en kopia av Java, om det vore sant skulle utvecklingen också ha skett i samma riktning som Java"
Jag förstår inte hur du drar den slutsatsen du drar. Är man bevandrad i högre studier i logik så är slutsatsen käpprakt fel. FYI, om man gör en kopia, så måste inte utvecklingen ske i samma riktning. Som jag sade; C# var i början en ren kopia av Java, men nu har det utvecklats i lite annorlunda riktning. Men C# var fortfarande en kopia utav Java. Seriöst, jag förstår inte dina slutsatser eller hur du tänker.
"Alla Sun Microsystems produkter är inte open source. Alltså är inte Sun för öppen källkod." SUN har lovat att öppna upp allting, men det tar tid. Eftersom SUN inte hunnit öppna allt än, så betyder inte det att SUN är mot öppen sås. Märklig slutsats.
Däremot, att MS har endast lite småkrafs som öppen sås och alla deras nya stora projekt är stängd kod, får mig att tro att MS tänker behålla all sina nya viktiga projekt som stängd kod även i fortsättningen.
Och dina s.k. "detaljfrågor" om programmering tycker jag inte är relevanta eftersom de säger ingenting.
Men jag orkar inte tjafsa med dig. Du vinner. Du har rätt. MS är för öppen kod och C# var inte en kopia av Java.
YOU,
Om man verkligen är för öppen kod, så öppnar man sina viktiga projekt och alla nya viktiga projekt. Annars är det bara snack. Det är som ett företag säger "vi prioriterar miljön" och man planterar 1000 träd, men samtidigt så har man kvar sina gamla stora fabriker som sabbar allting runt omkring. Vore man verkligen för miljön, skulle man ändrar fabrikerna och ändra tillverkningsprocessen till något bättre, samt att alla nya fabriker som byggs är miljövänliga. Men fabriken har supportrar som säger "men det förstår du väl att om man bygger om fabrikerna och alla nya fabriker, så förlorar man massor av pengar, det vore självmord".
T.ex. mono, varför släpper inte MS koden fri om nu .NET är så öppet då? Nej, istället måste Novell skriva koden åt MS. Idioti att tvingas duplicera arbete. De som jobbar med mono får inte titta på .net koden. För licensen är sån, skriver du kompilatorer m.m i Windows med konkurrende teknik, så får du inte titta på .net koden. Jobbar du inte med sånt, så kan du få titta på koden. Men koden är inte fri. Du får bara titta på koden. Du får inte göra vad du vill med den. Det är ungefär som att säga att "ntfs är öppet, det är bara att reverse enginera ntfs". Jovisst är .net öppet, du får titta på koden men du får inte göra något med den. Du får inte ladda ned den och jobba vidare med den. Och har du råkat titta på koden så är du förbjuden att jobba med liknande saker.
Jovisst har MS en del öppna projekt. Men det betyder inte att MS verkligen tagit öppen sås till sitt hjärta. MS är inte öppen sås. Det är bara en liten del av MS. Och inte en viktig del heller.
Ursprungligen inskrivet av saddam
GOSH,
Vadå lisp inte har en chans mot C++ om man ska koda ett system för kunder? Du verkar tro att C++ duger till allting? FYI, det finns problem som C++ inte är vidare lämpat för. T.ex jag hörde att koppla ihop 2 telefoner i C++ tog en halv MB kod, i Erlang gjorde jag samma sak på några hundra rader.
hmmm, nu avslöjar du en del brister i kunskaperna om programmeringspråk.
Du jämför storleken på ett program med antalet rader i ett annat språk.
Vet du om en sak, om något utvecklat ett bibliotek som passar exakt de som de skulle göra för att koppla ihop två telefoner till C++ så kanske man hade lyckats göra programmet på under 10 rader
Det har inte med språket och göra utan det har med medföljande bibliotek och göra. Python har exempelvis massor av funktionalitet som "följer med" som standard men det är fortfarande externa bibliotek. Det kryllar av bibliotek för diverse funktionalitet som man kan använda sig av.
Om det gick och göra på lite kod med Erlang så har det enbart och göra med att det fanns ett externt bibliotek med som passade för vad man skulle göra.
Ursprungligen inskrivet av saddam
Även C++ experter brukar säga att C++ är komplext och har många funktioner som tar lång tid att behärska. Den enda som inte säger så, är den som inte har andra språk att jämföra med.
ja det är komplext men en bättre beskrivning är att det är fritt. Du har otroligt mycket möjligheter i C++, andra program stryper möjligheterna för att det finns för många dåliga programmerare som inte klarar av hantera friheten, de gör då för mycket fel och de borde aldrig börjat koda i C++.
Behärskar man däremot språket så har andra språk inte en chans
Sätter du en person i en Formel 1 bil som är dålig på att köra bilen så kommer denna person och köra av vägen i första kurvan. Om du däremot låter en utbildad förare som behärskar bilen köra den, ja då kommer andra typer av bilar inte ha en chans.
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av saddam
Peo_Bond,
Ja, det är inte jag som säger att andra är idiotiska eller okunniga och obildade? Inte heller ifrågasätter jag andra personers kunskaper?
Själv tycker jag inte om bloat. En matematiker tycker att ju mindre, desto bättre. Har du ett bevis på 2 sidor, eller en annan version på 2 rader, så gillas 2 raders versionen mycket mera.
Stoppar du in så många funktioner som möjligt i ett språk, så får du något stort och otympligt. Typ, Perl som verkligen är fult språk. Jag har hört att Python är förhållandesvis litet och rent. Sånt gillar jag. Det finns många C++ programmerare som använder endast en liten delmängd av språket. Det kan bli lite problem. Vad händer om de tar över kod där en annan delmängd används?
Jag föredrar små snygga språk, framför stora monster som få behärskar.
Du hoppar på mer eller mindre alla som kodar i .Net när du påpekar att "C# är för GUI och annat tjafs". Sen när du drar slutsatsen att ett företag är emot OSS om de inte öppnar all sin kod, då är det många som undrar om allt står rätt till ;). Då du effektivt drar slutsatsen att dina egna fördomar mot en språk är vetenskapliga fakta. Detta leder till irritation där folk försöker peka på felaktigheten i din logik, vilket inte hjälper(gör det aldrig ) och diskutionerna spårar ur.
Där finns en viss gräns när språk är för mycket eller för lite. "Less is more" stämmer inte alltid. Om man utelämnar diverse funktioner för att hålla ner specifikationen så känns det som att något kanske inte riktigt stämmer. Annars så finns ju alltid Brainfuck för de som vill ha minimalisk spec, den borde inte vara på många sidor...
I C# så har du ett underbart sätt att skapa databasapplikationer, men även diverse Containers och nya "datatyper". Om jag skulle skapa en "MegaInt" så är det ganska givet att jag vill kunna skriva megaInt++;
SUN kanske tänker igenom vart steg de tar, men som det ser ut nu så känns det mer och mer som att utveklingen avstannat. Sisst jag hörde något så slutande en av grundarna till java och skulle göra ett nytt språk av den enkla anledningen att alla ideér som fanns om hur man kunde förbättra java stoppades. Kommer där någonsin några nya större förändringar till java undrar jag... Om någonting inte utveklas så kommer dö ut bra mycket snabbare än om det vidareutveklas. Detta gäller allt, även programmeringsspråk(Enligt min åsikt iaf)

Ursprungligen inskrivet av gosh
hmmm, nu avslöjar du en del brister i kunskaperna om programmeringspråk.
Du jämför storleken på ett program med antalet rader i ett annat språk.
Vet du om en sak, om något utvecklat ett bibliotek som passar exakt de som de skulle göra för att koppla ihop två telefoner till C++ så kanske man hade lyckats göra programmet på under 10 rader
Det har inte med språket och göra utan det har med medföljande bibliotek och göra. Python har exempelvis massor av funktionalitet som "följer med" som standard men det är fortfarande externa bibliotek. Det kryllar av bibliotek för diverse funktionalitet som man kan använda sig av.
Om det gick och göra på lite kod med Erlang så har det enbart och göra med att det fanns ett externt bibliotek med som passade för vad man skulle göra.
ja det är komplext men en bättre beskrivning är att det är fritt. Du har otroligt mycket möjligheter i C++, andra program stryper möjligheterna för att det finns för många dåliga programmerare som inte klarar av hantera friheten, de gör då för mycket fel och de borde aldrig börjat koda i C++.
Behärskar man däremot språket så har andra språk inte en chans
Sätter du en person i en Formel 1 bil som är dålig på att köra bilen så kommer denna person och köra av vägen i första kurvan. Om du däremot låter en utbildad förare som behärskar bilen köra den, ja då kommer andra typer av bilar inte ha en chans.
Eller så är det du som avslöjar dina brister i andra programmeringsspråk? Jag tog upp Erlang som ett exempel där C++ inte är lämpat. Det finns massor av andra domäner där C++ är helt fel. T.ex. AI som jag nämde. Om du hade läst en kurs i programmeringsparadigmer så skulle hålla med mig att olika paradigmer passar för olika problem. Jag försökte säga dig att om du väljer rätt paradigm för ett problem så får du ned antalet kodrader mycket. Så nämde jag Erlang som ett exempel. Och utifrån det, drar du nästan slutsatsen att jag inte kan programmera? Paradigmer handlar inte om biblioteken. Om du tror det, så tror du fel. Det är själva språket som är annorlunda konstruerat och tillåter dig att lösa vissa typer av problem på ett enkelt sätt. Jag rekommenderar att du läser en kurs i paradigmer, istället för att säga att andra har bristande kunskaper i programmering.
Alltså, för vissa typer av problem så är C++ oslagbart. Men C++ är inte designat för alla problemdomäner. Att bedriva seriös AI forskning i C++ är ungefär som att försöka göra ett FPS spel i prolog. Det går, men vissa språk duger bättre för vissa problem än andra. Och C++ duger till mycket, men inte till allt. Jag förstår inte varför du tror att C++ passar till alla problemdomäner, "behärskar man språket så har andra språk inte en chans"?
Du vet vad Linus Torvalds anser om C++ va?
http://thread.gmane.org/gmane.comp.version-control.git/57643/...
Jag själv håller inte med Linus. Jag tycker C++ är mycket effektivt och the language of choice när man måste pressa ut all prestanda. Men hur ofta gör en vanlig programmerare det? När jag läste doktorandkurs i numme så använde vi C++, och det är förståeligt pga alla tunga beräkningar på Cray datorn. Jag specialiserade mig på algoritmteori och diskret matematik på KTH, och lärde mig allt om hypereffektiva algoritmer och tunga beräkningar. Men seriöst, hur ofta har jag haft användning av ett uns av den senaste algoritmforskningen i mitt dagliga arbete? Inte ett dugg. Jag har aldrig gjort en NP reducering i polynomiell tid, på arbetet. Det är mycket få programmerare som sysslar med högpresterande beräkningar, och för dem är C++ ett mycket bra val. (Även om de flesta numme forskare som verkligen måste ha maximal prestanda använder Fortran för det är snabbare än C++, men Fortran gillar jag inte alls). Men för dussinprogrammerarna så är Java eller C# antagligen ett bättre val.
Det är som civ.ing.: hur många civ.ing. använder ett uns av all den matte de lärde sig? Inga alls nästan. De flesta är projektledare, dussinprogrammerare för något administrativt system, konsult, chef eller nåt sånt. Det är inte många alls som sysslar med forskning eller matte. Tyvärr.
Jovisst är en Formel 1 bil snabbast och bäst. På vägar med mycket raksträckor. Men du kan inte påstå att en F1 bil är bäst verktyg för moster agda. Eller för nån som bor i vildmarken med mycket översvämningar, kanske är jeepen bättre för honom. Förstår du inte att en F1 inte alltid är lämpligast? Visst är den snabbast, men det finns situationer när en F1 ska undvikas. Jag förstår inte hur du tänker?
Peo_Bond,
Angående att C# är till för GUI och sånt, så relaterar jag bara till de system jag träffar på i mitt jobb. De stora serversystemen är alltid i C/C++ eller Java på Unix eller OpenVMS. Klient applikationerna som vanliga användare kör, sitter på Windows och där är det C# som gäller. Jag har aldrig sett ett stort serversystem i C#. Du vet, jag hittar inte på detta, det finns flera programmerare som gjort den observationen. Men du kanske ser stora serversystem i C# varje dag. Jag har aldrig gjort det dock.
Ursprungligen inskrivet av saddam
Peo_Bond,
Angående att C# är till för GUI och sånt, så relaterar jag bara till de system jag träffar på i mitt jobb. De stora serversystemen är alltid i C/C++ eller Java på Unix eller OpenVMS. Klient applikationerna som vanliga användare kör, sitter på Windows och där är det C# som gäller. Jag har aldrig sett ett stort serversystem i C#. Du vet, jag hittar inte på detta, det finns flera programmerare som gjort den observationen. Men du kanske ser stora serversystem i C# varje dag. Jag har aldrig gjort det dock.
Du får gärna rätta mig om jag har fel, men hur många större serversystem skrivna i java fanns det för 6år sen? C# är trots allt lite yngre och har därmed inte riktigt samma förutsättning än. Om jag ska sia om framtiden så skulle jag tro att det kommer fler serversystem efter hand, men jag tror inte att det kommer vara i samma utsträkning som java. Men att C# skulle på något sätt vara olämpligt för serverapplikationer känns som ett underligt uttalande.
saddam Det är inte första gången man läser någon som sitter och läser teori och som "vet", det är absolut inte sista gången heller.
Jag säger bara, delta i något större projekt så får du se själv.
Slog även upp erlang: http://sv.wikipedia.org/wiki/Erlang_(programspr%C3%A5k)
citat:
Erlang är ett generellt programspråk från början utvecklat av telebolaget Ericsson för att användas i hårdvara för telekommunikation. Det är egentligen en fullständig runtime-miljö och innefattar delar som vanligtvis annars ingår i operativsystemet.
Okeey alltså om ericsson utvecklar ett slags skriptspråk som det kanske från första början gjort i C++ (nu råkar jag veta att ericsson har en del misslyckade projekt i C++ och kanske blivit lite skrajja, de verkar inte haft riktig kompetens i det språket) så anser du att det språket är bättre än C++ för att C++ genererar mer kod?
Här har du en parser utvecklad i C++ så kan du hitta på vilket språk du vill
http://www.boost.org/doc/libs/1_37_0/libs/spirit/classic/inde...
men tänk på att det i grunden är C++ från början.
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av gosh
saddam Det är inte första gången man läser någon som sitter och läser teori och som "vet", det är absolut inte sista gången heller.
Jag säger bara, delta i något större projekt så får du se själv.
Slog även upp erlang: http://sv.wikipedia.org/wiki/Erlang_(programspr%C3%A5k)
citat:
Erlang är ett generellt programspråk från början utvecklat av telebolaget Ericsson för att användas i hårdvara för telekommunikation. Det är egentligen en fullständig runtime-miljö och innefattar delar som vanligtvis annars ingår i operativsystemet.
Okeey alltså om ericsson utvecklar ett slags skriptspråk som det kanske från första början gjort i C++ (nu råkar jag veta att ericsson har en del misslyckade projekt i C++ och kanske blivit lite skrajja, de verkar inte haft riktig kompetens i det språket) så anser du att det språket är bättre än C++ för att C++ genererar mer kod?
Här har du en parser utvecklad i C++ så kan du hitta på vilket språk du vill
http://www.boost.org/doc/libs/1_37_0/libs/spirit/classic/inde...
men tänk på att det i grunden är C++ från början.
Snarare så påpekade han självklarheten att ett specifikt språk inte är "bäst" utan man bör välja språk efter vad man ska koda... T.ex. så är det inte lämpligt att skapa en flashig GUIapplikation i asm och lika illa vore det att skapa ett "next gen" spel i prolog.
saddam må ha sagt många underliga saker, men de var inte en av dem enligt mig
Ursprungligen inskrivet av Peo_Bond
Snarare så påpekade han självklarheten att ett specifikt språk inte är "bäst" utan man bör välja språk efter vad man ska koda... T.ex. så är det inte lämpligt att skapa en flashig GUIapplikation i asm och lika illa vore det att skapa ett "next gen" spel i prolog.
saddam må ha sagt många underliga saker, men de var inte en av dem enligt mig
vilket språk man väljer har mycket mer med skickligheten hos programmeraren och göra
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av gosh
saddam Det är inte första gången man läser någon som sitter och läser teori och som "vet", det är absolut inte sista gången heller.
Jag säger bara, delta i något större projekt så får du se själv.
Slog även upp erlang: http://sv.wikipedia.org/wiki/Erlang_(programspr%C3%A5k)
citat:
Erlang är ett generellt programspråk från början utvecklat av telebolaget Ericsson för att användas i hårdvara för telekommunikation. Det är egentligen en fullständig runtime-miljö och innefattar delar som vanligtvis annars ingår i operativsystemet.
Okeey alltså om ericsson utvecklar ett slags skriptspråk som det kanske från första början gjort i C++ (nu råkar jag veta att ericsson har en del misslyckade projekt i C++ och kanske blivit lite skrajja, de verkar inte haft riktig kompetens i det språket) så anser du att det språket är bättre än C++ för att C++ genererar mer kod?
Här har du en parser utvecklad i C++ så kan du hitta på vilket språk du vill
http://www.boost.org/doc/libs/1_37_0/libs/spirit/classic/inde...
men tänk på att det i grunden är C++ från början.
Du behöver inte avfärda mig genom att säga att jag är mindre vetande än dig? Det är lite lustigt, du vet absolut ingenting om mig, och du uttalar dig om vad jag kan och inte kan. Tänk om jag är bäst i Sverige på C++ och sitter här på swe? Vad sägs om att vara lite mindre tvärsäker på vad jag kan och inte kan? Så ska jag inte avfärda dig på samma sätt som du avfärdar mig.
Angående att Ericsson inte har kompetens i C++, därför att de har misslyckats med en del C++ projekt: Jag vet inte om du läste mitt inlägg riktat mot dig? Där skriver jag att "för att koppla upp två telefoner (mot en telefonväxel) krävdes en halv MB C++ kod, och i Erlang krävdes det några hundra rader". Erlang koden var väldigt simpel att förstå och elegant, man använde sig inte alls av några komplexa bibliotek som gjorde jobbet. Allt handlade om process hantering, att skapa processer och skicka mess till varandra. Det är Erlangs styrka och vad det designats för; distribuerade system.
Så om något så simpelt att koppla upp två telefoner kräver en halv MB C++ kod, hur mycket tror du krävs för ett helt system? C++ kräver typiskt 10-20 ggr mer kod än Erlang, har jag läst nånstans i en studie. Skalar vi upp detta till ett helt server system, så kommer du att få koda C++ med alla pekare och minneshantering själv, kanske skriva 10 MB ren C++ kod? Och jag kanske klarar mig med några tusen rader Erlang. Men jag är inte lika säker som du, på att om Ericsson tagit in dig och några andra C++ experter, så hade ni lyckats med alla C++ projekt och ni skulle skrivit ett helt telefonsystem på några månader. Producerat 10 MB kod och miljoner rader C++ kod, helt buggfritt och inga pekarfel.
Är du verkligen sann, när du förespråkar C++ i alla lägen? Varför det? För att man skriver många system i C++? Men isåfall; asm eller binär exe kod är ännu bättre än C++, för det är det, som körs. Men så kan man ju inte tänka? Jag förstår seriöst inte hur du kan uttala dig om problemen som Ericsson försökte lösa när de tvingades skapa Erlang, därför att C++ inte var lämpat för massiva distribuerade system? Det finns inte bättre lämpade språk för sånt, än C++ menar du?
När det gäller process hantering är Erlang mycket mycket bra. En jämförelse mellan Apache och en webserver i Erlang ("Yaws" från wikipedia):
"Apache 2.0.39 with the worker MPM failed at 4,000 concurrent connections, while Yaws continued functioning with over 80,000 concurrent connections."
Är Apache skrivet i C++? Skulle inte förvåna mig. När det gäller distribuerade system så är Erlang överlägset:
"The estimated minimal overhead for each process is 300 words (4 bytes per word on 32-bit platforms, 8 bytes per word on 64-bit platforms), so many of them can be created without degrading performance (a benchmark with 20 million processes was tried)."
Jag har hört av min KTH lärare att Erlang är skriven i C. Att programmera parallella processer är enkelt i Erlang. Jag tror seriöst att något språk liknande Erlang löser problemet med svårigheten med flertrådad kod. Så får vi Erlang liknande språk, så kan vi få fler trådade program utan problem.
Min åsikt: C++ är till för experter. Nybörjare bör hålla sig till enkla språk och undvika C++.
För att parsa så föredrar jag lexx och yacc, men tack ändå.
"vilket språk man väljer har mycket mer med skickligheten hos programmeraren och göra"
Nej, det har det inte alls har jag påstått hela tiden. Läs en kurs i programmeringsparadigmer så kanske du ändrar uppfattning?
Peo_Bond
Jag förstår inte när folk säger att Java är dött. Java är uppskattat installerat på majoriteten av alla jordens alla datorer: Windows, Mac, Linux, Solaris, Unix, IBM stordatorer, etc etc etc. Nu pratar vi miljarder. 60 miljoner java runtimes tankas bara från SUNs hemsida en normal månad. Nästan alla nya mobiltelefoner kör Java, hur många miljoner mobiler är det? Finns det kanske miljarder mobiltelefoner? Alla Blu-Ray spelare kör Java, plus massa andra apparater. Det sker mycket utveckling på java sidan. Java 6 släpptes, med nya funktioner. Java 7 är på gång. Och nu har JavaFX precis släppts! En direkt konkurrent till Flash, så nu kan man skapa riktigt bra grafik och anropa Java kod direkt däri. JavaFX verkar jävligt coolt tycker jag och väldigt simpelt att programmera, vilket jag gillar. Dock finns JavaFX bara till Mac och Windows än, Solaris och Linux kommer senare.
Java dött? Nej, jag håller verkligen inte med. SUN hårdsatsar på Java. SUN bytte t.om. namn på sin aktie, från "SUNW" till "JAVA". Java är kanske det största språket på jorden just nu? Enligt tiobe.com så är Java det populäraste språket. Tiobe.com säger inte sanningen, men de ger ett hum. Se grafen:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.h...
Att C# aldrig hittas på stora servrar, kanske beror på att C# stödjs fullt ut, endast på Windows. (Mono räknas inte, utvecklingen laggar ju alltid efter. Vem vill köra seriösa system på Unix+Mono, när .NET finns?) Och vi vet ju alla hur ofta Windows kraschar. Jag tror säkert C# duger för att skriva stora system, men man vill helst inte köra stora system på Windows. Därför lär det antagligen dröja tills Windows får samma stabilitet som stora Unixar och IBM stordatorer, innan vi hittar C# på server system. När NASDAQ OMX skulle göra sitt nya aktiesystem på Windows och C# så gick det inte pga Windows. De bytte till Linux och Java. Det var alltså inte C# som satte stopp. Det var Windows som inte höll måttet. Först när Windows blir stabilt nog för stora serversystem, hittar vi C#. Låter denna spekulation rimlig?
Så hittills har jag hittat Java/C/C++ på stora servrar och C# som GUI klient front endor på PC. Aldrig har jag sett ett stort serversystem i C#.
Ursprungligen inskrivet av saddam
Det är lite lustigt, du vet absolut ingenting om mig, och du uttalar dig om vad jag kan och inte kan.
Korrekt, jag ser bara vad du skriver
Ursprungligen inskrivet av saddam
Där skriver jag att "för att koppla upp två telefoner (mot en telefonväxel) krävdes en halv MB C++ kod, och i Erlang krävdes det några hundra rader". Erlang koden var väldigt simpel att förstå och elegant, man använde sig inte alls av några komplexa bibliotek som gjorde jobbet. Allt handlade om process hantering, att skapa processer och skicka mess till varandra. Det är Erlangs styrka och vad det designats för; distribuerade system.
Ok, då frågar jag dig en sak. Utvecklar själv ett analysprogram som har en slags formelmotor, denna formelmotor kan läsa av kod och omvandla till intern funktionalitet i programmet. Det finns if satser och även loopar, nästan som ett litet språk. Applikationen är gjord i C++ men den går och anpassa.
Hur skulle du beskriva vilket språk applikationen är gjord i?
Om ett språk har ett sätt och beskriva hur trådar skapas så måste det ändå anpassa sig till processorns sätt och jobba. I ett objektorienterat språk som C++ kan du göra dina egna objekt som kapslar in objekten, sedan behövs det förmodligen väldigt lite kod för att göra samma sak som Erlang gör för det är precis vad språket Erlang gjort med. De har kapslat in funktionalitet och i Erlang's fall så gissar jag att de lagt med det som en komponent i utvecklingsmiljön.
Det går och komma ner till väldigt få rader om man drar objektorintering i absurdum. Det är dock inte alls samma sak som att man har ett program som är lätt och underhålla och rätta buggar i. Har någon annan gjort objekt och även rättat koden så har den självklart underlättat om man själv använder sig av den funktionaliteten men det har liksom inte med språket och göra. språket är syntaxen.
Programmerare med C++ som huvudspråk.
Ursprungligen inskrivet av saddam
Peo_Bond
Jag förstår inte när folk säger att Java är dött. Java är uppskattat installerat på majoriteten av alla jordens alla datorer: Windows, Mac, Linux, Solaris, Unix, IBM stordatorer, etc etc etc. Nu pratar vi miljarder. 60 miljoner java runtimes tankas bara från SUNs hemsida en normal månad. Nästan alla nya mobiltelefoner kör Java, hur många miljoner mobiler är det? Finns det kanske miljarder mobiltelefoner? Alla Blu-Ray spelare kör Java, plus massa andra apparater. Det sker mycket utveckling på java sidan. Java 6 släpptes, med nya funktioner. Java 7 är på gång. Och nu har JavaFX precis släppts! En direkt konkurrent till Flash, så nu kan man skapa riktigt bra grafik och anropa Java kod direkt däri. JavaFX verkar jävligt coolt tycker jag och väldigt simpelt att programmera, vilket jag gillar. Dock finns JavaFX bara till Mac och Windows än, Solaris och Linux kommer senare.
Java dött? Nej, jag håller verkligen inte med. SUN hårdsatsar på Java. SUN bytte t.om. namn på sin aktie, från "SUNW" till "JAVA". Java är kanske det största språket på jorden just nu? Enligt tiobe.com så är Java det populäraste språket. Tiobe.com säger inte sanningen, men de ger ett hum. Se grafen:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.h...
Att C# aldrig hittas på stora servrar, kanske beror på att C# stödjs fullt ut, endast på Windows. (Mono räknas inte, utvecklingen laggar ju alltid efter. Vem vill köra seriösa system på Unix+Mono, när .NET finns?) Och vi vet ju alla hur ofta Windows kraschar. Jag tror säkert C# duger för att skriva stora system, men man vill helst inte köra stora system på Windows. Därför lär det antagligen dröja tills Windows får samma stabilitet som stora Unixar och IBM stordatorer, innan vi hittar C# på server system. När NASDAQ OMX skulle göra sitt nya aktiesystem på Windows och C# så gick det inte pga Windows. De bytte till Linux och Java. Det var alltså inte C# som satte stopp. Det var Windows som inte höll måttet. Först när Windows blir stabilt nog för stora serversystem, hittar vi C#. Låter denna spekulation rimlig?
Så hittills har jag hittat Java/C/C++ på stora servrar och C# som GUI klient front endor på PC. Aldrig har jag sett ett stort serversystem i C#.
Jag säger inte att det är dött, bara att det kanske kommer att bytas ut snabbare om utveklingen av språket avstannar. Har inte hört någonting om Java 7, vilka nyheter kommer i den?
Försökte förgäves hitta några referenser om NASDAQ OMX allt jag hittade var att de gick över till linux för att deras kunder ville det. Om att de använde C#.NET hittade jag bara hörsägen i diverse kommentarer till nyheter om OMX. Har du någon referens så man kan få läsa vad som egentligen hände? Utveklingen på .NET har ju kommit en ganska bra bit sen .NET 1.0 så om det var tidigt i närheten av språkets födelse så är det knappast så underligt. Inget är stabilt i början, vilket alla här säkert vet.
Att Windows skulle krasha ofta är en sak som ofta kommer upp men det finns vad jag vet en hel del windows servers där ute i den stora världen. Snarare så är det väl unixkommandona som man saknar när man har en windowsserver, priset spelar antagligen också en liten roll.
@gosh
Tycker snarare att om någon påstår något som att ett språk är bäst och det språket är objekt orienterat så säger det mer om vad den personen har programmerat än hur skicklig denna person är.
Ursprungligen inskrivet av gosh
Korrekt, jag ser bara vad du skriver
Ok, då frågar jag dig en sak. Utvecklar själv ett analysprogram som har en slags formelmotor, denna formelmotor kan läsa av kod och omvandla till intern funktionalitet i programmet. Det finns if satser och även loopar, nästan som ett litet språk. Applikationen är gjord i C++ men den går och anpassa.
Hur skulle du beskriva vilket språk applikationen är gjord i?
Om ett språk har ett sätt och beskriva hur trådar skapas så måste det ändå anpassa sig till processorns sätt och jobba. I ett objektorienterat språk som C++ kan du göra dina egna objekt som kapslar in objekten, sedan behövs det förmodligen väldigt lite kod för att göra samma sak som Erlang gör för det är precis vad språket Erlang gjort med. De har kapslat in funktionalitet och i Erlang's fall så gissar jag att de lagt med det som en komponent i utvecklingsmiljön.
Det går och komma ner till väldigt få rader om man drar objektorintering i absurdum. Det är dock inte alls samma sak som att man har ett program som är lätt och underhålla och rätta buggar i. Har någon annan gjort objekt och även rättat koden så har den självklart underlättat om man själv använder sig av den funktionaliteten men det har liksom inte med språket och göra. språket är syntaxen.
Jag förstår inte din fråga om vad applikationen är gjord i. Du skriver omedelbart ovanför att applikationen är gjord i C++, och sen frågar du vad applikationen är gjord i? *Fattar ingenting*
Så här, beroende på vad för problem du försöker lösa, så väljer du rätt verktyg för det. I detta fall så pratar vi om språk som verktyg. Om man som du (gissningsvis) sysslar mest med vanlig Windowsprogrammering, så är C++ ett bra val, även jag personligen hellre skulle välja Java eller C#. Sysslar man med massiva distribuerade system så bör man inte välja C++. Det finns många olika problem där det finns mycket mer lämpade språk än C++. T.ex. inom numerisk analys där man vill göra massa matematiska beräkningar så fort som möjligt, så används ofta Fortran, eftersom det är snabbare än C++ på just sånt. Ska du skriva ett FPS spel så undviker du helst assembler och väljer C++ istället.
Vad skulle du säga om du träffade på en person som påstod att assembler är snabbare än C++ och därför ett bättre val att skriva ett FPS i? Nu vill jag gärna höra ditt svar på denna fråga. Shoot! Jag väntar.
Ditt analysprogram som du skriver, det låter som du inte studerat kompilatorteori och formella språk? Eftersom du skriver att "det är nästan som ett litet språk", men det är inget riktigt språk, utan bara "nästan"? Mao, hade du koll på hur lexx och yacc funkade skulle du istället gjort ett riktigt språk? Nu låter det som du sitter och parsar språket själv med egna påhittade metoder, utan att riktigt kunna kompilatorteori? Du vet, kompilatorteori är inte så svårt faktiskt. Om du använde dig av riktiga verktyg, såsom lexx och yacc eller hellre flex och bison, skulle du ganska enkelt kunna göra egna riktiga språk, som klarar av bl.a. rekursion. Det låter som ditt språk inte klarar av rekursion? Rekursionsproblem brukar typiskt uppstå när någon programmerare utan datavetenskaplig utbildning gör någon eget påhittad parsningsmetod, istället för att slå upp hur man gör "på riktigt" i riktiga kompilatorer. Eller har jag fel? Har du kollat på kompilatorteori?
Att få ned koden till få rader, genom att istället anropa stora komplexa klasser, är inte vad jag menar. Du verkar inte riktigt förstå vad jag menar? Har du erfarenhet av olika paradigmer? Har du sett hur man löser problem i olika paradigmer, vad som utmärker dem och skiljer dem? Det verkar inte så, pga dina frågor du ställer? Man säger att folk som programmerat funktionellt, blir mycket programmerare rent generellt. Och även programmeringsgurus säger att man måste kunna ett språk från varje paradigm, om man är en seriös programmerare. Att bara grotta in sig i C++ är en dålig ide. Det finns massa andra häftiga ideer i andra språk som gör dig till en bättre programmerare, om du lär dig de andra ideerna.
Det som en kille som bara kan addera, och gör det jävligt snabbt. Och han säger: "äsch, multiplikation och alla andra räknesätten är ju onödiga, om jag kan addera jävligt snabbt så räcker det". Jag tror seriöst att du ska börja titta på andra paradigmer. Det skulle göra dig till en mycket bättre programmerare. Jag föreslår att du läser hela denna bok, SICP som handlar om Scheme:
http://mitpress.mit.edu/sicp/full-text/book/book.html
Den boken används i allra första datorkursen på M.I.T och användes även på KTH, när jag gick där. Om du klarar av den boken, så vet du hur du skulle klara av första kursen på en typiskt civ.ing. data utbildningen. Klarar du inte av den boken, så har du inget på ett civ.ing. program att göra. Men, boken är lätt. Själva språket Scheme är skitsimpelt, och beskrevs fullständigt på 24 sidor. Hela specen alltså. Nu verkar Scheme uppdaterat, men jag vet inte om bokens Scheme är uppdaterad.
Jag tror att om du gick en datavetenskaplig utbildning så skulle det gagna dig mycket. Du är helt uppenbarligen helt självlärd och det är bra. Men när man vill göra seriösa stora saker, så är det bra med teori. Typ, kompilatorteori, annars kan du inte göra ett riktigt språk. Eller om du vill göra ett FPS, för annars förstår du inte den linjära algebran om du vill skriva en grafik motor. Samma med fysikmotor, vilket kräver numerisk analys kunskaper.
77.7-73.2
Peo_Bond,
Angående källa på Nasdaq OMX, låt oss säga att jag känner en "person" som jobbar där. Så jag har inga länkar, nej. Problemet med C# och Windows på Nasdaq, var Windows. C# är ett bra språk och det dög för att skriva hela aktiesystemet, men eftersom MS bästa Windows experter inte kunde garantera de höga kraven fick man byta bort från Windows till Linux. Och bra version av C# finns inte till Linux (finns bara Mono). Så man fick byta bort till Java istället. Så problemet var inte C#, det var bra. Problemet var Windows. Men hade C# funnits till Linux så hade man sluppit slänga all C# kod, man kunde fortsatt med utvecklingen. Nu fick man börja om från början med Java istället.
Jag förstår inte varför de inte valde Java från början. Hade de valt Windows + Java så hade de kunnat fortsatt utvecklingen när de switchade över till Linux. Nu fick de slänga all kod, det kostade flera hundra milj kr. Men numera är det Java istället, så om de vill switcha tillbaka till Windows i framtiden, så går det utan större problem. Samma om de vill switcha till IBM stordator, det går oxå enkelt.
Men seriöst, Java och C# är ganska lika till uppbyggnaden och använder samma struktur och samma ideer. Kan man ett av språken så kan snabbt lära sig det andra, det är bara en annan dialekt. Typ som norska och svenska. Kan man svenska kan man lätt lära sig norska. Men det är svårare att hoppa mellan svenska och kinesiska, då måste man lära om från början och kan inte ha med sig något av kunskapen från svenska. Så kan man C# så kan man enkelt lära sig Java. Och tvärtom. Dessutom, när man söker jobb så är det oftast Java eller C# som efterfrågas. Då är det bra att kunna säga att man kan båda. Tänk om man vill in på ett drömföretag och just då är det bara Java som är ledig jobb? Och kan man bara C# så kanske man inte kommer in. Eller tvärtom. Jag tror det är bra om man kan båda lite grand. En programmerare bör kunna flera språk tycker jag. Och dessa är så lika, så man behöver inte lära om från början när man tittar på det andra. Man har inte slösat bort sin tid när man lärde sig det ena språket.
Angående nyheter i Java 7. Detta är bara rykten än så länge, men några av dessa nyheter kommer garanterat att dyka upp:
http://tech.puredanger.com/java7/
Angående JavaFX, här kan man prova några demos om man kör Windows eller Mac. Till Linux och Solaris finns inte JavaFX än:
http://javafx.com/samples/#0
Ursprungligen inskrivet av Peo_Bond
@gosh
Tycker snarare att om någon påstår något som att ett språk är bäst och det språket är objekt orienterat så säger det mer om vad den personen har programmerat än hur skicklig denna person är.
Ok. dessa språk har jag själv erfarenhet av (har gjort program i från start till slut)
Assembler (många år sedan)
C
C++
Java
C#
VB
Python
Basic
Forth
För många år sedan gjorde jag en del anpassningar till AutoCAD i lisp, även jobbat mycket med javascript och html (webserver applikationer).
C++ är SVÅRT! Men en programmerare som behärskar språket kan bli extremt effektiv. Jag tror det är svårt och förstå för dem som inte behärskar språket eftersom man då givetvis inte förstår hur det kan vara. Är man duktig i C++ så skall det VÄLDIGT MYCKET till för att använda sig av något annat just för att man är så mycket mer effektiv i C++.
En av de största orsaker till att företag väljer annat språk och utveckla applikationer i är just för att det är så svårt och hitta programmerare som är duktiga i C++
Ursprungligen inskrivet av saddam
Jag tror att om du gick en datavetenskaplig utbildning så skulle det gagna dig mycket. Du är helt uppenbarligen helt självlärd och det är bra. Men när man vill göra seriösa stora saker, så är det bra med teori. Typ, kompilatorteori, annars kan du inte göra ett riktigt språk. Eller om du vill göra ett FPS, för annars förstår du inte den linjära algebran om du vill skriva en grafik motor. Samma med fysikmotor, vilket kräver numerisk analys kunskaper.
*host* har hållt kurser i Avancerad C++ för civilingengörer m.m. som jobbat ett tag och vill vidareutveckla sig. Blivit erbjuden att undervisa på universitet.
Det är kanske det som är problemet, det finns mängder med teoretiker som läst sig till kunskap men de har aldrig gjort något större och vet inte vilka problem man ställs inför. De som råkar ha gjort större saker (råkar höra till den gruppen) har en erfarenhet man inte kan läsa sig till
Programmerare med C++ som huvudspråk.
Men herre gud saddam, gå och avlid i en garderob någonstans. Du snackar ju bara skit. Även om det du säger stämmer så är det irrelevant skitsnack du kan ta någon annanstans. Detsamma gäller er andra också.
Ditt analysprogram som du skriver, det låter som du inte studerat kompilatorteori och formella språk? Eftersom du skriver att "det är nästan som ett litet språk", men det är inget riktigt språk, utan bara "nästan"? Mao, hade du koll på hur lexx och yacc funkade skulle du istället gjort ett riktigt språk? Nu låter det som du sitter och parsar språket själv med egna påhittade metoder, utan att riktigt kunna kompilatorteori? Du vet, kompilatorteori är inte så svårt faktiskt. Om du använde dig av riktiga verktyg, såsom lexx och yacc eller hellre flex och bison, skulle du ganska enkelt kunna göra egna riktiga språk, som klarar av bl.a. rekursion. Det låter som ditt språk inte klarar av rekursion? Rekursionsproblem brukar typiskt uppstå när någon programmerare utan datavetenskaplig utbildning gör någon eget påhittad parsningsmetod, istället för att slå upp hur man gör "på riktigt" i riktiga kompilatorer. Eller har jag fel? Har du kollat på kompilatorteori?
Det här stycket till exempel är 100% pure skitsnack.
Ursprungligen inskrivet av gosh
Ok. dessa språk har jag själv erfarenhet av (har gjort program i från start till slut)
Assembler (många år sedan)
C
C++
Java
C#
VB
Python
Basic
Forth
För många år sedan gjorde jag en del anpassningar till AutoCAD i lisp, även jobbat mycket med javascript och html (webserver applikationer).
C++ är SVÅRT! Men en programmerare som behärskar språket kan bli extremt effektiv. Jag tror det är svårt och förstå för dem som inte behärskar språket eftersom man då givetvis inte förstår hur det kan vara. Är man duktig i C++ så skall det VÄLDIGT MYCKET till för att använda sig av något annat just för att man är så mycket mer effektiv i C++.
En av de största orsaker till att företag väljer annat språk och utveckla applikationer i är just för att det är så svårt och hitta programmerare som är duktiga i C++
Så jäkla svårt är det inte... men nåväl, det jag påpekar är bara att det är effektivare att använda sig av ett "Logic Programming" språk till att skapa t.ex. en viss typ av AI. Det går givetvis att göra detsamma i både C++/C#/java/asm men den tidsmässiga skillnaden i och med att du ska skapa bibliotek till ditt språk för att få ut samma funktionalitet är inte försvarbar.
Hade det funnits ett språk som vore klart "bäst" så hade det bara funnits ett språk. Nu finns det ett antal generella språk som kan användas till det mesta och ett antal språk som specificerar sig på vissa saker men gör det bättre än de generella.
Om ni ursäktar så ska jag gå och avlida i en garderob
Monkeh,
vad är det som är skitsnack i det stycket? Du kan väl peka ut det?
GOSH,
Om jag ska ha en lärare i C++ så väljer jag hellre en C++ expert, än nån som kan massor av teori men inte C++ så bra. Det är inte svårt att få hålla kurser, bara man är bra på det man gör. Jag har hållit många olika datakurser, men det bevisar inte något. Jag har varit med om riktiga tomtar som inte kunnat nånting, och ändå hållit kurs, därför att alla andra var upptagna. Så det spelar ingen roll om du hållit kurser i C++. Du kanske kan C++ bra, men inget annat. Typ. Du har väldigt smal kunskap. Du förstår inte saker jag försöker kommunicera, pga din bristande utbildning. Skulle du vara chef, skulle du föreslå C++ till alla situationer, med katastrof som trolig följd. Vad händer om du sitter på Ericsson och har 10 anställda och måste producera ett prototyp telesystem på ett år? C++ funkar verkligen inte då. Det blir katastrof.
Jag föreslår fortfarande att du skaffar dig en datavetenskaplig utbildning så du får lite bredd och teori. Som det är nu, så kan du inget annat än imperativa och objektorienterade språk. Tänk dig själv, med din skicklighet i C++ och dessutom teori kunskaper så skulle du bli grym! Då kan du göra FPS motorer, kompilatorer, etc - och förstå vad som händer i bakgrunden. Du kan förbättra och förändra algoritmerna. Förstår man inte teori, så måste man kopiera algoritmen av någon annan, och man förstår inte vad som händer. Det är en svaghet i mina ögon: Man kan bara använda teknik, inte vidareutveckla teknik. Jag kan förstå alla algoritmer och förändra dem och förbättra dem. Och göra helt nya.
Jaja, det är som sagt mitt tips till dig. Om du inte vill lyssna på det så förstår jag det. Vi kommer inte längre i diskussionen du och jag. Jag försöker förklara att C++ inte räcker till alla problem eller situationer, men du tror C++ är bäst till allting. T.ex. om du hade vilka libraries du ville, så skulle ändå telefonsystem C++ koden bli mycket större än motsvarande i Erlang. Det handlar inte om vilka bibliotek som följer med. Det handlar om själva språket och paradigmet. Inte biblioteken.
T.ex. om du ska lösa det berömda "Tornen i Hanoi" problemet. Om språket tillåter rekursion, så kan jag göra lösningen på 5 rader. Får man inte använda rekursion, och istället måste använda en iterativ lösning, så blir koden på minst 3-4 sidor - har jag hört. Så vissa problem lämpar sig lösas rekursivt, och andra inte. Kan man ingenting om rekursion, så sitter man i skiten - och det spelar ingen roll om det är C++ man använder. Det spelar heller ingen roll vilka bibliotek man får använda. Så jag försöker säga att språket bestämmer ens sätt att angripa ett problem. Använder du fel lösningsmetod, så blir koden lång och jobbig och komplex. Jfr telesystemet i C++ eller i Erlang. Halv MB kod mot några hundra rader. Det har inget med biblioteken att göra. Försök lösa "The tower of hanoi" iterativt i C++ så ska jag göra samma sak på 5 rader rekursivt i valfritt språk. Du kan få använda vilka libraries du vill. Så ska vi jämföra koden. Först då kanske du förstår vad jag menar med att vissa problem blir lättast att lösa med en viss lösningsmetod (dvs språk). Och du kommer att se att en iterativ lösning suger getp*ng - man kan inte förespråka iterativa lösningar för allt möjligt. Försöker man med en iterativ lösning ändå, så blir det katastrof. Man måste lära sig även rekursion. Din verktygslåda är liten, du måste göra den större. När det gäller vanlig smör-och-bröd programmering så räcker din verktygslåda, men datavetenskapen är stor. Du har begränsad kunskap om din lilla grej. Du kan bara två paradigm, alla språken är likartade. Du har aldrig provat ett främmande paradigm, där man tänker helt bakvänt jfrt med vad du är van vid.
Du menar att bara man har rätt bibliotek så duger C++ till alla problem och alla paradigm som finns. Jag menar att det är inte frågan om biblioteken som är det viktiga, det är själva språkets uttryckssätt det handlar om. Men du har ingen erfarenhet av andra paradigm uppenbarligen, av döma de språk du listade upp. Så det blir svårt att förklara detta för dig, jag kan inte skriva ned en hel kurs i programmeringsparadigmer här. Men du får tycka vad du vill. Vi har stött och blött detta lite, men ingen av oss har lyckats övertyga den andre, så då stannar vi här.
Peo_Bond,
LOL! Finns det plats även för mig, så jag oxå kan avlida där?
- Vad har ni i lön?14k
- Är du nördig inom Audio Interface? Vägled mig.1
- TV-guiden 2024/25 – diskussiontråden334
- Vad är bäst 32 tum 4K eller 34 tum ultrawide15
- Vad fan har hänt med laptop priser?32
- bitlocker frågor7
- Tradera ej hämtat paket. Vad gör man?48
- Plats för lite gubbgnäll13k
- Elbilar - Tråden för intresserade26k
- Distro huvudsakligen för Blender?5
- Skänkes HP elitedesk 800 G1, aka arbetshästen
- Säljes Sapphire RX 6950 XT Nitro+ Pure
- Köpes köpes upppgraderingspaket mobo+cpu
- Köpes 17,3 tum laptop skärm 40-pin
- Skänkes Gratis! Nytt oanvänt 1000D Corsair monster chassi
- Säljes Moderkort + CPU: ASUS PRIME Z390-P, Intel Core i5-9600K.
- Köpes Gaming laptop sökes till 10 åring
- Säljes MSI GTX 960
- Säljes lofree flow 2 84 SILENT ansi
- Säljes MSI Geforce RTX 3080 SUPRIM X12GB
- Testpilot: Be Quiet Pure Loop 3 LX med RGB3
- Foton i Windows får automatisk kategorisering22
- SweClockers Muskampen 2025 Rond 4 - Blasktestet103
- Razer Sensa HD bjuder på good vibes5
- SweClockers Drop! Corsair pressar priserna på PSU och kylning20
- Nvidias öppna källkod ger realistiska ansiktsanimationer18
- Fjuttig sista uppdatering för Windows 1050
- Forumtävling: Vinn Ghost of Yōtei till PS551
- Enklare att få fortsatta Windows 10-uppdateringar66
- SweClockers Muskampen 2025 Rond 3 - Eldte-... Tramptestet103
Externa nyheter
Spelnyheter från FZ