Välkommen till linuxportalen.se!

Linuxportalen.se är Sveriges största och aktivaste webbplats för användare av öppen- och fri programvara.

Du besöker Linuxportalen.se som gäst vilket begränsar din möjlighet att använda webbplatsens alla funktioner. Genom att registera dig som medlem får du inte bara möjlighet att söka bland webbplatsens innehåll, skapa nya och delta i befintliga diskussioner, skapa din egen blogg, kommunicera med andra medlemmar genom privata meddelanden och delta i omröstningar. Du får också tillgång till Veckans Kadavro - en seriestrip unikt skapad för Linuxportalen.se!

Registeringen sker snabbt och är helt kostnadsfri - tveka inte, bli medlem idag!

Koda stilfullt i C++

Okej jag erkänner, jag har inte kodat i linux! Sad Men nu ska det bli ändring! Håller på och läser Programmering A där vi kodar i C++.
I skolan sitter vi i Windows XP (troligtvis det svåraste OS:t jag har stött på..) och kodar i Dev-C++ där man snyggt får dom olika kommandona/sakerna (vet inte vad det heter men typ int, cout mm) får färger, blir tjockare mm och när man ska prova sitt program så klicka man på "Kompliera och kör" så komplieras programet och startas utan att man behöver göra något alls.. Faktiskt riktigt smidigt program, gillar det skarpt..
Är ute efter något liknande till Linux som helst ska vara snyggt också (ska ta med datorn till skolan om jag får tag på en laptop och då vill man ju såklart visa upp en snoffsig GNU/Linux/Gnome-miljö Wink. En sådan där "Kompliera och kör" knapp eller liknande vill jag också ha, den är rolig.. Smile

Alternativ för kommentarvisning

Välj ditt önskade sätt att visa kommentarerna och klicka på "Spara" för att verkställa dina ändringar.

elwiss bild

Kolla in Anjuta & KDevelop. Eller kör gvim/emacs Wink

fredrikperssons bild

För GNOME är det anjuta som gäller, annars är KDevelop också trevligt. Personligen så gillar jag båda och växlar efter hur jag känner mig för dagen.

----------------------------------------------------
Do not drink coffee in early a.m. It will keep you awake until noon.
Fredrik Persson

 

//Fredrik Persson

erikls bild

http://codeblocks.org/. Jag har för mig att jag läst att code::blocks är en vidar utveckling av wx-devcpp (inte säker dock).

iaidokas bild

Är du hardcore så kör du naturligtvis emacs...

Vill du komma igång raskt så kör du Eclipse.

Caps-Lock är ett annat sätt att skriva Ctrl.

Test.

curiums bild

Nu sitter jag i Anjuta men har stött på andra problem.. Hur får man fram åäö? Jag lyckas inte.. Alltså i C++-programmet, \x84 osv har jag lärt mig men det verkar inte funka i linux..?
En anna sak är att system("PAUSE") inte heller verkar fungera:
sh: PAUSE: kommando hittades inte
Hur ska jag göra för att få samma "effekt"?
___________________
Det här är min signatur

--

mernils bild

Code::Blocks kanske kan vara nåt för dig?
_____________________
mernil.wordpress.com

tompas bild

Hej,
vill du lära dig C++ så rekommenderar jag dig att införskaffa boken Accelerated C++ skriven av Andrew Koenig och Barbara Moo, utgiven på Addison-Wesley.
Den boken lär dig inte bara grunderna i C++ på ett oöverträffat vis (börjar med att använda klasser och först långt senare förklaras pekare och andra arv från C-världen) utan lägger även en god grund för mjukvaruutveckling i allmänhet.
Det enda du behöver (förutom boken) är en simpel texteditor och kompilator (g++ rekommenderas). Tid och engagemang kan såklart vara bra att ha oxå...

Så lägg till en början inte krut på att göra flashiga fönsterapplikationer. Det kan du snabbt och enkelt göra då du lärt dig grunderna i C++!

Lycka till!
Tompa

"C gör det lätt att skjuta sig själv i foten. C++ gör det svårare, men om du lyckas så skjuter du bort hela benet." - Bjarne Stroustrup

iveqys bild

Du läser en C++-kurs i gymnasiet, oavsett vad andra här säger om C# och liknande så är det inget alternativ för dig än. Lär dig C++, i alla fall så mycket som du behöver för kursen.

Du har fått många bra tips på olika IDE. Anjuta, Kdevelop och CodeBlocks är välkända och har bra rykte.

Jag vet tyvärr inte vilket som är vanligast för linux. Själv använder jag uteslutande vim, och vet många som använder uteslutande emacs.

När man skriver egna project så räcker det oftast med en text editor. Det går till och med snabbare.

Att lära sig ett IDE kräver tid. Att lära sig en bra text editor kräver minst lika mycket tid. Vill man kunna programmera riktigt snabbt skulle jag rekommendera ett bra IDE med en bra text editor.

Men först och främst ska man lära sig programmera. Jag skulle rekommendera att du i linux börjar med en vanlig text editor. Gedit är väldigt bra till det här. Den har syntaxfärgning (precis som Dev-cpp) och är väldigt användarvänlig.

När du sedan är varm i kläderna bör du lära dig vim eller emacs. Dessa har en hög inlärningströskel, men ska du fortsätta programmera kommer du älska dem (det här inlägget är föresten skriver i vim mha ett firefox plugin).

Att börja lära sig programmera i ett IDE är idioti enligt mig. Jag gjorde det själv (i dev-cpp) men jag kan inte säga att jag använda någon av funktionerna alls utom kompilera knappen. Jag kunde lika gärna använt en text editor.

Slutsatsen är att du bör använda Codeblocks om du vill flasha i skolan. Sen när du ska programmera på riktit använder du en text editor. Sen när du kan programmera så kommer du veta vad du vill ha/behöver. Det är ungefär som när man ska lära sig räkna, man börjar inte med att köpa en grafräknare, man börjar med attlära sig gånger-tabellerna.

surbiffs bild

det kanske kommer lite sent men jag hittade ett alternativ till anjuta idag som faktiskt fungerar jättebra..

ett plugin till gvim ..

http://vim.sourceforge.net/scripts/script.php?script_id=213

om man trycker på ctrl + F9 så sparas filen, compileras och körs.
felmeddelanden visas också om det blir några sådana.

det visas även en "c/c++" meny i editorn.

curiums bild

Geany verkar vara det jag är ute efter! Smile
___________________________________________
vet du hur manga viruser fanns i min dator,?? 49468

--

jonasbjorks bild

MonoDevelop skall du köra. Se skarpt (C#) är framtiden.. Skall du nu lära dig ett språk kan du lika gärna köra igång med C# direkt. Med C# kommer du kunna koda i Linux och MS dotNET (som är deras plattform för all framtida kodning - tills de hittar på något nytt). Lite svårt att övertyga din lärare om det här kanske, tror inte ens att skolverket har kurskoder för C# (lite osäker där dock).

När jag undervisade i Programmering A och B (C++) under våren fick mina elever enbart använda VIM. Allt annat är för enkelt. De skall lära sig koda, inte kunna trycka på rätt knapp. IDE använder man när man kan koda, inte innan. Så det så!

--
Du kan och jag kan, tillsammans kan vi mer!
Jonas Björk, www.jonasbjork.net

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

curiums bild

Ska kolla upp dom!
___________________
Det här är min signatur

--

curiums bild

Behöver hämta 105MB arkiv.
Efter uppackning kommer 133MB ytterligare diskutrymme användas.
Vill du fortsätta [J/n]?

Njae..
___________________
Det här är min signatur

--

Kristians bild

Jag håller med dig Jonas, C# är trevligt. Jag lekte lite med det för några månader sedan - det känns mycket likt java men har ytterligare några finesser. I vissa avseende känns dock standardbiblioteket lite för generellt (mer komplext än javas), vilket är en fördel eller en nackdel beroende på vad man vill åstadkomma. Jag har en ofärdig C#-skriven GEdit-klon som jag ska lägga upp så fort LTH har fått rätt på sin sftp.

C++ är också trevligt, men det kräver mer diciplin och det saknar ett lika funktionsrikt standardbibliotek som Java/Mono och andra språkmiljöer erbjuder. Valfrihet finns det gott om men ibland vill man ha nåt som funkar överallt utan några men

Angående DevC++-lika miljöer så kan jag bara instämma med föregående talare, CodeBlocks för Windows och Anjuta/KDevelop för GNU/Linux.

För oss andra så uppfyller emacs och vim allt man kan önska sig

---------------------------------------

 

Kristians bild

system exekverar ett kommando i tolken, vilket är miljöspecifikt. Du kan förmodligen få samma effekt (på ett portabelt sätt) med

std::cin.get();

---------------------------------------

 

Kristians bild

Vilken dist kör du? Jag hade också problem med åäö i qt/kde-program när jag körde debian. Vilken encoding sparar du dina filer i?

---------------------------------------

 

robinrs bild

Du kan ställa in kodning i Anjuta i inställningarna. Välj den som sparar i systemets lokale. Standard för filer du skapar i Anjuta är UTF-8, men de flesta(?) svenska Linuxinstallationer kör ISO-8859-1 (eller ISO-8859-15).

\x84 är en MS-DOS (codepage 850 eller nåt sånt). Inte ens Windows använder den, med untantag för cmd.exe.

mernils bild

Ja.. jag hade inte stoppat in dom.. men nu är det gjort Smile

_____________________
mernil.wordpress.com

curiums bild

Anjuta gillade jag Smile

Använder också bara kompliera knappen, vi har inte ens fått lära oss någon annan funktion.. Tongue

Vim och Emacs känns inte som om jag har tid att lära mig just nu, kanske på något lov när jag har tid över men annars nöjer jag mig med Anjuta.. Smile
___________________
Det här är min signatur

--

curiums bild

Ska kolla upp!! Laughing out loud
__________________________
Aj, jag bet mig i mustaschen!

--

Kristians bild

emacs-snapshot är en gtk2-version av emacs, precis lika snygg som gvim Wink

---------------------------------------

 

elwiss bild

C# är en av de få grejor som kommit ifrån Redmond som jag faktiskt uppskattat. Inte lika myckert som eclipse/SWT & Java dock men genomtänkt.

curiums bild

Som sagt C++ är det vi läser, inte mycket att göra åt det..

Hur menar du med att lära sig koda och inte trycka på rätt knapp?
___________________
Det här är min signatur

--

Kristians bild

Hur mycket hårddiskuttrymme upptar Visual Studio? 100 mb är visserligen inga småpotatis men ganska lite med dagens mått, jag tror att anjuta/kdevelop drar med sig lite qt/kde-libs samt lite utvecklingsverktyg som automake osv. Så du kan nog utan vidare hosta upp dina 100 mb Smile

---------------------------------------

 

curiums bild

Tack för hjälpen! Smile
___________________
Det här är min signatur

--

curiums bild

Jag kör Ubuntu.. Ingen aning om jag ska vara ärlig.. :/
___________________
Det här är min signatur

--

curiums bild

Bra fråga Tongue
Funkar bra i windows också Smile
___________________
Det här är min signatur

--

curiums bild

Ska kolla runt där när jag kommer hem..

Hur skriver man istället då? :S
___________________
Det här är min signatur

--

iveqys bild

lite slöseri att sitta med ett helt IDE och bara använda kompilera knappen...

men då lär det ju inte skada med ett IDE i alla fall...

Vim och emacs tar tid att lära sig. Spar det tills du har tid, men jag lovar att du kommer ångra varje minut du väntar Wink

lycka till!

ps. har ni fått göra någon telefonbok än? ds.

jonasbjorks bild

Antar att din lärare uppfyller kravet på kursen från Skolverket genom att lära ut att du klickar på en knapp för att kompilera programmet. Det motsvarar ju vad som sägs i kursmålen: känna till kompilatorns/länkarens arbete från källkod till färdigt program. Vill du veta vad du skall lära dig under kursen och vad du skall uppnå för visst betyg tittar du in på Kursinfo där Skolverket publicerat _alla_ nationella kurser i den svenska skolan.

Det står också Eleven skall kunna något programmeringsspråks grundläggande datatyper, fördefinierade strukturer och funktioner samt deras regler och syntax. Här är läraren fri att sätta vilket programspråk som helst i kursen, så du som elev kan inte komma och kräva t.ex. Pascal när läraren/skolan valt C++.. Nämner det bara för att du skall slippa skämma ut dig hos rektorn Wink

--
Du kan och jag kan, tillsammans kan vi mer!
Jonas Björk, www.jonasbjork.net

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

iveqys bild

alternativet är ju annars att skriva en Makefile och använda sig av make kommandot.

fsns bild

I beg to differ.

Programmering handlar om att strukturera upp det man vill göra, bryta upp i funktioner/klasser/medlemmar (beroende på språk), lära sig använda algoritmer, få en känsla för när och hur man skall använda vilka datatyper osv osv. Det du beskriver handlar om tangentbordsträning och inte programmering.

Ctrl-space för kompletteringar, som i Visiual Studio och Eclipse, ger dig mer felfri kod och kortare utvecklingstid.

Kristians bild

*felpost*

---------------------------------------

 

Kristians bild

Kör du emacs behöver du inte bekymra dig om vilka funktioner eller snabbknappar din editor har, du kan bestämma själv Smile Med LISP kommer makt!

---------------------------------------

 

curiums bild

<fjortis>Gvim smeker Emacs-snapshot!</fjortis>
___________________________________________
vet du hur manga viruser fanns i min dator,?? 49468

--

rioroberts bild

Jodå John Bauer i Kalmar lär lär ut C# just nu faktiskt, elverna kodar i visual Studio då iochförsig och lär sig inte C# från grunden snarare klicka för att få fram en knapp och ett fönster och textruta och sedan skriva 1-3 rader kod för vardera grej...

jonasbjorks bild

Vad jag menar? Har sett allt för många lärare som lär eleverna hur menyerna i Visual Studio fungerar och vilka hjälpmedel som finns där, t.ex. IntelliSense.. Skriv cin. och plopp så kommmer alla metoder fram du kan använda. Sätt en elev som bara jobbat med Visual Studio på att koda i en texteditor (Notepad), han klarar inte ens av Hello World (kankse lite överdrivet iof) utan Visual Studio..

Vad jag vill ha sagt är att man skall lära sig hur kodandet fungerar, inte hur IDE:n fungerar. Med en bra grund kan man använda vilken IDE som helst i framtiden. Eller som jag brukar säga i personalrummet på skolan: "Skall vi lära eleverna för livet, eller för versionen?"

--
Du kan och jag kan, tillsammans kan vi mer!
Jonas Björk, www.jonasbjork.net

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

curiums bild

Jo men Anjuta tog typ 25mb och Kdevelop 35mb.. Den bärbara jag vill köpa har bara 20GB så det blir till att hushålla med utrrymmet, är van vid 320GB Tongue
___________________
Det här är min signatur

--

iveqys bild

ubuntu har utf-8 som standard...

curiums bild

Haha jo det kan jag väl hålla med om!

Ja tid är där skon klämmer.. Sad

Haha nej vi har knappt börjat känns det som.. Fanns det inte någon howto om hur man gör en i bash här på linuxportalen? Eller var det på Linuxsverige?
___________________
Det här är min signatur

--

iveqys bild

en liten rättelse... Kursen är specialiserad mot ett språk. Det är alltså inte läraren som bestämmer det utan det är specificerat innan kursstart. Jag läste till exempel programmering B två gånger, en gång i VB och en gång i Java

curiums bild

Jobbigt!
__________________________
Aj, jag bet mig i mustaschen!

--

robinrs bild

Kompletteringsfunktionen i IDE:er är ett ovärderligt verktyg för att lära sig API:er för det som kodar på riktigt. Men på en grundkurs i programmering är handlar det inte så mycket om API:er utan just grunderna i kodning. Vilka API:er som skall användas är mycket väldefinierat (och avgränsat) i sådana sammanhang så allför mycket finesser i miljön flyttar fokus från vad kursen handlar om. Visst är det trevligt att inte behöva skriva så mycket, men alla krångliga tecken och vikten av rätt stavning är en grundläggande del av att läsa och förstå kod och det lär man sig mycket bättre om man ett tag tvingas skriva vartenda tecken.

curiums bild

Vim är snyggare. Smile
__________________________
Aj, jag bet mig i mustaschen!

--

curiums bild

Aha då förstår jag, i Dev-C++ finns det inte så mycket hjälpmedel förutom den där "Kompliera och kör" knappen och är inte bekant med något annat så hängde inte med.. Tongue
___________________
Det här är min signatur

--

iveqys bild

jag måste säga att jag är lite nyfiken på vad du får för svar när du säger detta i personalrummen... Själv är jag ju undervisad i Ms Works 4.0, windows 3.1 och Word 97. Har också fått lära mig Visual Basic 6.0. Om 5 år är jag ute i arbetslivet, jag tror inte jag kommer ha någon nytta av det...

curiums bild

Jupp, men sparar Anjuta i utf-8? För isåfall borde jag väl se åäö eller skriver jag fel? Hur ska man skriva för att få fram åäö?
___________________
Det här är min signatur

--

iveqys bild

jag vet faktiskt inte, man kan göra en telefonbok på många olika sätt. Jag ska skriva en i java till hösten. Jag läser programmering på LTH. Det blir min 5:e telefonbok, har skrivit telefonböcker i 3 olika språk vid det här laget, så det börjar bli ganska tjatigt...

vänta tills du lär dig filhantering så kommer det gå lätt sen Smile

jonasbjorks bild

Jag har bestämt själv de gånger jag undervisat i Programmering. Skolan sa Visual Basic, jag sa Glöm det! Jag valde att undervisa i C++.

Du kan läsa Programmering A i flera språk som du skriver i din kommentar. Finns inget som hindrar dig att läsa t.ex. C, C++, JAVA och Visual Basic i ProgA, ProgB och ProgC.. Skolan är dock inte skyldig att se till att alla språk finns för dig att välja.

--
Du kan och jag kan, tillsammans kan vi mer!
Jonas Björk, www.jonasbjork.net

--
Jag är grundare av och administratör på Linuxportalen. Kontakta mig om du har frågor, funderingar eller synpunkter kring Linuxportalen.se .

robinrs bild

0,12% av diskutrymmet går alltså åt till anjuta. Men är det fullt så är det :/