Ich will auch programmieren!
<flüster> Ruby </flüster>
Schöne Sprache, relativ einfach zu lernen.
Grundsätzlich bin ich auch der Meinung, dass es nicht so relevant ist, mit welcher Sprache man programmieren lernt. Wichtiger sind natürlich viel mehr die Methodik, Algorithmen, usw. Trotzdem glaube ich, dass einem (und _gerade_ einem Einsteiger) eine Programmiersprache auch Spass machen sollte. Ich habe beruflich auch ab und zu mit C/C++ zu tun (C++ war meine erste Sprache) und so leid es mir tut: In diesen Sprachen zu programmieren bereitet mir einfach nicht so viel Freude wie mit "modernen" Skriptsprachen wie Ruby oder auch Python. Da gibt es so viele Sachen (Pointer, Speicherbereinigung, ...), um die man sich kümmern muss, die einem nur von der eigentlichen Aufgabe ablenken und deshalb bei Einsteigern leicht zur totalen Verwirrung führen können.
Just my 2 cents.
Schöne Sprache, relativ einfach zu lernen.
Grundsätzlich bin ich auch der Meinung, dass es nicht so relevant ist, mit welcher Sprache man programmieren lernt. Wichtiger sind natürlich viel mehr die Methodik, Algorithmen, usw. Trotzdem glaube ich, dass einem (und _gerade_ einem Einsteiger) eine Programmiersprache auch Spass machen sollte. Ich habe beruflich auch ab und zu mit C/C++ zu tun (C++ war meine erste Sprache) und so leid es mir tut: In diesen Sprachen zu programmieren bereitet mir einfach nicht so viel Freude wie mit "modernen" Skriptsprachen wie Ruby oder auch Python. Da gibt es so viele Sachen (Pointer, Speicherbereinigung, ...), um die man sich kümmern muss, die einem nur von der eigentlichen Aufgabe ablenken und deshalb bei Einsteigern leicht zur totalen Verwirrung führen können.
Just my 2 cents.
Jabber: neptoon@jabber.org
It's only Rock'n'Roll but I like it
It's only Rock'n'Roll but I like it
-
- Beiträge: 790
- Registriert: 09.07.2002 23:01:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dresden
ACK, wobei ich jedoch heute eher zu C# raten würde, weil es einfach eine komplettere Sprache ist. ActionListener in Java sind ein Krampf, Delegates in C# dagegen sind dagegen leichter zu handhaben. Getter und Setter sind bei C# ebenfalls gleich in die Sprache integriert u.s.w. C# halte ich für sowas wie eine weitere "Evolutionsstufe" von Java (nicht zu genau nehmen ...). Auch wenn es wohl noch ein paar Jahre braucht, bis es so weit verbreitet ist wie Java. Zum lernen find ich es allerdings recht schön und mit Mono hat man auch eine dafür ausreichende .NET Implementierung. Wer will und es auch braucht, kann sich später ja immernoch an C versuchen.niemand hat geschrieben:IMHO ist Java, aufgrund der Dokumentation, eine _der_ Sprachen, um coden zu lernen.
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
Ob Du sicheren C, C++, php, perl, and python code schreibst siehst Du wenn du "rats" andrehst
Hier der Link zu dem C Buch von dem ich oben gesprochen habe
http://courses.iicm.edu/the_c_book/Soft ... ungInC.pdf
http://courses.iicm.edu/the_c_book/Soft ... Errata.pdf
markus
Hier der Link zu dem C Buch von dem ich oben gesprochen habe
http://courses.iicm.edu/the_c_book/Soft ... ungInC.pdf
http://courses.iicm.edu/the_c_book/Soft ... Errata.pdf
markus
Danke, dann werde ich mich mal ranmachen.meandtheshell hat geschrieben:Ob Du sicheren C, C++, php, perl, and python code schreibst siehst Du wenn du "rats" andrehst
Hier der Link zu dem C Buch von dem ich oben gesprochen habe
http://courses.iicm.edu/the_c_book/Soft ... ungInC.pdf
http://courses.iicm.edu/the_c_book/Soft ... Errata.pdf
markus
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
Hallo,aptynux hat geschrieben:Welche Pakete muss ich für den GNU C Compiler installieren, welche für Emacs (emacs-21???, am besten wäre auch die X-Version)?
hier hast Du was ich auf einer meiner maschinen habe (es ist seit jeher ein reinrassiges DebianGNU/Linux testing)
Code: Alles auswählen
markusgattol@pc1:/tmp$ dpkg -l emacs* | grep '^ii'
ii emacs-color-themes 6.5.4-1 Color themes for Emacs
ii emacs-goodies-el 26.6-1 Miscellaneous add-ons for Emacs
ii emacs21 21.4a-3 The GNU Emacs editor
ii emacs21-bin-common 21.4a-3 The GNU Emacs editor's shared, architecture
ii emacs21-common 21.4a-3 The GNU Emacs editor's shared, architecture
ii emacsen-common 1.4.17 Common facilities for all emacsen
markusgattol@pc1:/tmp$ dpkg -l gcc* | grep '^ii'
ii gcc-2.95 2.95.4-27 The GNU C compiler
ii gcc-2.95-doc 2.95.4-27 Documentation for the GNU compilers (gcc, go
ii gcc-3.3-base 3.3.6-13 The GNU Compiler Collection (base package)
ii gcc-3.4-base 3.4.6-1 The GNU Compiler Collection (base package)
ii gcc-4.0 4.0.3-3 The GNU C compiler
ii gcc-4.0-base 4.0.3-3 The GNU Compiler Collection (base package)
ii gcc-4.0-doc 4.0.3-3 Documentation for the GNU compilers (gcc, go
ii gcc-4.1-base 4.1.1-11 The GNU Compiler Collection (base package)
markusgattol@pc1:/tmp$
Das ist nur der Fall weil man eben manchmal spezielle Versionen braucht (siehe README files von source trees). Es ist für dich (wenn Du mit dem Buch von Klaus beginnst) völlig egal welchen Du Dir installierst, da alles im Buch ISO C Standard ist IIRC und die gcc das sowieso kann.
Wie Sam sagte ist emacs eben emacs. Es gibt auch andere sehr gute IDE's oder Editoren aber dazu mehr zu sagen würde den Rahmen sprengen und Dir auch nicht sehr viel helfen. Es gibt auch sehr viele User hier die Eclipse verwenden. Wie gesagt das musst Du entscheiden. Früher oder später wirst Du wohl wie wir alle an einem bestimmten Editor oder einer IDE Gefallen finden.
Ich persönlich (wieder subjektiv ) kann mit guten Gewissen für den Emacs sprechen, da er egal was ich je gemacht habe immer gute Lösungen für mich parat hatte. Egal ob das schreiben einer Arbeit oder Documentation (hier möchte ich besonders auf TeXinfo verweisen) oder das programmieren an sich oder einfach einmal den emacs als shell verwenden (M-x shell).
Wichtig ist, dass Du weißt, dass es egal welchen Editor Du nimmst wohl immer jemanden gibt der mit Rat und Tat zur Seite stehen kann, da ich glaube das alle nennenswerten Editoren und IDE's von einem der User auf DF.de verwendet werden. Nicht zu vergessen die IRC channels e.g. #emacs auf freenode.
Zum Schluß noch - ich habe natürlich kein kommerzielles Interesse an dem Buch Link - dennoch ich glaube die ca. 40 Euro für das Buch (nicht nur PDF) sind eine sehr gute Investition.
Abschließend möchte ich noch sagen, dass Du Dir keine Wunder erwarten darfst - bis Du im Fall von C und Emacs ein Wohlfühlgefühl entwickelst wird es wohl ein Jahr dauern. Das sich der Aufwand später potenzierend positiv Auswirkt habe ich schon gesagt.
Du hast die freie Wahl zu entscheiden - mit freier Software liegt man nicht falsch - auch wenn es ein wenig viel an Information war/ist denke ich, dass Du einen Einblick bekommen hast und nun "einfach losmarschierst" - der Weg ist das Ziel ...
markus
Ich selbst benutze zwar nicht emacs, denke aber, dass mit der entsprechenden Konfiguration auch Syntax-Hilighting funktioniert.
Ich persönlich nutze vim. Benötigt aber auch einiges an Einarbeitung, die sich IMHO aber lohnt.
Hier im Forum wurde auch mehrmals auf geany http://geany.uvena.de/ als Editor hingewiesen.
Ansonsten halt noch die "Großen" Anjuta und Kdevelop
Ich persönlich nutze vim. Benötigt aber auch einiges an Einarbeitung, die sich IMHO aber lohnt.
Hier im Forum wurde auch mehrmals auf geany http://geany.uvena.de/ als Editor hingewiesen.
Ansonsten halt noch die "Großen" Anjuta und Kdevelop
MfG GoKi
:wq
:wq
-
- Beiträge: 455
- Registriert: 07.09.2004 08:51:47
- Wohnort: Dresden
vi / vim ist auf jeden Fall die Einarbeitung wert.
Wenn Du den drauf hast, zahlt sich das aus. Komme mal in die Verlegenheit auf einem Remote-System per ssh zuzugreifen und dort irgendwelche config-Dateien editieren zu müssen, oder das Schreiben von Mail mit mutt,...
Was ich total gut finde: Du splittest dein Editorfenster, hast oben die ersten 30 Zeilen und arbeitest und am Code.
...ich würde es mir überlegen.
Wenn Du den drauf hast, zahlt sich das aus. Komme mal in die Verlegenheit auf einem Remote-System per ssh zuzugreifen und dort irgendwelche config-Dateien editieren zu müssen, oder das Schreiben von Mail mit mutt,...
Was ich total gut finde: Du splittest dein Editorfenster, hast oben die ersten 30 Zeilen und arbeitest und am Code.
...ich würde es mir überlegen.
- Linuxpeter
- Beiträge: 236
- Registriert: 26.04.2005 22:48:56
- Lizenz eigener Beiträge: GNU General Public License
- Wohnort: Dresden
Auch von mir eine (natürlich rein subjektive) Empfehlung: kdevelop,
macht sich besonders gut, wenn man so wie ich KDE als grafische Oberfläche benutzt.
macht sich besonders gut, wenn man so wie ich KDE als grafische Oberfläche benutzt.
Gruß, Linuxpeter
Moderator (Kobold) beim Radio HaZZard of Darkness
Moderator (Kobold) beim Radio HaZZard of Darkness
hi,
naja KDevelop finde ich am Anfang schon etwas hart, gerade wenn man noch nichts von Automake, svn und GuiDesignern wissen will. Aus dem KDE-Sortiment kann ich da eher Kate empfehlen. Geany ist natürlich auch schön, gerade da der Autor auch hier im Forum vertreten ist und auch sehr hilfsbereit ist Und es bietet Support für Sachen wie make, ohne alles zu kompliziert zu machen.
mfg
mauser
naja KDevelop finde ich am Anfang schon etwas hart, gerade wenn man noch nichts von Automake, svn und GuiDesignern wissen will. Aus dem KDE-Sortiment kann ich da eher Kate empfehlen. Geany ist natürlich auch schön, gerade da der Autor auch hier im Forum vertreten ist und auch sehr hilfsbereit ist Und es bietet Support für Sachen wie make, ohne alles zu kompliziert zu machen.
mfg
mauser
Nach einer langen Testphase, bleib ichbei Geany, ist das einzigste was für mich in Frage kommt (schnell, benutzerfreundlich, umfangreich), da fühlt man sich richtig wohl.
Aber beim kompilieren, kam folgende Warnung:
Ist das schimm?
So sieht die test_types.c jedenfalls aus:
Das Programm funktioniert jedoch richtig:
Aber beim kompilieren, kam folgende Warnung:
Code: Alles auswählen
aptynux@aptynux-desktop:~$ gcc -o test_types test_types.c
test_types.c: In function ‘main’:
test_types.c:13: warning: incompatible implicit declaration of built-in function ‘printf’
So sieht die test_types.c jedenfalls aus:
Code: Alles auswählen
// test_types.c -This porgram prints the size of the internal
// representation of primitive C datatypes
char a_char = '\0';
int an_int = 0;
short a_short = 0;
long a_long = 0;
float a_float = 0.0f;
double a_double = 0.0;
main()
{
printf("Size of char: %d Byte(s)\n",sizeof(a_char));
printf("Size of int: %d Byte(s)\n",sizeof(an_int));
printf("Size of short: %d Byte(s)\n",sizeof(a_short));
printf("Size of long: %d Byte(s)\n",sizeof(a_long)),
printf("Size of float: %d Byte(s)\n",sizeof(a_float));
printf("Size of double: %d Byte(s)\n",sizeof(a_double));
}
Code: Alles auswählen
aptynux@aptynux-desktop:~$ ~/test_types
Size of char: 1 Byte(s)
Size of int: 4 Byte(s)
Size of short: 2 Byte(s)
Size of long: 4 Byte(s)
Size of float: 4 Byte(s)
Size of double: 8 Byte(s)
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Da fehlt wohl ein
Code: Alles auswählen
#include <stdio.h>
Code: Alles auswählen
gcc -o test_types test_types.c include <stdio.h>
Code: Alles auswählen
bash: syntax error near unexpected token `newline'
Was mache ich wiedermal falsch?
Nein, definitiv nicht, ich bin seit 1 Tag Programmierer bzw. C-Anfänger. Da darf man wohl mal vorsichtig sein.cosmac hat geschrieben:auweia, gib´s zu, das machst du mit Absicht
@ Spasswolf
So hier?:
Code: Alles auswählen
#include <stdio.h>
// test_types.c -This porgram prints the size of the internal
// representation of primitive C datatypes
char a_char = '\0';
int an_int = 0;
short a_short = 0;
long a_long = 0;
float a_float = 0.0f;
double a_double = 0.0;
main()
{
printf("Size of char: %d Byte(s)\n",sizeof(a_char));
printf("Size of int: %d Byte(s)\n",sizeof(an_int));
printf("Size of short: %d Byte(s)\n",sizeof(a_short));
printf("Size of long: %d Byte(s)\n",sizeof(a_long)),
printf("Size of float: %d Byte(s)\n",sizeof(a_float));
printf("Size of double: %d Byte(s)\n",sizeof(a_double));
}
-
- Beiträge: 3472
- Registriert: 30.11.2005 10:32:22
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Wald
Für die Deklaration ist es eigentlich nur wichtig, dass der '#Include<stdio.h>' vor dem ersten auftreten der Funktion printf eingebaut wird. Wegen der Übersicht packt man alle Header an den Anfang des Quelltextes, aber hinter den "Eröffnungskommentar". Guck dir am besten mal einen irgeneinen Quelltext an.
OK hab verstanden.Spasswolf hat geschrieben:Für die Deklaration ist es eigentlich nur wichtig, dass der '#Include<stdio.h>' vor dem ersten auftreten der Funktion printf eingebaut wird. Wegen der Übersicht packt man alle Header an den Anfang des Quelltextes, aber hinter den "Eröffnungskommentar". Guck dir am besten mal einen irgeneinen Quelltext an.
Aber das <> muss durch "" ersetzt werden.
Was ist hier falsch:
(beim kompilieren)
und hier:
(Quellcode)
(beim kompilieren)
Code: Alles auswählen
datatype_test.c:6:26: warning: multi-character character constant
datatype_test.c:6: warning: large integer implicitly truncated to unsigned type
datatype_test.c: In function ‘main’:
datatype_test.c:24: error: ‘a_uchar’ undeclared (first use in this function)
datatype_test.c:24: error: (Each undeclared identifier is reported only once
datatype_test.c:24: error: for each function it appears in.)
(Quellcode)
Code: Alles auswählen
// datatype_test.c - a few things that can be done with
// some primitive datatypes and printf in C
# include <stdio.h>
unsigned char a_uchar_ = '\n0';
unsigned int a_uint_ = 0;
double a_double_ = 0.0;
main()
{
a_uchar_ = 'x';
printf("a_uchar_ has the content %c\n",a_uchar_);
// how do we get the ASCII-Code of a char?
printf("%c has the ASCII-Code %u\n",a_uchar_,a_uchar_);
// it is possible to do calculations on chars!
a_uchar_ = a_uchar_ + 1;
printf("after adding 1 to a_uchar_, it contains %c\n",
a_uchar_);
// what is the 4th letter in the alphabet?
a_uchar = 'a' + 3;
printf("the fourth letter in the alphabet is %c\n",
a_uchar_);
// chars are integral datatypes, so the following
// assignment works
a_uint_ = a_uchar_;
printf("a_uint_ has the content %c\n",a_uint_);
//output for double datatypes:
a_double_ = 17.25;
printf("a_double_ has the content %f\n",a_double_);
}