Just nu i M3-nätverket
Jump to content

"#include <>"


Codler

Recommended Posts

Det är så att för skrev man #include "iostream.h" precis som man gör när man inkluderar vilken h fil som helst. Men i senare versioner av visual studio så är "standarden" bara #include <iostream> men det går att skriva vilket som.

 

Link to comment
Share on other sites

Det är så att för skrev man #include "iostream.h"

Snarare #include <iostream.h> om man inte ville göra jobbet onödigt komplicerat för den som bygger. I övrigt har du rätt.

 

Link to comment
Share on other sites

har det aldrig fungerat att skriva #include "iostream.h" ?

Naturligtvis har det fungerat men det är bara onödigt och visar att den som gör det inte förstått skillnaden mellan <> och "".

 

Link to comment
Share on other sites

  • 4 weeks later...

Det är ingen skillnad, det är bara en fråga om standard.

 

#include <iostream> är standard

#include <iostream.h> är inte standard

 

Men av nyare kompilatorer stöds båda, av äldre stöds oftaste inte standard-versionen.

 

Link to comment
Share on other sites

oh ok då förstår jag =)

varför jag frågade var för att i skolan får jag lära mig att ha med ".h" och vi använder ett gammalt program, turbo c++( som sägs att man inte kan hitta den i internet^^)

 

Link to comment
Share on other sites

vi använder ett gammalt program

 

Varför gör ni det? Det finns ju gott om alternativ som är nya, förljer standards och dessutom är gratis.

 

Vad gäller c++-kompilator används ju g++ väldigt mycket och är väl lite av de-factostandard. Som utvecklingsmiljö finns t ex Eclipse, Dev-C++ m fl.

 

Allt gratis.

 

Att lära sig gamla saker känns väldigt dumt, när man sen ska använda sakerna utanför skolan måste man börja med att lära om, helt i onödan.

 

Link to comment
Share on other sites

Varför gör ni det?

 

vet inte, jag är inte läraren :P

 

Att lära sig gamla saker känns väldigt dumt, när man sen ska använda sakerna utanför skolan måste man börja med att lära om, helt i onödan.

 

skiljer det så mycket?

 

Link to comment
Share on other sites

vet inte, jag är inte läraren :P

Ställ läran på tal.

Det är din plikt om du tycker något är fel eller om du vill ha det anorlunda.

 

Lycka Till!

 

//MvH Walle

 

Link to comment
Share on other sites

Det är din plikt om du tycker något är fel eller om du vill ha det anorlunda.

Fast är det så konstigt egentligen?

Läraren är naturligtvis bunden till de medel han har, om han inte har budget till datorer och licenser(*) (eller för all del pengar och tid att lägga om sin undervisning till något annat) så är det inte så mycket han kan göra, han kan naturligtvis gå till skolledningen och gnälla men inte heller då är det säkert att det hjälper.

 

Dessutom, det är knappast kunskap om exakta språkkonstruktioner som gör folk till bättre eller sämre C++-utvecklare. Det lilla fåtal som kommer att ha nytta av sina C++-kunskaper från grundskola/gymnasie utanför skolan kommer utan vidare att fånga upp skilnaderna då. Chansen är dessutom stor att nyttan kommer att bestå i att de har erfarenhet av C++ vilket gör det lite lättare för dem att lära sig Java eller C# än om de bara hade lärt sig Basic.

 

Ur ett rent utbildningsperspektiv hade nästan vilket språk som helst fungerat precis lika bra då målet oftast är att lära ut tänket och inte ett specifikt språks alla egenskaper.

 

*) Förvisso oftast i det närmaste gratis oavsett oavsett produkt om det handlar om skolor och speciellt om man väljer en fri plattform.

 

 

Link to comment
Share on other sites

kollade på länken och vilken version min skolas version var och det var v3!

 

Turbo C++ 3.0 was released in 1991 (shipping on November 20),

 

lol

 

Link to comment
Share on other sites

kollade på länken och vilken version min skolas version var och det var v3!

Som fhe redan sagt så spelar det ingen roll. Det viktigaste med dessa inledande kurser i programmering är att få in en logisk och metodisk programmeringstankeprocess. Det här kommer se likadant ut om du går vidare till ex. en civilingenjörslinje i datateknik på högskolan (dock kommer du förstås märka att budgeten är lite bättre där och därmed hård/mjukvaran). Där får du använda en mängd programmeringsspråk och paradigm men tanken är lika lite där att bli fullfjädrad programmerare inom något specifikt av dessa i ramen för kurserna. Tanken är att ge en solid grund för fortsatt utveckling.

 

Kan man inte lära sig programmering utan att använda de allra senaste verktygen och högnivåspråken, tja, då kommer man nog aldrig att bli en programmerare utan snarare en designer eller avancerad legobyggare skulle jag vilja påstå ;)

 

Link to comment
Share on other sites

OK, det var ju en rätt gammal version :)

 

En sak som då kanske saknas helt eller ser helt annorlunda ut är standardbiblioteken med bl a STL. Att lära sig standardbiblioteken tycker då jag är nog så viktigt som språket i sig.

 

Nog för att det tar tid att ändra på kurser, ändra i kursmaterial och så men använda ett program från 1991, nja, det är väl att ta i lite väl mycket tycker jag. Licenskostnader för gratisalternativ är ju rätt små.

 

En annan tanke: Det kanske skulle kännas mer motiverat att lära sig något som är gjort i rätt årtusende istället för att pilla med ett 15 år gammalt program? Motivering är ju nog så viktigt när man ska lära sig saker.

 

Link to comment
Share on other sites

En sak som då kanske saknas helt eller ser helt annorlunda ut är standardbiblioteken med bl a STL. Att lära sig standardbiblioteken tycker då jag är nog så viktigt som språket i sig

Det beror ju på om målet är att utbilda C++-utvecklare eller att lära folk programmera.

Den som kan programmera kommer inte att ha några större problem att lära sig STL (som det ser ut det år det är dags att använda det). Däremot är det rätt tveksamt om man blir speciellt hjälpt på sin väg att lära sig programmera av att kunna STL.

 

Licenskostnader för gratisalternativ är ju rätt små.

Ja, men inte omställningskostnaderna för att läraren ska hinna bli en bra lärare (och inte stå som ett frågetecken när det händer saker han inte sett förut) och inte arbetet med att sätta upp en fungerande labbmiljö med nya verktyg installerade och med labbar som matchar den nya miljön. Inte heller är det nödvändigtvis gratis att se över så att man har hårdvara nog att inte låta elevernas frustration över segheten ta över. TC++ 3.0 (oavsett om det är windows-versionen eller dos-versionen) är trots allt blixtsnabba på all hårdvara man kan tänka sig att hitta i dagens läge.

Vem vet, om de ändå ska göra bytet kanske det är lika bra att byta till java eller C#, det kanske är det de jobbar på just nu och ett sånt byte skulle absolut bli försenat av att behöva göra ett byte till, egentligen helt utan orsak.

 

Som i allt annat är licenskostnaden bara en marginell sak när det gäller kostnad för programvara.

 

 

Link to comment
Share on other sites

Däremot är det rätt tveksamt om man blir speciellt hjälpt på sin väg att lära sig programmera av att kunna STL.

Jag skulle vilja gå så långt som att säga att det snarare stjälper, självklart beroende på hur tidigt det utnyttjas i utbildningen. Har man en lärare som inte förklarar hur man själv skapar egna listor, iteratorer och algoritmer såsom ex. sortering utan slappt hänvisar till färdiga struktururer och metoder i STL så har man definitivt blivit lurad på en god programmeringsgrund.

 

Link to comment
Share on other sites

Vad kursen har för syfte kan vi ju bara gissa oss till och syftet borde ju påverka den en hel del.

 

Att lära sig programmera tycker jag är så mycket mer än syntax/semantik för själva språket. Att lära sig använda standardbibliotek tycker jag som sagt är en nog så viktig del, att på bästa sätt utnyttja det som redan finns och göra egna saker där det behövs. Det finns många fler viktiga delar än så, naturligtvis ska man lära sig dem allihop så småningom.

 

Men om syftet är att lära sig väldigt grundläggande/teoretiska programmeringsprinciper blir det ju annorlunda, då kanske man inte alls skulle pyssla med C++ som är ett rätt "rörigt" språk i mitt tycke.

 

Ska man å tredje sidan bara "känna på" programmering tror jag det vore oerhört mycket mer givande att pyssla med något mer modernt där resultaten kan bli lite mer än bara avklarade övningsuppgifter.

 

Det där med kostnad för att ställa om kursen nämnde jag ju redan så där är vi helt överens.

 

Vad de håller på med just nu är ju också bara en gissning. Kanske de inte alls uppdaterar kursen utan tänker fortsätta med 1991 år C++ inom överskådlig framtid. I så fall skulle ju en mindre uppdatering av kursen inte alls försena ett större byte.

 

Mycket gissningar blir det :)

 

Link to comment
Share on other sites

Jag tycker inte det finns nån motsättning alls.

 

Moderna standardbibliotek är ju inte alls bara en mängd fördiga rutiner klara att använda. De är ramverk för att bygga saker där man använder en del färdiga saker men står för en del annat själv. Ibland kanske man kan använda rätt mycket som redan är klart, ibland måste man göra en massa själv, kanske det blir en egen algoritm som jobbar på standardcontainers, kanske det blir en egen iterator för den behövs för att man ska passa in i ramverket.

 

Att lära sig använda ett (modernt) standardbibliotek är i min mening inte alls ett sätt att klara sig från grundläggande principer, det är snarare tvärtom.

 

Listor, iteratorer och sorteringsalgoritmer är bara en grundplåt för att kunna använda ett standardbibliotek på ett bra sätt. Grundläggande varianter av dessa finns inbyggda och klara men man får själv stå för de mer komplexa varanterna.

 

Standardbiblioteken kräver en massa annat också som att man lär sig "design patterns" och då har man inte bara avverkat de mest grundläggande sakerna, man har klivit upp ett par steg dessutom.

 

Nu vet ju både du och fhe allt detta men jag skriver på i alla fall :)

 

 

 

Link to comment
Share on other sites

Grundläggande varianter av dessa finns inbyggda och klara men man får själv stå för de mer komplexa varanterna.

Jo, jag förstår vartåt du barkar, men min poäng var att om den grundläggande kunskapen du har är att just använda dessa inbyggda funktioner (snarare än att den består i kunskap att kunna skapa även dessa själv och att förstå principen bakom dem) så har du ju klart minskat dina förutsättningar att bygga ut dem till avancerade versioner.

 

Jag vet inte om vi tänker på två olika saker just nu. Jag kanske lagt mig lite för filosofiskt i diskussionen,? jag försöker bara få fram vad jag anser vara "rätt" utvecklingsprocess. Det är ju förstås väldigt subjektivt eftersom jag baserar detta enbart på den väg jag själv gick, men jag vågar nog påstå att den var rätt så effektiv =)

 

 

 

Link to comment
Share on other sites

Jag vet inte om vi tänker på två olika saker just nu.

 

Det är mycket möjligt. :)

 

Det är ju få förunnat att lära sig allt om allt så syftet och omfånget måste bestämma vad man ska satsa på. Även bland programmerare måste det kunna finnas plats för de som inte kan alla små spännande detaljer.

 

På ett ställe jag jobbade förut (utveckling av språket Erlang) hade vissa ett rent fanatiskt intresse för sorteringsalgoritmer. Man skulle nästan kunna tro att det enda de gör på dagarna är att sortera saker hit och dit. Jag kommer inte ens ihåg sist jag sorterade saker (i någon större utsträckning).

 

Men principerna, visst ska man kunna dem. Fast det är ju bara logiskt tänkande och lite kodknackande :)

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...