Forum: Mikrocontroller und Digitale Elektronik µc-Programmiersprache


von Manu M. (grayfox87)


Lesenswert?

Hallo

Welche Programmiersprache sollte man können um µc zu Programmiren oder 
besser gesagt welche Sprache ist am sinnvollsten zu lernen.

Gruß Manuel

von mif f. (miffaly)


Lesenswert?

Manu MI schrieb:
> Welche Programmiersprache sollte man können um µc zu Programmiren oder
> besser gesagt welche Sprache ist am sinnvollsten zu lernen.

Das was dir am einfachsten fällt. Ich komme am besten mit C zurecht.

von Bernd S. (bernds1)


Lesenswert?

Auf jeden Fall solltest du dich mit C beschäftigen, und wenn du noch 
weiter an die Hardware ran willst, dann Assembler.
Wobei du nicht geschrieben hast, welche µC du programmieren willst.
Die Assembler-Programmierung unterscheidet sich je nach Prozessor. Wenn 
du z.B. die 8-Bit-AVR's programmieren willst, haben die einen anderen 
Befehlssatz als beispielsweise die 16-Bit, 32 Bit oder auch andere 
Hersteller, z.B. PIC.
Bei C sind die Grundelemente der Sprache gleich. Dort unterscheiden sich 
nur die hardware-spezifischen Sachen wie Register, Ports, Timer usw.
Über das Thema könnte man noch lange reden. Das hier ist nur ein gaaanz 
grober Überblick.

von Manu M. (grayfox87)


Lesenswert?

Gibt es eigentlich Empfehlens werte Bücher für Anfänger. Die gut 
verständlich sind und auch Spaß beim Lesen machen.

von Eumel (Gast)


Lesenswert?

Manu MI schrieb:
> Gibt es eigentlich Empfehlens werte Bücher für Anfänger. Die gut
> verständlich sind und auch Spaß beim Lesen machen.

Die Tutorials hier auf der Seite sind gut.

von mif f. (miffaly)


Lesenswert?


von Bernd S. (bernds1)


Lesenswert?

Hier mal paar Links, die du anschauen kannst. Alles hier im Forum. Da 
sind jede Menge Informationen zum AVR
http://www.mikrocontroller.net/articles/AVR-Tutorial

oder zur Programmierung mit C
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

oder zu Büchern
http://www.mikrocontroller.net/buecher/

oder weiterführende Links
http://www.mikrocontroller.net/articles/Linksammlung

Reicht das für's erste? Da findest du alles, was das Herz begehrt.

von Manu M. (grayfox87)


Lesenswert?

Danke für die schnellen Antworten

von Axel S. (a-za-z0-9)


Lesenswert?

Manu MI schrieb:

> Welche Programmiersprache sollte man können um µc zu Programmiren oder
> besser gesagt welche Sprache ist am sinnvollsten zu lernen.

Die Frage ist ungefähr so sinnvoll (zu beantworten) wie:

Welche Automarke soll ich kaufen? Ich will mit dem Auto auf Arbeit 
fahren.


Ganz allgemein würde ich sagen, daß es wenig Sinn ergibt, das 
Programmieren auf einem µC zu erlernen. Wenn aber doch, dann meiner 
Meinung nach eine ganz einfache Architektur und Assembler. Leider sind 
ZX81 & Co heute rare Oldtimer. Aus meiner Sicht waren die Heimcomputer 
aus der goldenen Ära eine ideale Kombination aus Spiel- und Lerngerät.

Aber wenn man µC weit genug faßt, dann fallen auch ARM9- oder MIPS Kerne 
noch darunter. Da läuft dann nicht nur praktisch jede Programmiersprache 
drauf, sondern auch komplette Betriebssysteme wie Linux, MacOS (-X) oder 
Windows (CE). Man landet dann bei Lernsystemen wie dem Raspberry Pi.

Allerdings sehe ich dann nicht die Notwendigkeit, auf die 
Bequemlichkeiten eines PC (ein abgelegtes Gerät, z.B. Notebook, reicht 
ja) zu verzichten. Als da wären: robuste und zuverlässige Hardware, ein 
millionenfach ausgeliefertes und entsprechend stabiles Betriebssystem, 
ein richtiger Debugger, große Festplatte usw. usf.


XL

von Viktor N. (Gast)


Lesenswert?

>Allerdings sehe ich dann nicht die Notwendigkeit, auf die
Bequemlichkeiten eines PC (ein abgelegtes Gerät, z.B. Notebook, reicht
ja) zu verzichten.

....

Abgesehen davon, dass ein PC nicht realtime tauglich ist...

von F. F. (foldi)


Lesenswert?

Axel Schwenke schrieb:
> Ganz allgemein würde ich sagen, daß es wenig Sinn ergibt, das
> Programmieren auf einem µC zu erlernen.

Diese Aussagen liebe ich immer sehr.

"Also, wenn du Kuchen backen lernen willst, dann lerne erstmal kochen 
und wenn du das kannst, die Reaktionen im Topf genau kennst, dann fange 
an einen Brotteig zu machen und den backst du dann, kannst du das dann 
auch irgendwann, dann mach erstmal eine Obsttorte mit Fertigboden, dann 
Waffeln und mit dem Rührteig bist du dann auf dem richtigen Wege zum 
Backen!"

Wenn ich Auto fahren will, dann lerne ich auch nicht erst Moped fahren.

Fange mit den µC's an.
Wenn du einen einfachen Einstieg willst, nimm Arduino und die komplette 
Hard- und Software dazu.
Dort kannst du dann auch in C und C++ programmieren. Assembler soll auch 
in der IDE funktionieren, kann ich aber nichts genaues zu sagen.

von Karol B. (johnpatcher)


Lesenswert?

F. Fo schrieb:
> Diese Aussagen liebe ich immer sehr.

Naja, so ganz unrecht hat er mit seinem Vergleich ja nicht - gerade wenn 
man es genau nicht.

Was mir an Axel's Aussage ein wenig gegen den Strich geht, ist das 
Schwelgen in Nostalgie und die Aufzählung von "Oldtimern", die er 
vermutlich zum Lernen verwendet hatte. Ich behaupte jetzt einfach mal, 
dass man auch heute wunderbar das Programmieren lernen kann und dafür 
keine längst "verdrängten" Architekturen bzw. Plattformen braucht.

F. Fo schrieb:
> "Also, wenn du Kuchen backen lernen willst, dann lerne erstmal kochen
> und wenn du das kannst, die Reaktionen im Topf genau kennst, dann fange
> an einen Brotteig zu machen und den backst du dann, kannst du das dann
> auch irgendwann, dann mach erstmal eine Obsttorte mit Fertigboden, dann
> Waffeln und mit dem Rührteig bist du dann auf dem richtigen Wege zum
> Backen!"

Diesen Vergleich hingegen finde ich schlecht und irreführend.

F. Fo schrieb:
> Wenn ich Auto fahren will, dann lerne ich auch nicht erst Moped fahren.

Wobei vermutlich das "Moped fahren" lernen noch niemanden in Bezug auf 
das Auto fahren geschadet hat. Die geltenden Regeln (StVO) sind ja 
gleich und auch beim Moped fahren lernt man Schilder "die "Situation" zu 
lesen.

Das hier oft aufgezählte C ist sicherlich eine gute Wahl - weil das 
einem nachher (zumindest in Konzepten) noch am Öftestens wieder begegnen 
wird. Es gibt ja eine ganze Menge von Sprachen, die zum Teil von C 
beeinflusst sind.

Ich finde den Hinweis auf Assembler auch gar nicht so verkehrt. Das 
Problem bei C ist es halt, dass man als Neuling nicht so recht weiß, was 
da im Moment des Kompilierens so recht passiert. Wenn man hingegen 
Assembler kennt, dann hat man dafür ein viel besseres Verständnis. 
Zugegebenermaßen wird das aber bei Weitem nicht so einsteigerfreundlich 
sein.

von Karl H. (kbuchegg)


Lesenswert?

F. Fo schrieb:

> Wenn ich Auto fahren will, dann lerne ich auch nicht erst Moped fahren.

Du hast mit einm 180PS Auto in der Altstadt von Istanbul das Autofahren 
gelernt?

Erst mal ein paar Runden C auf dem PC einzulegen ist schon ein guter 
Rat. Wenn er C lernen will, dann soll er sich auch erst mal einen 
Grundstock an C aneigenen. Dazu braucht er noch keinen µC. Das 
verkompliziert nur den Prozess des C lernens.

von oldmax (Gast)


Lesenswert?

Hi
>Welche Programmiersprache sollte man können um µc zu Programmiren oder
>besser gesagt welche Sprache ist am sinnvollsten zu lernen.

Ich denke, es ist nicht die Sprache, die einen Programmierer ausmacht, 
sondern wie logisch und strukturiert er denken kann. Sprachen kann man 
lernen, das andere nur bedingt. Wenn die Gene eher künstlerisch  oder 
emotional angelegt sind, wird das Lernen einer Programmiersprache zur 
Qual.
Assembler hat den Vorteil, das die Anzahl der Befehle überschaubar ist. 
Wer das Prinzip erkannt hat, verliert auch den Respekt und sieht diese 
Sprache einfach nur als das, was sie ist: eine Liste von Anweisungen.
Die höheren Sprachen, C oder Basic sind zwar ähnlich gelagert, doch ist 
nicht immer so einfach zu erkennen, was eigentlich passiert. Ob man das 
aber auch braucht ? Keine Ahnung, schaden tut's jedenfalls nicht. Ich 
hab auch vor Jahrzehnten mit Assembler angefangen und die Notwendigkeit 
C zu erlernen, hatte ich  nie. Aber, müßte ich es, wo ist da das 
Problem. Basic und Pascal geht ja auch. Nur würd ich wahrscheinlich nie 
einen µC in Basic programmieren.
Also, meine Erkenntnis nochmal zusammengefasst. Programmieren ist klar 
mit einer Programmiersprache verheiratet, aber es heißt hier nicht, du 
mußt monogam sein. Wenn du programmieren wirst, erkennst du, ob dir das 
liegt und ob du deine Ideen umsetzen kannst. Wenn du dich aber erst 
einmal mit Programmieren auseinander setzen mußt, weil du keine 
Vorstellung hast, dann geb ich einigen hier recht: ein µC eignet sich 
nur bedingt zum Erlernen einer Programmiersprache. Dann lern erst einmal 
am PC etwas zu programmieren. Einige Sprachen gibt es im Netz kostenlos. 
Wenn du damit etwas hinbekommst, dann schaffst du auch, einen Controller 
eine Aufgabe zu geben.
Gruß oldmax

von NopNop (Gast)


Lesenswert?

Lern Englisch!

von Fpgakuechle K. (Gast)


Lesenswert?

Manu MI schrieb:

> Welche Programmiersprache sollte man können um µc zu Programmiren oder
> besser gesagt welche Sprache ist am sinnvollsten zu lernen.


Ganz wonach dir der Sinn steht. Ich als Elektroniker/Hardware-Experte 
und FPGA_Entwickler habe bei Assemblerprogrammierung alle Details der 
digitalen Hardware beherrschen kennlernt und für einen Mikrocontroller 
wie der Tiny mit 128 byte Speicher genügt das vollkommen. Die Hardware 
macht genau das was ihr gesagt wird, keinen Ärger mit impliziten 
typ-konvertierungen und Taktzyklen verschwenden Stack-operationen bei 
Unterprogramm-aufrufen.
Interruptvector, Maskenregister, Speicherverwaltung, CPU-Flags, 
Addresierungsarten, .. all das lernt man beim Assembler schreiben, 
während C das  vor dem Programmierer versteckt.

Das dickste Projekt das ich mal in Assembler (8bit PIC-Clone in den 
Neunzigern) schrieb war eine PCMCIA-HD Speicherroutine auf einem FAT16 
Filessystem.  Einen brauchbaren Compiler gab es zu dieser zeit nicht, 
viele Routinen habe ich vorher in C auf einem MS-DOS-PC getestet.

Hat man mal intensiv Assembler programmiert versteht man Mikrocontroller 
gut genug um diese auch in C ausreichend optimal programmieren zu 
können.

MfG

von DerSchlangen (Gast)


Lesenswert?

Also ich denke die frage des TE kann man nur mit einigen 
Zusatzinformationen gut und ohne schlechtes Gewissen beantworten. Was 
will der TE mit dem µc hinterher machen bzw. wofür braucht er das 
wissen? Will er nur eine kleine "Sache" realisieren weil er das bei nem 
Kumpel gesehen hat und auch mal will oder will er einen richtigen µc 
Einstieg weil er sich Beruflich auf was Vorbereiten muss? Auch sollte 
die Frage beantwortet werden wie tief den das Wissen was er sich 
aneignen möchte sein soll, reicht es wenn er für seine Sache ein 
Programm zusammengeschustert bekommt oder will er mehr?

Ich für meinen Teil finde um µc zu lernen, als Quereinsteiger ohne große 
Vorkenntnisse, die Kombination Arduino UNO + das Arduino Buch vom 
O'reily Verlag sehr gut. Für die ersten Projekte und die ganz 
rudimentären Hobbybastler sollte das ein guter Einstieg sein. Im Buch 
wird dann C++ verwendet welches gerade zu Anfang geschätzte 90% 
identisch mit C ist. Vorteile davon sind: Man brauch den Fokus nicht auf 
Hardware zu legen weil diese, gekauft als Shields (Erweiterungs bzw. 
Funktionsplatinen), [meistens] funktionieren und man sich nur auf die 
Software konzentrieren kann.
Wie weit man nach diesem Einstieg weitergeht kann man mit dem guten 
Grundwissen dann doch schon selber einschätzen...

Übrigens kann ich nur beipflichten das man vorher auch mal das ein oder 
andere Programm für Windows in C schreiben kann :-)


Wie bereits erwähnt das ist meiner Meinung nach ein Hobbyeinstieg in das 
Thema - ich hab es ähnlich gemacht.


Ansonsten soll es der TE halten wie es hier schon in ähnlicher Form 
gesagt wurde: Mach das was am meisten Spass macht und was für dich am 
Interessantesten ist so lange du damit nicht deine Brötchen verdienen 
musst.

von Garden (Gast)


Lesenswert?

Manu,
vielleicht hilft Dir auch dieser Video-Kurs zur uC-Programmierung in C:

http://ET-Tutorials.de/Mikrocontroller

Der Kurs ist kostenlos und richtet sich an Anfänger

von Tobi (Gast)


Lesenswert?

Moin,

>Gibt es eigentlich Empfehlens werte Bücher für Anfänger. Die gut
>verständlich sind und auch Spaß beim Lesen machen.

Lies am bestens zuerst ein hinreichend komplexes Dokument eines 
Standardisierungsgremiums. Danach ist jedes C Buch verstaendlich und 
macht Spaß.

Nichts für Ungut,
Tobi

von F. F. (foldi)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Dazu braucht er noch keinen µC. Das
> verkompliziert nur den Prozess des C lernens.

Anders macht es aber mehr Spaß und er will ja das Programmieren für die 
µC lernen, also warum nicht gleich "blink, blink", statt "Hello World!"!

Ich freute mich wie ein Kind, als ich die ersten 'Blinkies' programmiert 
hatte.
Mein Sohn macht gerade Fachabitur im IT Bereich. Es ist doch nahezu 
ekelhaft auf einem Windows Rechner dieses schwarze Fenster sehen zu 
müssen.

Ist nur meine persönliche Meinung, aber dann doch lieber alles blinken 
lassen.
Man lernt ja nicht nur das Blinken, sondern befasst sich mit den 
Bauteilen, den Programmern und alles was man so braucht. Man fängt an 
sich einen Grundstock aufzubauen. Das alles gehört doch zu der µC 
Programmiererei dazu.

von Karl H. (kbuchegg)


Lesenswert?

F. Fo schrieb:

> Ich freute mich wie ein Kind, als ich die ersten 'Blinkies' programmiert
> hatte.

Ja ich sehs. Ich sehs jeden Tag.
Leute die C programmieren wollen und von dem was sie eigentlich an 
Grundlagen wissen sollten lediglich 10% beherrschen. Und selbst die 
sitzen nicht richtig.

von oldmax (Gast)


Lesenswert?

Hi
Ich würd das nicht ganz so hoch bewerten. Klar, eine Programmiersprache 
lernen, da halte ich einen µC auch für ungeeignet. Wohlgemerkt, der 
Focus liegt auf "Programmiersprache lernen". Wenn es aber darum geht, 
ein paar Basteleien mit einem µC umzusetzen, eben weil es einen freut, 
wenn etwas blinkt, dann darf man auch gleich mit einem Controller 
anfangen. Aber hier liegt eben der Focus etwas anders.
Ich muß gestehen, ich hab früher auch gern mit Elektronik gebastelt, 
aber programmieren hab ich mit HC und später mit PC gelernt.
Gruß oldmax

von alex8 (Gast)


Lesenswert?

Schau Dir das Buch "Powerprojekte mit Arduino und C" ISBN-10: 3645651314 
an. Dabei wird mit Atmel Studio 6 gearbeitet (und nicht mit der Arduino 
IDE). Ich finde, die erklärende Beschreibungen besonders hilfreich.

von F. F. (foldi)


Lesenswert?

alex8 schrieb:
> Schau Dir das Buch "Powerprojekte mit Arduino und C" ISBN-10: 3645651314
> an. Dabei wird mit Atmel Studio 6 gearbeitet (und nicht mit der Arduino
> IDE). Ich finde, die erklärende Beschreibungen besonders hilfreich.

Hätte ich mal eher wissen sollen.:-)

von F. F. (foldi)


Lesenswert?

oldmax schrieb:
> Wohlgemerkt, der
> Focus liegt auf "Programmiersprache lernen".

Eben nicht!

Manu MI schrieb:
> Welche Programmiersprache sollte man können um µc zu Programmiren

Für mich liegt das Ziel hier klar bei den Mikrocontrollern.

von F. F. (foldi)


Lesenswert?

Karl Heinz Buchegger schrieb:
> F. Fo schrieb:
>
>> Ich freute mich wie ein Kind, als ich die ersten 'Blinkies' programmiert
>> hatte.
>
> Ja ich sehs. Ich sehs jeden Tag.
> Leute die C programmieren wollen und von dem was sie eigentlich an
> Grundlagen wissen sollten lediglich 10% beherrschen. Und selbst die
> sitzen nicht richtig.

Natürlich weiß ich was du sagen willst, aber ich empfinde das trotzdem 
viel spannender und schöner, gerade wenn man Elektronik entwickeln will, 
das gleich da zu machen.
Karl-Heinz, du hast mir direkt und auch sehr oft indirekt bei 
Fragestellungen geholfen und ich bin immer noch der Meinung, wenn du ein 
Buch schreiben würdest, dann hilft das vielen Mensche weiter. Du hast 
eine tolle Art etwas zu erklären; glasklar auf den Punkt gebracht.
Ich bin ja ein erklärter Fan von dir.
Aber ich muss sagen, dass es immer auf die Person selbst ankommt, ganz 
gleich wie sie anfängt zu lernen. "Hau ruck" und sich mit Wenigem 
zufrieden geben, das ist sicher bei ner Menge Leuten so.
Ich hatte mit Arduino angefangen, lerne jetzt C und danach will ich  den 
C++ Wälzer mit seinen über 1000 Seiten durcharbeiten. Die angesetzte 
Zeit, die ich für mich plane, sind fünf Jahre. Aber ganz nebenbei lerne 
ich noch eine Menge über Elektronik. Genau dafür will ich programmieren 
und wenn ich das nicht alles irgenwie gleichzeitig machen würde, so wäre 
ich im Rentenalter erst so weit etwas sinnvolles zu bauen.

Genauso wie hier Arduino verteufelt wird. Ohne Arduino hätte ich nicht 
nach knapp drei Monaten das erste Projekt abgeschlossen. Bei dem ich 
einen Codeschalter (und wie hatte der mich genervt) einsetzte, 
Temperatur und Feuchtigkeit über einen DHT 11 erfasste und entsprechende 
den Bedingungen verschiedene Lüfter ansteuerte.
Gerade die Probleme (wie ich sie mit dem Codeschalter hatte) bei der 
Elektronik lernt man doch so gleich mit.

Grundsätzlich hast du recht, wenn es nur um das Lernen einer 
Programmiersprache geht.
Aber er schrieb ja ausdrücklich wofür er das lernen will und da kann ich 
nur sagen, nimm das Klavier, wenn du Klavier spielen lernen willst und 
lass die Gitarre in der Ecke stehen.

von Svenska (Gast)


Lesenswert?

Wenn du Klavier spielen willst, fängst du in der Regel mit Noten an. 
Nach den Noten kommen Akkorde und irgendwann später auch Melodie mit 
Begleitung.

Noten und Akkorde sind unabhängig vom Klavier.
C ist unabhängig vom Mikrocontroller.

Wer C, Assembler oder "Programmieren" auf dem PC begriffen hat, für den 
ist das auf dem µC nicht mehr schwer. Direkt von Null auf V-USB - das 
wird eher nix.

von oldmax (Gast)


Lesenswert?

Hi
@F.Fo
Wenn du mich schon zittierst, dann doch bitte nicht so aus dem 
Zusammenhang gerissen. Lies einfach den ganzen Thread.
gruß oldmax

von Kim S. (Gast)


Lesenswert?

am verbreitesten scheint!! C..
Ich gebe aber Pascal klar den Vorzug.
Nicht umsonst, weil in Sicherheitsrelevanten Bereichen wird sehr oft auf 
Pascal gesetzt.
Jobmäßig hat C vorteile, außer Du willst zur 
Luft>/Raumfahrt/Militär...da bist Du mit Pascal gern gesehen..auch wenn 
Dp dort auch in C  schreiben wirst von Zeit zur Zeit

von Stefan (Gast)


Lesenswert?

Wie bereits von anderen empfohlen würde ich auch in erster Linie zu C 
raten, einfach weil alle mir bekannten Mikrocontroller in irgendeiner 
Variante von C programmierbar sind.

Aber oft ist es zusätzlich sehr hilfreich, wenn man die vom C Compiler 
erzeugten Assembler Programme lesen kann. Deswegen rate ich dazu, nach 
dem Einstieg in C recht bald auch mal ein wenig in Assembler zu 
programmieren. Dabei lernt man ganz nebenbei auch weitere Details der 
CPU, mit denen sich ein C programmierer (zumindest für den Anfang) nicht 
auzukennen braucht.

C ist auch hilfreich, um später C++, Java oder C# zu lernen. Denn diese 
Sprachen basieren meiner Erkennnis nach alle auf C. Selbst wenn man in 
Zukunft hauptsächlich in diesen höheren Sprachen arbeiten wird, ist die 
Zeit, die man in das Lernen von C gesteckt hat nicht vergeudet. Denn 
fast alles, was C kann, ist in den höheren Sprachen 1:1 ebenfalls 
enthalten.

Auch ich würde allerdings dazu raten, die Programmiersprache C erstmal 
auf einem normalen PC zu lernen. Da hat man einen tollen grafischen 
Debugger, sowie Tastatur und Bildschirm. Beim Mikrocontroller hast Du 
Anfangs warscheinlich keinen Debuggger, und für die Ein-/Ausgabe nur 
Taster und LED's. Das ist zwar technisch einfacher, als auch 
unkomfortabel.

Gibt mal "Hello World!" auf eine LED aus -> macht keinen Spass.

Wenn Du die Grundlagen der Programmiersprache drauf hast, kannst Du dann 
auf einen Mikrocontroller umsteigen. Am Besten nimmst Du erstmal eine 
fertige "idiotensichere" Platine (Evaluation Kit). Möglichst eine, mit 
wenig Schnick Schnack. Ein AVR, PIC oder ARM mit einigen Tastern, LED's 
und analogen Potentiometern oder Sensoren wäre schonmal was feines. 
Sowas kannst Du im "Elektronik Laden elmicro", bei "Chip45" oder bei 
"Ebay" ab etwa 15 Euro finden.

Du brauchst auch einen Programmieradapter, es sei denn, er ist bereits 
auf dem Evaluation Kit enthalten. Viele Evaluation Kits enthalten 
Programmieradapter, die Du auch für eigene Schaltungen wiederverwenden 
kannst. Manche Kits enthalten einen Bootloader mit seriellem oder USB 
Anschluss. Der Bootloader ist in der Regel ein vorinstalliertes Programm 
auf dem Mikrocontroller, was den Nachteil mit sich bringt, dass Du den 
Mikrocontroller (falls kaputt gegangen) nicht einfach auswechseln kannst 
- es sei denn, Du hast zusätzlich einen anderen Programmieradapter.

Wenns ein ARM sein soll, schau mal bei "Mbed" vorbei. Da bekommst Du 
Hardware und eine Web basierte Entwicklungsumgebung. Ist nicht billig, 
aber besonders Einsteigerfreundlich - finde ich jedenfalls. Oder das 
"STM32 Discovery" welches mir extrem billig aber nicht schlecht 
vorkommt.

Vom Arduino möchte ich abraten, weil deren Programmierumgebung zu sehr 
von den Grundlagen ablenkt. Mit Arduino steuerst Du in windeseile coole 
Sachen wie Ethernet, Touch Screens und so an, aber hast danach keine 
Ahnung, wie und warum es funktioniert. Für Schnellschüsse ist Arduino 
sicher prima, aber nicht, um die Grundlagen zu erlernen.

Wenn Du magst, darfst Du auch mein Tutorial runterladen. Es richtet sich 
an Einsteiger, die auch von der Elektronik noch keine Ahnung haben: 
http://stefanfrings.de/mikrocontroller_buch/index.html

von Julius (Gast)


Lesenswert?

Hallo Manu MI,

ich hatte mich damals hier rein gekniet: http://www.mystm32.de wenns 
nicht gleich ein ARM sein soll gibts was ähnliches hier: 
http://www.avr-cpp.de ... ansonsten provoziert eine solche Frage hier 
dann doch eher Glaubenskriege **LOL**  Fang mit dem an was dir 
persönlich am besten gefällt von mir auch auch BASCOM ;-) ALLES GUT!

Gruß

von Axel S. (a-za-z0-9)


Lesenswert?

Karol Babioch schrieb:
> Was mir an Axel's Aussage ein wenig gegen den Strich geht, ist das
> Schwelgen in Nostalgie und die Aufzählung von "Oldtimern", die er
> vermutlich zum Lernen verwendet hatte. Ich behaupte jetzt einfach mal,
> dass man auch heute wunderbar das Programmieren lernen kann und dafür
> keine längst "verdrängten" Architekturen bzw. Plattformen braucht.

Kann man sicher. Aber es wird nicht leichter. Z.B. konnte man mit dem 
C64 und dem beiliegenden, vielleicht 100 Seiten starken Heftchen sofort 
loslegen.

Jetzt vergleiche das mal mit z.B. einem ATmega88. Da hat das Datenblatt 
des Controllers schon mehr Seiten. Und man muß außerdem noch die 
Bedienung der Programme auf dem PC lernen. Man braucht einen 
Programmier-Adapter. Man muß den ganzen Schmonzes richtig verbinden. Und 
wenn es nicht geht, ist es entschieden nichtrivial, herauszufinden woran 
es genau liegt. Das kann eine fehlende Masseverbindung sein, der 
nichtvorhandene Abblock-Kondensator an der Betriebsspannung oder ein 
falsches Häkchen im "Fuses" Dialog.

Die ganz einfachen hardwarenahem Systeme von früher haben es dem 
Anfänger viel leichter gemacht, zu einem Erfolgserlebnis zu kommen.

Weil du spekuliert hast: ich habe das Programmieren in der Tat auf der 
nackten Hardware gelernt; damals gab es weder PC noch µC (nicht in 
diesem Teil von Deutschland). Konkret war das ein Poly-880, ein 
Einplatinencomputer mit Z80-kompatibler CPU, PIO, CTC, 1K RAM, 2K ROM, 
8-stellige 7-Segment-Anzeige, Hex-Tastatur. Programmiert wurde, indem 
man Hex-Zahlen ins RAM tippte. Als Bonus gab es LEDs an jeder Busleitung 
und Einzelschrittbetrieb per Taster. Man konnte den Bits beim Wackeln 
also zusehen. Das war super zum Lernen.

Klar gibt es heute viele tolle Dinge, die mit dem "alten Krempel" 
undenkbar waren. USB. Grafikdisplays. Speicherkarten. Und es wird auch 
kaum noch Assembler programmiert. Ich finde das schade, weil man so 
überhaupt keine Vorstellung mehr davon hat, was im Inneren der Maschine 
passiert. Und nenn mich ruhig nostalgisch, aber ich glaube daß ein 
Programmierer Assembler wenigstens lesen können muß. Sonst ist er 
keiner.


XL

von F. F. (foldi)


Lesenswert?

oldmax schrieb:
> Hi
> @F.Fo
> Wenn du mich schon zittierst, dann doch bitte nicht so aus dem
> Zusammenhang gerissen. Lies einfach den ganzen Thread.
> gruß oldmax

Das war doch eine klare Aussage von dir und vom TO.
Ich finde den Ausschnitt völlig legitim, denn das las ich aus deiner 
Aussage und damit liegst du nach meiner Meinung, so wie ich den TO 
verstehe, falsch.

von F. F. (foldi)


Lesenswert?

Um hier mal den Glaubenskrieg zu beenden und noch einmal klar zu machen 
was ich meine, meine letzte Aussage hier.

Vorher noch:
Über C zum Anfang sind wir uns wohl alle einig.

Mag sein, dass ihr in der Sache als solche, die Programmiersprache zu 
verstehen richtig liegt, aber ich meine es soll doch einer Sache dienen 
und wieso das nicht anhand der dienlichen Sache lernen? Dabei ein KR, 
wohl immer noch eines der besten Bücher (meines war sogar so gut, dass 
ich es nie mehr zurück bekam ;-)), vielleicht auch ein anderes C Buch. 
Ein einfaches Buch (wurde oben schon vorgestellt), das anhand von 
einfachen Beispielen die Programmierung von aktuellen Mikrocontroller 
erklärt.
Wenn der TO genau so wie viele hier ist, dann wird er sowieso noch ein 
und ein weiteres Buch lesen, ganz tief eindringen wollen in die Materie.

Seit 25 Jahren habe ich mit Elektronik zu tun und trotz viel Basiswissen 
hatte ich noch nie etwas entwickelt, geschweige denn eine eigene 
Schaltung gebaut. Ich kam mir richtig doof vor, hatte so meine 
Berührungsängste, aber es machte (und macht noch immer) einen irren 
Spaß, diese ganze Elektronik.

Ganz nebenbei hab ich mittlerweile Geräte repariert, die ich vorher 
weggeschmissen hatte.
Es ist ja nur meine persönliche Meinung, trotzdem finde ich nützlicher 
gleich in den endgültigen Schuhen los zu laufen, sprich, gleich auch mit 
der Hardware anzufangen.
Man kann doch nicht pauschal sagen, "... dann lernt der C nie richtig!"

Schönen Abend!

von oldmax (Gast)


Lesenswert?

Hi
Eigentlich ist die entscheidende Info ja schon in der ersten Antwort 
gegeben: "Das was dir am einfachsten fällt".
 Die Frage lautet, und jetzt reiße ich auch mal etwas aus dem 
Zusammenhang:
>Welche Programmiersprache sollte man können um µc zu Programmiren
Um etwas zu können, muss man ja erst einmal lernen.
So, das reicht.
>Über C zum Anfang sind wir uns wohl alle einig.
Glaub ich auch nicht. Einig sollten wir über die erste Antwort sein.
Entscheidend ist nicht das Fahrzeug, das ich fahre, entscheidend ist das 
Ziel. Kann ich ein Fahrzeug fahren, geht das auch nach kurzer 
Einfahrzeit mit jedem anderen.
Um selbst ein Ziel zu erreichen muss man lediglich fahren können.
Gruß oldmax

von Kim S. (Gast)


Lesenswert?

Und als ideale Sprache zum lernen wurde schleißlich Pascal entwickelt 
:-)
Hier eignet man sich einen sauebren Programmierstil an kann auch sofort 
am PIC/Atmel/Arm damit arbeiten...
Merh Community gibts bei C..dummerweise benötigt man die bei C aber auch 
erheblich häufiger, wohingegen bei BAscom oder Pascal nur noch fragen 
kommen, wenn es ans eigenmachte geht..bei C oft genug schon beim 
drumherum...
so, jetzt wird die Diskussion wieder etwas hitziger :-)

von Peter D. (peda)


Lesenswert?

Kim Schmidt schrieb:
> Und als ideale Sprache zum lernen wurde schleißlich Pascal entwickelt
> :-)

Kann mich auch noch dunkel daran erinnern, ich hab mal mit Turbo-Pascal 
unter DOS 3.3 angefangen.
Aber irgendwann dachte ich, starte dochmal Turbo-C. Das war der 
Todesstoß für TP gewesen.
Die kontextsensitive deutschsprachige Hilfe mit Beispielen machte das C 
Lernen sehr einfach.

von Oliver (Gast)


Lesenswert?

Kim Schmidt schrieb:
> Und als ideale Sprache zum lernen wurde schleißlich Pascal entwickelt
> :-)

was in seiner Nikolaus-Wirthschen Reinform für praktische Anwendungen, 
besonders auf Mikrocontrollern, absolut ungeeignet war.

Und das N. Wirth danach auch noch Modula entwickelt hat, hat auch einen 
Grund.

Oliver

von Kim S. (Gast)


Lesenswert?

Soo,..solche Kommentare habe ich erwartet :-)
 Mikrocontroller werden nach wie vor sehr viel in Pascal programmiert, 
überall wo es wichtig ist und Übersicht gefragt ist..
Und das Beispiel mit Modula...naja..offensichtlich ist Dir entgangen das 
es z.B. Units bei Pascal gibt..
Wenn eien Sprache nciht weiterentwickelt würde, hättest Du recht.
Heutzutage ist es wurscht ob C  oder Pascal.auch 
Geschwindigkeitsvorteiel gibt es weder für das eine noch für das 
andere..

Einzig die Übersicht ist bei Pascal unstrittig am besten!
Der Syntax am leichtestes verständlich...

Beim rest geht es wirklich wie gesagt, nur noch um die Vorlieben..
Pascal ist nicht weniger geeigent für µc als C

von Oliver (Gast)


Lesenswert?

Kim Schmidt schrieb:
> Heutzutage ist es wurscht ob C  oder Pascal

So ist es.

Oliver

von Kim S. (Gast)


Lesenswert?

ich hatte vor kurzem sogar die Basic/Pascal vergleichsseite eines Basic 
Users gesehen :-)
Da sieht Basic plötzlich auch gar nicht soo schlecht aus :-)
Ist halt immer die Frage wonach man sucht :-)
Suche ich "Warum C scheiße ist" finde ICH was ich sehen will :-)
Suche ihr nach "Warum Pascal scheiße ist" findet man nichts außer 
Berichte über einen Jungen namens Pascal der wohl ziemlich nervt 
hehe..sonst nichts :-) Spaß  :-)

von Fritz (Gast)


Lesenswert?

Oliver schrieb:
>> Heutzutage ist es wurscht ob C  oder Pascal
>
> So ist es.
>
> Oliver

Und wo gibt es Betriebssysteme für uC in Pascal?
Wo gibt es kostenlose Compiler für uC und Pascal?
Wo gibt es IDE's für uC und Pascal?

von Bernd S. (bernds1)


Lesenswert?

- E-lab
- microPascal
- FreePascal

sind schonmal 3, die mir spontan einfallen. Wenn man etwas sucht, findet 
man bestimmt noch mehr.
Un am "kostenlos" würde ich es erstmal nicht festmachen. Da gibt's auch 
für C Produkte, die jenseits von gut und böse sind...

von Kim S. (Gast)


Lesenswert?

und das tolle an all diesen Programmen..bei Freepascal weiß ichs nicht 
genau..Auspacken, einschalten geht :-)
Kein Gefummel, kein Gefrickel, nichts...einfach Donwloaden, Proggen und 
auch Compile klicken und dann flashen..Und schon ist die µc Welt bunt

von Fritz (Gast)


Lesenswert?

Bernd S. schrieb:
> - E-lab
> - microPascal
> - FreePascal
>

Deine Beispiele sind entweder sehr proprietär für PIC oder eine andere 
Plattform.
FreePascal kann ich auf die schnelle nicht beurteilen.

> sind schonmal 3, die mir spontan einfallen. Wenn man etwas sucht, findet
> man bestimmt noch mehr.
> Un am "kostenlos" würde ich es erstmal nicht festmachen. Da gibt's auch
> für C Produkte, die jenseits von gut und böse sind...

Ich behaupte nun einmal, dass du mit jedem der Demoversionen der 
kommerziellen IDE-s für C (IAR, Keil, ...) innerhalb kürzerster Zeitdas 
typische "Hello World" Programm für alle unterstützten CPUs erstellen 
kannst. Jeder Chiphersteller hat Unmengen von C-Code für seine Chip im 
Web (Z. B. ST: STM-Peripheral libraries für die Cortexe), aber nicht für 
Pascal. Beispielprogramme in C sind praktisch für alle 
Entwicklungsboards verfügbar.
Ich möchte Pascal nicht schlecht machen, es mag vielleicht C und Pascal 
als Programmiersprache gleichwertig sein, aber der Weg zu einem 
lauffähigen Programm über Pascal ist viel viel steiniger.

von Bernd S. (bernds1)


Lesenswert?

Du hast schon recht, C hat sich wesentlich weiter durchgesetzt und es 
ist jede Menge darüber zu finden. Ich weiß das, und auch ich verwende 
hauptsächlich C für die AVR-Programmierung. Ich tu das aber auch 
hauptsächlich beruflich. Privat interessiere ich mich schon auch für 
andere Sprachen. Unter anderem eben Pascal.

Und damit sind wir schon beim Thema. Stell dir mal einen Menschen vor, 
der in seinem Leben schon sehr viel Pascal programmiert hat, oder 
Delphi, Kylix und dann Lazarus, was ja alles auf Pascal basiert. Und 
davon gibts eine ganze Menge, eine riesengroße Community. Dieser Mensch 
hat jetzt die Welt der Elektronik entdeckt und die µC's und will sie 
auch programmieren. Der tut sich doch um einiges leichter, wenn er mit 
"seiner" vertrauten Sprache Pascal weitermachen kann, als wenn er jetzt 
anfängt, C zu lernen. Er muß nur die Besonderheiten, die das 
hardwarenahe Programmieren mit sich bringen, lernen. Die Sprache an sich 
beherrscht er schon. Das ist doch ein Argument, oder?

Ich will keine Wertung treffen, jede Sprache hat ihre 
Existenzberechtigung.
Nicht alles, was sich mehr durchsetzt und verbreitet, ist unbedingt auch 
besser. Da spielen viele Dinge mit rein. Das Marketing der Firmen, 
Werbung und vieles mehr. Und bei C hat eben zur Verbreitung kolossal 
beigetragen, daß die meisten Betriebssysteme in C geschrieben worden 
sind. Mittlerweile gibt es auch viele Stimmen, die meinen, man hätte 
sich viel Kummer ersparen können, wenn man es gleich in einer richtigen 
Sprache gemacht hätte. Aber damals war C eben das Maß der Dinge. Und 
durch diese weite Verbreitung ist es das heute noch. Das ist eben ein 
Phänomen, was sich selbst am Leben erhält.

Meiner Meinung nach soll jeder mit dem programmieren, was er für das 
beste hält und mit dem er am besten zurecht kommt. Ich habe selbst schon 
viel probiert, alles hat seine Vor- und Nachteile.

P.S.:
Übrigens, ich sehe gerade den Einwurf: Die Beispiele sind nicht für PIC 
oder sowas. Alle drei gibts für Atmel. Die ersten beiden auch für AVR, 
das Freepascal unter anderem für ARM (und viele Plattformen bis hin zum 
PC), aber nicht für AVR. Aber hier ging es ja nicht nur um AVR, sondern 
allgemein um µC.

von Kim S. (Gast)


Lesenswert?

zumindest Mikropascalgibt es für ARM, Atmel AVR, PIC, 8081 etc pp

von Cyblord -. (cyblord)


Lesenswert?

Mal ehrlich, Pascal Programmierer nimmt doch niemand ernst. An der Uni 
gabs immer witze drüber bzw. war das "Pascal-Programm" ein Synonym für 
schlechten Code. In der Industrie wird man da ebenfalls nicht viel 
finden. Aus gutem Grund. Pascal machen halt nur die Leute die es schon 
immer machen, die früher mit Delphi gefrickelt haben und sich nicht 
weiterentwicklen wollten. Denkfaul oder halt zu schlicht für C.

gruß cyblord

von Michi (Gast)


Lesenswert?

cyblord ---- schrieb:
> Denkfaul oder halt zu schlicht für C.
Nein. Die meisten sind nur keine Sadomasochisten, wenn es darum geht, 
ein neues Projekt in Software anzulegen.

von Kim S. (Gast)


Lesenswert?

eben so siehts aus.
Für viele hier ist C einfach ein Hobby, wie an alten Autos schrauben 
oder Linux :-)
Wenn man aber schnell ohne großen Recherche zum Ziel kommen will und 
nicht der Weg das Ziel sondern das Ergebnis das Ziel ist..ist man mit 
Pascal super bedient..
Wenn es einem ums frickeln und knobeln geht nimmt man Linux ähh..C :-)
VAber nict für alle ist die Sprache an sich das hobby, sondern z.B: der 
Aufbau eienr Schaltugn die dann funktioneiren soll..und man nicht noch 
weitere tage Arbeit ins Knobeln von C Programmen stecken will...
Ganz so extrem isses natürlich nicht..aber...doch eigentlich isses genau 
so :-)

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

cyblord ---- schrieb:
> Mal ehrlich, Pascal Programmierer nimmt doch niemand ernst. An der Uni
> gabs immer witze drüber bzw. war das "Pascal-Programm" ein Synonym für
> schlechten Code. In der Industrie wird man da ebenfalls nicht viel
> finden. Aus gutem Grund. Pascal machen halt nur die Leute die es schon
> immer machen, die früher mit Delphi gefrickelt haben und sich nicht
> weiterentwicklen wollten. Denkfaul oder halt zu schlicht für C.

Anscheinend siehst Du hier die Welt ziemlich einäugig. Du solltest Dich 
mal über Delphi auf den Embarcadero Seiten gründlich informieren, um 
über diese Sprache ein fundiertes Urteil abgeben zu können und nicht das 
nachplappern was Du so gehört hast.

http://www.embarcadero.com/de/products/delphi

Anscheinend ist Dir auch nicht bekannt, wie viele umfangreiche 
Unternehmens-Software in Delphi geschrieben ist und auch noch erstellt 
wird. Im übrigen sind Firmen-Applikationen in Delphi um ein vielfaches 
schneller und fehlerfreier erstellt als in C. Und erheblich lesbarer und 
wartungsfreundlicher ist die Software dann auch noch.

von Bernd S. (bernds1)


Lesenswert?

cyblord ---- schrieb:
> Mal ehrlich, Pascal Programmierer nimmt doch niemand ernst. An der Uni
Im Gegenteil, Leute mit einem beschränkten Horizont nimmt niemand ernst.
Es gab Witze, also ist die Sprache schlecht, oder?
Dann schauen wir uns mal keine Witze an, sondern gewichtige Argumente:
http://www.kuro5hin.org/story/2004/2/7/144019/8872

Nur weil alle über Pascal-Witze lachen, lacht man eben mit. Man will 
sich einfach nicht mit etwas anderem beschäftigen und sich nicht 
umfassend informieren über das Objekt des Witzes. Man heult eben mit der 
Meute, sonst könnte man als Versager gelten, wenn man sich eigene 
Gedanken macht. Mitlachen ist ja so einfach, dann gehört man dazu...

> Denkfaul oder halt zu schlicht für C.

Das sind Argumente aus der Manta-Szene. "Boah eeh, der fährt keinen 
Manta, wie beschränkt ist der denn. Nur Manta issn richtiges Auto..."

Manchmal sollte man auch über den Tellerrand schauen, oder?

Ich sagte ja schon, ich verurteile keine Sprache, auch C nicht. Ich 
programmiere selber viel in C. Aber alles andere schlecht machen, nur um 
sich selbst als besser darzustellen, das ist mehr als mies und unterste 
Schublade.

von Spess53 (Gast)


Lesenswert?

Hi

>Anscheinend ist Dir auch nicht bekannt, wie viele umfangreiche
>Unternehmens-Software in Delphi geschrieben ist und auch noch erstellt
>wird.

Stimmt. Sogar ältere AVR-Studios waren zumindest teilweise in Delphi 
programmiert.

MfG Spess

von Cyblord -. (cyblord)


Lesenswert?

Also erstmal, niemand sagt hier, man solle Windows Desktop Anwendungen 
in C schreiben. Ich bin sogar dagegen die in C++/QT hinzukloppen, da 
gibts heute einfach schönere Möglichkeiten. Da würde ich vorher lieber 
Visual C# oder Java/Swing nehmen.
Also es macht gar keinen Sinn, C mit Pascal im Hinblich auf High-Level 
Programmierung zu vergleichen. C ist eine Systemnahesprache und ein 
Microcontroller wird nunmal meist sehr systemnah programmiert.
Da machen Pseudoargumente wie fehlende Datentypen (String) oder 
Buffer-Overflow anfällige Funktionen überhaupt keinen Sinn. Das ist ein 
Äpfel und Birnen Vergleich. Als ob die stärken und schwächen von C nicht 
hinlänglich bekannt wären. Naja wohl nicht allen...
Aber Pascal Programmierer glauben wohl alles was im Netz steht und 
irgendwie gegen C hetzt. Woher sollen sie es auch besser wissen, die 
wenigsten von denen wollen überhaupt über den Tellerrand schauen. Aber 
natürlich werden sie nicht müde, anderen zu unterstellen sie hätten 
einen eingeschränkten Horizont. Drolliges Halbwissen grasiert dort. 
Wobei ich eben "Schlicht" bevorzuge. Man sehe es mir nach.

gruß cyblord

von Michi (Gast)


Lesenswert?

cyblord ---- schrieb:
> Aber Pascal Programmierer glauben wohl alles was im Netz steht und
> irgendwie gegen C hetzt. Woher sollen sie es auch besser wissen, die
> wenigsten von denen wollen überhaupt über den Tellerrand schauen. Aber
> natürlich werden sie nicht müde, anderen zu unterstellen sie hätten
> einen eingeschränkten Horizont.
Du sprichst von den "Pascal Programmieren". Hast DU jemals mit dieser 
Sprache gearbeitet?

von Bernd S. (bernds1)


Lesenswert?

cyblord ---- schrieb:
> Also erstmal, niemand sagt hier, man solle Windows Desktop Anwendungen
> in C schreiben.
Das brauchst du auch nicht sagen, es haben schon tausende von Leuten mit 
Erfolg gemacht.

> Ich bin sogar dagegen die in C++/QT hinzukloppen, da
> gibts heute einfach schönere Möglichkeiten. Da würde ich vorher lieber
> Visual C# oder Java/Swing nehmen.
Kannst du doch machen. Nur das Ergebnis zählt. Warum machst du immer 
anderen Leuten Vorschriften? ("Ich bin sogar dagegen...")

> Da machen Deppenargumente wie fehlende Datentypen (String) überhaupt
> keinen Sinn.
Schon wieder wirst du beleidigend gegen andersdenkende Menschen.

> ... und irgendwie gegen C hetzt.
So wie du gegen alles, was nicht C ist, hetzt. Ist das besser?

> Woher sollen sie es auch besser wissen, die wenigsten von denen
> wollen überhaupt über den Tellerrand schauen.
Argumente von von anderen machst du dir auch zu nutze, um deine Sicht zu 
begründen?

> Wobei ich eben "Schlicht" bevorzuge.
Die Beleidigungen hören nicht auf.

Wenn du dir mal diesen Thread anschaust, wirst du feststellen, daß hier 
viele Leute ihre Meinung gesagt haben. Es wurden eine ganze Menge 
Meinungen geäußert, die auch nicht immer übereinstimmten, zum Teil auch 
gegensätzlich waren. Eben eine Diskussion. Dabei muß man nicht einer 
Meinung sein. Jeder hat nun mal seine eigene Meinung, sonst wäre es ja 
langweilig. Und wir sind alle Individuen, und jeder hat seine eigenen 
Erfahrungen gemacht. Man hat einfach miteinander diskutiert.
Und dann plötzlich bist du aufgetaucht und hast alle, die nicht deiner 
Meinung sind, als "denkfaul" oder "schlicht" oder "Deppen" bezeichnet. 
Fällt dir was auf? Es gab auch andere, die Argumente für C und gegen 
Pascal vorgebracht haben. Aber kein einziger hat das Recht beansprucht, 
daß seine Argumente die einzig gültigen sind und er deswegen das Recht 
hat, andere zu beschimpfen. Erst als du dazu kamst, ging das Niveau von 
einem gehaltvollen und interessanten Meinungsautausch in den Keller. Das 
gleiche habe ich von dir schon in vielen anderen Threads erlebt. Was 
willst du damit bezwecken? Willst du dich interessant machen? Warum läßt 
du keine andere Meinung außer deiner gelten und beschimpfst statt dessen 
alle? Egal um was es geht, dein Verhalten ist unterste Schublade.

So, das mußte jetzt einfach mal gesagt werden. Ich diskutiere gern, und 
wenn ich mich irre, laß ich mich auch vom Gegenteil überzeugen. 
Diskussionen machen Spaß und man lernt auch was bei dem 
Gedankenaustausch. Aber wenn du dazu kommst, wird nur noch Haß und 
Arroganz verstreut.
Denk mal drüber nach. Viele haben schon ihrem Ärger über dich Luft 
gemacht und du hast es bis jetzt immer ignoriert. Es wird Zeit, daß du 
wirklich mal in dich gehst, ok?

Und allen anderen wünsche ich einen schönen Abend und ein schönes 
Wochenende (ohne Ärger)!

von Cyblord -. (cyblord)


Lesenswert?

Bernd S. schrieb:
> cyblord ---- schrieb:
>> Also erstmal, niemand sagt hier, man solle Windows Desktop Anwendungen
>> in C schreiben.
> Das brauchst du auch nicht sagen, es haben schon tausende von Leuten mit
> Erfolg gemacht.
Klar, aber optimal ist es halt nicht.

>> Ich bin sogar dagegen die in C++/QT hinzukloppen, da
>> gibts heute einfach schönere Möglichkeiten. Da würde ich vorher lieber
>> Visual C# oder Java/Swing nehmen.
> Kannst du doch machen. Nur das Ergebnis zählt. Warum machst du immer
> anderen Leuten Vorschriften? ("Ich bin sogar dagegen...")
Das sind keine Vorschriften, nur eine Meinung.

>> Da machen Deppenargumente wie fehlende Datentypen (String) überhaupt
>> keinen Sinn.
> Schon wieder wirst du beleidigend gegen andersdenkende Menschen.
Das habe ich bereits editiert, ich möchte ja nicht dass sich jemand 
beleidigt fühlt.

>> ... und irgendwie gegen C hetzt.
> So wie du gegen alles, was nicht C ist, hetzt. Ist das besser?
Nö ich arbeite mit vielem anderen neben C. Aber Pascal geht halt nicht 
klar.

>> Woher sollen sie es auch besser wissen, die wenigsten von denen
>> wollen überhaupt über den Tellerrand schauen.
> Argumente von von anderen machst du dir auch zu nutze, um deine Sicht zu
> begründen?
Ich würde halt behaupten die Mehrheit der Pascal/Delphi Programmierer 
hat vom Rest der Programmiersprachenwelt noch nicht viel gesehen.

>> Wobei ich eben "Schlicht" bevorzuge.
> Die Beleidigungen hören nicht auf.
Schlicht muss nicht negativ sein.

> Und allen anderen wünsche ich einen schönen Abend und ein schönes
> Wochenende (ohne Ärger)!
Das finde ich nun echt nicht nett dass du mir hier implizit ein 
unschönes Wochenden voller Ärger wünschst. Und das nur weil ich gegen 
Pascal bin. Du solltest etwas aufgeschlossener gegenüber anderen 
Meinungen sein.

gruß cyblord

von F. F. (foldi)


Lesenswert?

Da wollte ich nach all den vielen Meinungen auch noch mal was hinzu tun.

Also, mir wäre ja SQL am liebsten, wenn man damit nur µC programmieren 
könnte ...*fettgrins*

Was will ich damit sagen?

Unterm Strich ist es egal, denn wenn das Programm auf dem µC läuft und 
die Steuerung das tut was sie soll, dann interessiert es keinen mehr, in 
welcher Sprache das gemacht wurde.
Ich weiß, es ist nicht so ganz richtig, aber für den Hobby Bereich 
trifft das sicher zu.

Was wollen wir denn?

Wir wollen etwas bauen und das soll am Ende das tun was wir wollen und 
die ganze Sache soll Spaß machen.

Als ich das C++ Buch in die Hand (oder besser in beide, bei den über 
tausend Seiten) nahm und zu lesen begann - es mag am Buch und am 
Schriftsteller liegen - da hatte ich das Gefühl, das ist "meine 
Sprache".
Alles was ich las war verständlich und für mich logisch.
Ich habe es wieder weg gelegt, weil alle mir rieten C zu lernen und C++ 
hätte zu viel Overhead für kleinere µC.

Gut, jetzt lerne ich erst C (im Moment zwar nicht, da mache ich erst mal 
meinen Bastelplatz schön) dann will ich Assembler lernen und danach 
werde ich dann C++ lernen.
In fünf Jahren will ich das richtig können (na ja, was ist schon 
richtig?)

Wichtig ist und keiner kann das vorher genau sagen, dass einem etwas 
liegt und dass man den Spaß nicht verliert.

Arduino war gut für die ersten Gehversuche und in Kombination mit der 
Hardware und der IDE war das ein toller Einstieg. Das war für die ersten 
Monate und das erste Projekt gut.
Dabei habe ich erst erkannt wo da Grenzen sind.
C ist sicher eine breite Basis und das werden auch die Kritiker nicht 
bestreiten können.
Ob der TO überhaupt noch mit liest? Seit der Hälfte der Beiträge scheint 
der TO weg zu sein.

Es ist ohnehin die Frage wo es hin geht.
Grafische Programmierung oder vielleicht ändert sich die Hardware noch 
mal gewaltig. Wenn ich die FPGA's sehe, wer weiß was in wenigen Jahren 
noch alles auf dem Markt ist und ob man dann nicht ganz andere 
Möglichkeiten hat.
Ich denke der Spaß muss im Vordergrund stehen, wenn man das in seiner 
Freizeit macht und wenn der Bascom Programmierer seine Sachen damit zum 
laufen bringt, dann ist das auch gut.
Egal was wir lernen, wenn wir das richtig können wollen, dann müssen 
wir bei allem was wir tun sehr fleißig und ausdauernd sein.

von Axel S. (a-za-z0-9)


Lesenswert?

[Pascal]

OMFG! Pascal ist tot. Delphi ist der Zombie-Wiedergänger von Pascal.

Ja, diese Programmiersprachen haben ihre Meriten. So wie Modula-2. 
Turbo-BASIC. FORTRAN. COBOL. PL/M.

Man kann in jeder dieser Sprachen Programmieren lernen. Man könnte 
vermutlich auch heute noch Software in einer dieser Sprachen schreiben. 
Es macht nur keiner. Firmen mögen Experten für diese Sprachen suchen. 
Aber nur, um davon weg zu migrieren.

Heute würde ich sagen, ist C ok für dem Einstieg. Danach dann je nach 
Laune C++, C# (Architektur-Sackgasse) oder Java (häßlich). Für Leute mit 
Geschmack dann vielleicht doch eher Lisp oder Ruby (für die 
OO-Richtung). Oder Perl (pragmatisch). Oder PHP (noch pragmatischer).

Am Ende sind alle Programmiersprachen praktisch gleich. Die Syntax 
variiert natürlich. Und manchmal sind einfache Sachen schwierig und 
dafür (eigentlich) schwierige Sachen einfach. Viel entscheidender ist 
die Standard- (und vielleicht nicht Standard-, aber vorhandene) Library. 
Wenn man bspw. eine GUI programmieren muß, ist jede Sprache die eine 
GUI-Lib enthält, besser als jede die das nicht tut.

Ein guter Programmierer beherrscht nicht nur mehrere 
Programmiersprachen, sondern viel wichtiger: er kennt auch ihre 
jeweiligen Stärken und Schwächen und kann die für eine konkrete Aufgabe 
beste Wahl treffen.


XL

von Rene (Gast)


Lesenswert?

Ein guter Programmierer erkennt das die Sprache lediglich ein Werkzeug 
ist, welche man sinnvoll einsetzen sollte.

Grüsse,
R.

von Cminus (Gast)


Lesenswert?

Rene schrieb:
> Ein guter Programmierer erkennt das die Sprache lediglich ein Werkzeug
> ist, welche man sinnvoll einsetzen sollte.

Möchte ich unterschreiben und hinzufügen: Je schwieriger ein Werkzeug zu 
handhaben ist, desto schlechter ist es.

von maerck (Gast)


Lesenswert?

Cminus schrieb:
> Rene schrieb:
>> Ein guter Programmierer erkennt das die Sprache lediglich ein Werkzeug
>> ist, welche man sinnvoll einsetzen sollte.
>
> Möchte ich unterschreiben und hinzufügen: Je schwieriger ein Werkzeug zu
> handhaben ist, desto schlechter ist es.

Wenn ich an einer komplexen Drehbank stehe, die mir zig Möglichkeiten 
bietet, ist sie schwer zu handhaben. Ist dieses Werkzeug dann 
tatsächlich schlechter als eine Standarddrehbank mit 
Basisfunktionalität?

Ich meine nein. Solang ein Werkzeug entsprechende Basisfunktionalitäten 
aufweist, kann man sicher irgendwie damit dieselben Ergebnisse erzielen, 
jedoch hängt das a) vom Anwendungsfall ab und b) von den Fähigkeiten des 
Nutzers.

Mit Programmiersprachen ist dies vergleichbar. Einfach strukturierte 
Sprachen wie z.Bsp. Bascom sind sicher einfach in der Handhabung, aber 
auch äußerst beschränkt in der Umsetzung von Komplexen 
Aufgabestellungen, demzufolge für Nutzer mit einfachen Aufgaben und 
einfacher Denkstruktur. Komplexere Sprachen wie C, C++, Pascal, Luna 
sind anspruchsvoller bezüglich des Erfassungsvermögens und der 
notwendigen Einlernzeit des Nutzers, lassen jedoch die Umsetzung 
komplexerer Aufgaben nach der Lernphase wesentlich einfacher, schneller 
und eleganter zu.

m.

von Cyblord -. (cyblord)


Lesenswert?

Cminus schrieb:
> Rene schrieb:
>> Ein guter Programmierer erkennt das die Sprache lediglich ein Werkzeug
>> ist, welche man sinnvoll einsetzen sollte.
>
> Möchte ich unterschreiben und hinzufügen: Je schwieriger ein Werkzeug zu
> handhaben ist, desto schlechter ist es.

Ausreden der etwas Schlichten?

Stimme maerck hier 100% zu. Für manche Aufgaben braucht man komplexe 
Werkzeuge und wenn Unerfahrene diese nicht nutzen können dann sind nicht 
die Werkzeuge schlecht.

Wie weit geht die kollektive Wahnvorstellung der Bascom, Pascal und 
Arduino Fraktion denn noch? Alles was mir zu schwer ist, kann ja nix 
sein? Ist doch lächerlich so eine Einstellung. Akzeptiert doch einfach 
dass ihr euch nicht die Mühe machen könnt oder wollt komplexere Aufgaben 
mit komplexeren Werkzeugen anzugehen und ihr deshalb bei den einfachen 
Dingen bleibt. Dann ist doch alles ok.

gruß cyblord

von Bernd S. (bernds1)


Lesenswert?

Auch ich stimme maerck völlig zu.
Es gibt viele verschiedene Sprachen, und alle haben sie ihre 
Existenzberechtgung. Je nach Aufgabenstellung kann man kleinere Sachen 
(oder auch schon relativ große) zum Beispiel mit Basic lösen.

Wenn die Ansprüche steigen und mit den Mitteln, die man hat, nicht mehr 
lösbar sind, nimmt man logischerweise komplexere Sprachen, die 
übersichtlichere Programme ermöglichen und in der Lage sind, die 
Problemstellungen zu lösen.

Die Frage ist also immer: Ist meine Aufgabe mit der Sprache "x" lösbar? 
Wenn man diese Frage mit "ja" beantworten kann, warum soll man die 
Aufgabe dann unbedingt mit einer anderen Sprache lösen?

Man muß sich immer vor Augen halten: Im Endeffekt führt der Prozessor 
immer nur Maschinenbefehle aus. Der Prozessor kennt kein Basic, Pascal 
oder C, um nur einige Beispiele zu nennen. Und wenn der Prozessor seine 
Aufgabe erfüllt, ist es egal, wo die Maschinenbefehle herkommen.
Die Sprache ist nur der Weg dahin. Und Wege gibt es bekanntlich (fast) 
immer mehrere, die alle zum Ziel führen. Jeder, der programmiert, soll 
sich doch den Weg aussuchen können, den er möchte. Und nicht darüber 
Gedanken machen, ob man ihn beschimpft, wenn er den "falschen" Weg 
nimmt, obwohl er hier genauso ans Ziel kommt.

maerck hat zum Beispiel gesagt:
> Komplexere Sprachen wie C, C++, Pascal, Luna
> sind anspruchsvoller bezüglich des Erfassungsvermögens und der
> notwendigen Einlernzeit des Nutzers, lassen jedoch die Umsetzung
> komplexerer Aufgaben nach der Lernphase wesentlich einfacher, schneller
> und eleganter zu.

Und auch hier stimme ich ihm zu.

@cyblord:
Du hast das sicher überlesen, oder?

Anders ist es nicht zu erklären, daß du schon wieder alle Nutzer 
beleidigst, die nicht deiner Meinung sind, oder?

> Ausreden der etwas Schlichten?

> ...kollektive Wahnvorstellung der Bascom, Pascal und
> Arduino Fraktion...

Du begreifst es nicht, oder?
Die Welt dreht sich nicht um dich.
Du bist auch nicht der Mittelpunkt.
Du bist einfach nur jemand, der immer recht haben will. Auch mit den 
Mitteln, andere zu verunglimpfen. Das ist schlicht und einfach mies!

Niemand hier im Thread benimmt sich so schlecht wie du. Alle diskutieren 
über das Thema. Aber keiner hat hier einen anderen beleidigt.

Nur du machst das immer und immer wieder.

Du darfst doch deine eigene Meinung haben und sollst sie auch hier 
kundtun. Deswegen ist es ein Forum. Keiner will dir hier die Meinung 
verbieten! Aber höre bitte mit den rechthaberischen und arroganten 
Beschimpfungen der anderen Forenmitglieder auf! Nur darum geht es.

Gewöhn dir einen anderen Ton an!

Akzeptiere einfach, daß es außer dir noch andere Menschen auf der Welt 
gibt. Das Zauberwort heißt "Toleranz"!

von Kim S. (Gast)


Lesenswert?

@cyblord
Man könnte jetzt die Diskussion vortführen, indem man jetzt auf das 
Diskussionsniveau der User und deren bevorzugten Programmiersprachen 
rumreitet :-)
Tu ich aber nicht :-) Das es sich offenbar um Einzelfälle handelt, 
andere C Anwender können offensichtlich auch Diskutieren und haben eine 
solides Solzialverhalten...

Also cyblord..daran solltest Du wirklich nochmal arbeiten, dann würde 
ich auch nicht ständig andere Foren empfehlen, wenn die Diskussionen 
immer wie diese hier ablaufen würden

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.