Autor |
welche Programmiersprache? |
|
|
|
|
BID = 606913
Sebra Schriftsteller
Beiträge: 665
|
|
Guten Abend,
wie der Titel schon sagt, geht es hier um Programmiersprachen. Und zwar würde ich gerne eine Programmiersprache etwas beherrschen. Und da frage ich mich, welche das sein soll.
Bis jetzt habe ich Erfahrung in Pascal, aber da fehlen einfach die Anwendungsmöglichkeiten.
Was machbar sein sollte, ist folgendes:
- Erstellen von Programmen in Standard-Fenstern. Also mit Buttons und Eingabemöglichkeit von Zahlen, etwa zur Berechnung von irgendetwas (Buttons etc. sind ja IMHO unter Pascal gar nicht möglich, genauso wenig wie andere Benutzeroberflächen)
- auch das Programmieren von Microcontrollern sollte machbar sein. Da es dazu ja auch viele vorgeschriebene Beispielprogramme gibt, würde ich gerne eine Sprache lernen, die weit verbreitet ist und ich eben schon vorhandene Programme nach Belieben ändern kann.
Ich denke, es wird auf C, C# oder C++ rauslaufen.
Was würdet ihr empfehlen? Was wird meist verwendet, wenn man etwa Microcontroller programmiert?
Kann bei einfach programmierten Microcontrollern der Code von C auch in C++ verwendet werden?
Vielen Dank
sebra |
|
BID = 606916
ElektroNicki Inventar
Beiträge: 6429 Wohnort: Ugobangowangohousen
|
|
Was ist mit Visual Basic?
Das bietet sich vom Namen her an...
Gibt da sehr viele Spielereien, außer bei Bascom hat Programieren bei mir allerdings fast immer in Frustration geendet
_________________
[ Diese Nachricht wurde geändert von: ElektroNicki am 8 Mai 2009 23:10 ] |
|
BID = 606918
Sebra Schriftsteller
Beiträge: 665
|
Ich würde auch gerne mal "größere Projekte" programmieren können, und auch wenn man die Sprache nicht perfekt beherrscht, kann man mit Vorlagen aus dem Netz einiges Anfangen. Etwa Microcontroller für die Auswertung von IR-Signalen...
Ich glaube, dass in Visual Basic nicht so viele Vorlagen existieren und die Sprache nicht so verbreitet ist.
Was würdet ihr als die Vorteile bzw. Nachteile der Sprachen
C, C++, C#
nennen?
Was wird meist verwendet?
Gruß
sebra
|
BID = 606923
king_of_fools Gelegenheitsposter
Beiträge: 60 Wohnort: Wäschenbeuren
|
Kommt ganz drauf an... für Controller wird zumindest im professionellen Bereich fast ausschließlich Assembler oder C benutzt. Bei Softwareentwicklung für den PC bin ich nicht mehr auf dem aktuellen Stand, aber Visual Basic galt zumindest früher als recht einfach zu erlernen und der Verbreitungsgrad dürfte sehr hoch sein. Kann mir nicht vorstellen, dass es da so wenig Codeschnipsel im Netz gibt.
Gruß
king_of_fools
|
BID = 606928
Maddin82 Gesprächig
Beiträge: 127 Wohnort: Gernsheim
|
C++ is eigentlich die universellste sprache, auch zum lernen als "erstsprache" gut geeignet. Wenn man eine sprache kann findet man sich auch ein anderen schell zu recht (mit ausnahme von assembler).
Offtopic :
| Wird assembler wirklich noch so häufig verwendet ? Ich hab das ma gelernt aber nie praktisch anwenden müssen. In zwischen dachte ich das hat sich erldigt weil bald jedes billig haushalsgerät einen so leistungsfähigen rechner enthält das man mit hochsprachen drann gehen kann |
|
BID = 606931
LeoLöwe reloaded Schreibmaschine
Beiträge: 1407 Wohnort: Meine
|
Da du schon Erfahrungen mit Pascal hast, würde ich dir einfach mal Delphi empfehlen.
Auf einem Mikrocontroller wird das wahrscheinlich nicht laufen, aber einfache PC-Programme lassen sich in Delphi sehr schnell erstellen. Natürlich sind auch umfangreiche Projekte kein Problem, du kannst dir Komponenten usw. erstellen.
Für den µC würde ich einfach mal C empfehlen. Vor den Leuten, die diese Dinger in Assembler programmieren ziehe ich meinen Hut, ich bekomme außer einer blinkenden LED nichts mit Assembler hin.
Weil es aber auch in C relativ flott und sauber läuft, empfehle ich es einfach mal
Wenn du mit Delphi anfängst, kannst du eigentlich sogar ohne Ahnung zu haben eine hübsche Oberfläche zusammenklicken. Die gesamte Behandlung von Events & Co macht Delphi schon für dich, du musst nur im Editor auf einen Button klicken, in die vorgefertige Prozedur deinen Code einfügen und das Programm ist so gut wie fertig.
Im Internet gibt es zig tausend Komponenten für Delphi, damit kannst du dann in deine Programme Portzugriffe, Netzwerkfunktionen und noch viel mehr integrieren.
Offtopic :
| Visual Basic? |
_________________
We now return you to your regularly scheduled nonsense.
|
BID = 606934
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Moin,
Wirklich sinnvoll ist das Erlernen der typischen Kombination aus C und C++.
C ist als abstrahierte Assemblersprache recht einfach, kommt mit wenig Schlüsselwörtern aus und wird meist in kompakten, schnellen und effizienten Kode umgesetzt, was wichtig für Umgebungen mit knappen Ressourcen ist (jaja, diejenige, mich eingeschlossen, die auch mal direkt in Assembler(-sprache) kodieren, wissen, dass man immer etwas effektiver als der Compiler sein kann ).
Dafür fehlen so Dinge wie automatische Speicherverwaltung, dynamische Datentypen und so Scherze, die man auf kleineren Controller eh nicht benötigt. Wer es doch benötigt, sollte sich ein anderes Hobby aussuchen .
Was du nicht lernen solltest, auch wenn es erstmal schnell zum ERfolg führt sind sogut wie sämtliche Basic-Varianten, inkl. VisualBasic und Bascom.
Mit C und C++ kannst du für sogut wie alle Architekturen und Betriebssysteme kodieren, mit Basic und Konsorten sieht das weniger rosig aus.
Zudem bietet dir C wesentlich mehr Freiheiten.
Ganze Codefragmente laufen bei mir beispielsweise auf einem µC, der so groß wie mein kleiner Zehnagel ist (ich habe rel. kleine Füße) und auf meinem PC für andere Aufgaben. Der Code ist eben recht portabel (natürlich gibts Sachen, die schlicht und einfach nicht portiert werden können.)
Fazit: C und dann C++ für komplexe Sachen. Bei C++ werden viele Dinge wesentlich luxuriöser als in C. Dennoch ist C eine gute Grundlage für C++.
Um beide zu lernen empfehle ich einen schlanken Linuxrechner mit Gcc.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 9 Mai 2009 0:26 ]
|
BID = 606940
perl Ehrenmitglied
Beiträge: 11110,1 Wohnort: Rheinbach
|
Den Assembler gibt es nicht.
Insofern kann man auch nicht sagen "ich hab das mal gelernt".
Ich habe ungefähr schon in 10 oder mehr Assemblern programmiert, die durchaus verschieden waren.
Die Assemblerprogrammierung ist immer sehr nah an der Hardware und die variiert nun mal von Hersteller zu Hersteller.
Man kann so sehr kleine, trickreiche und schnelle Programme herstellen und das ist auch der Grund weshalb Assemblerprogrammierung bei den Mikroprozessoren bevorzugt wird.
Aber weil diese Programme sehr speziell auf bestimmte Prozessoren zugeschnitten sind, sind sie wenig abstrakt und relativ schlecht auf einen fremden Prozessor portierbar.
Erste Schritte fallen in einer Hochsprache leichter und deshalb kommt ein ein Anfänger schneller zu Erfolgserlebnissen. wenn er z.B. mit VB oder Delphi beginnt.
|
BID = 606967
Maddin82 Gesprächig
Beiträge: 127 Wohnort: Gernsheim
|
Ich mußte damals an einen intel 8085 rann, dank dem wenigen speicher den man noch komplettt überblicken konnte und dem knappen befehlssatz war das recht angenehm zu programieren. Optimal ist das für ds verständis was in so einem rechner passiert weil man wirklich hardwarenah programiert und sich das soagr auf einem simulator in zeitlupe anschauen kann was so intern pasiert.
Depremierend is nur wenn man 10 seiten programmcode geschrieben hat und weis das man das gleiche problem in C++ mit fünf zeilen bzw mit IDL (kennt bestimtm keiner) in einer gelöst hätte.
|
BID = 607040
clembra Inventar
Beiträge: 5404 Wohnort: Weeze / Niederrhein
|
Die gleiche Sprache für Mikrocontroller und PC-Programme gibt es, wie du schon mitbekommen haben dürftest, nicht. Wenn du die Turbo Pascal-Kenntnisse fortführen möchtest bietet sich eigentlich nur Delphi an. Ansonsten ist C# zur Zeit meinen Kenntnissen nach im Windows-Bereich "in Mode". Im Linux-Bereich natürlich C oder C++.
Für Mikrocontroller habe ich bisher nur Assembler genutzt, aber es sind auch noch nicht so viele geworden. Das ist besonders für zeitkritische Abläufe gut, da man zur Not alles von Hand abzählen kann und eben, bei entsprechenden Kenntnissen, maximal schnell läuft. Am verbreitetsten und im besten Verhältnis Aufwand/Ergebnis dürfte C sein.
_________________
Reboot oder be root, das ist hier die Frage.
|
BID = 607076
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Offtopic :
|
Zitat :
| Den Assembler gibt es nicht.
Insofern kann man auch nicht sagen "ich hab das mal gelernt".
|
Is klar, war bezogen auf AVRs...
Zitat :
|
Die gleiche Sprache für Mikrocontroller und PC-Programme gibt es, wie du schon mitbekommen haben dürftest, nicht. |
Öhm, doch, und zwar C.
Nicht jeder benötigt eine grafische Oberfläche (wozu auch, wenn man z.B. nen Dämon programmiert, der mit einem µC kommuniziert).
|
_________________
|
BID = 607082
clembra Inventar
Beiträge: 5404 Wohnort: Weeze / Niederrhein
|
Is klar, war bezogen auf das Thema
Zitat :
Sebra hat am 8 Mai 2009 22:56 geschrieben :
|
- Erstellen von Programmen in Standard-Fenstern. Also mit Buttons und Eingabemöglichkeit von Zahlen, etwa zur Berechnung von irgendetwas (Buttons etc. sind ja IMHO unter Pascal gar nicht möglich, genauso wenig wie andere Benutzeroberflächen)
|
Ich habe ja beim µC auch klar C genannt und bei Linux-Programmierung auch. Bei Windows spielt das reine C keine besonders große Rolle mehr, ehr C++ und C#.
Und auch wenn Standard-Fenster für mich die schwarzen Terminal-Fenster sind, bin ich mir ziemlich sicher Sebra meinte etwas anderes
Zudem vermute ich mal ins Blaue, dass zwischen C-Programmierung für AVRs (als mir bekannte Stellvertreter der Mikrocontroller) und für PCs noch ein kleiner Unterschied liegt. Klar die Strukturen (Achtung: schlechter Wortwitz) sind gleich, aber die Kommunikation mit der Außenwelt dürfte sich stark unterscheiden, und darauf kommt es doch an.
Gute Nacht zusammen
Clemens
_________________
Reboot oder be root, das ist hier die Frage.
[ Diese Nachricht wurde geändert von: clembra am 10 Mai 2009 2:18 ]
|
BID = 607091
DonComi Inventar
Beiträge: 8605 Wohnort: Amerika
|
Offtopic :
| Moin,
Naja, was heißt schon sich "stark unterscheiden"? Einige bereits kodierte Algorithmen laufen bei mir 1:1 portiert sowohl auf einem mini kleinen AVR als auch als Codefragment in einem Linux-Programm. Zufällig brauchte ich zweimal die gleiche Funktionalität.
Nur habe ich, wenn ich selbst mit nem sehr alten, langsamen Rechner z.B. ein Programm in C schreibe wesentlich mehr Ressourcen zur Verfügung, was z.B. dazu führt, dass ich viele Bibliotheken einbinden kann (klar, viele davon sicherlich dynamisch, was ja bei AVRs eh nicht geht... ) und mir allein schon die libc zur Verfügung steht mit printf, fprintf, scanf, sscanf, etc.
Also, die Umgebung zählt enorm, aber vom "Feeling" ist es kaum ein Unterschied. Man kann halt unter C und Linux ziemlich sorglos mit solch Speicherkillern wie printf und variablen Argumenten umgehen. Auf AVRs bitte zu unterlassen, da wird der gesamte Umfang der formatierten Ausgabe kaum gebraucht, und wenn man es braucht, dann bitte eigene, kleine Funktionen implementieren, ohne Interpretation der Formatierungsstrings und so einem Schnickschnack. Aber kurze Algorithmen zum Umrechnen von Zahlen in ASCII-Zeichen sind eben schön in C zu machen, während man direkt in AVR-Assembler mehr Speicher sparen kann, aber so wirklich übersichtlich wird das nicht .
In diesem Sinne,
leicht entnervte Grüße (debug...)
David
|
_________________
|
BID = 607099
Rambodischien Schreibmaschine
Beiträge: 1341 Wohnort: Österreich
|
Wenn es um Anwendungen am PC geht programmiere ich C#. Ich habe das in der Schule gelernt und Zuhause noch ein wenig weiter Programmiert und komme damit sehr gut zurecht.
Im Netz gibt es viele Foren die sich mit C# beschäftigen und auch ein Online-Buch: http://openbook.galileocomputing.de/visual_csharp/
_________________
Mfg Rambodischien
|
BID = 607406
Sebra Schriftsteller
Beiträge: 665
|
Vielen Dank. Ich werd mir C und C++ in nächster Zeit mal etwas anschaun. Mal sehen ob ich mich damit anfreunden kann....
Gruß
sebra
|