Hallo Community, bin ziemlich frisch hier im Forum, hab allerdings schon lange mitgelesen und hin und wieder meinen Senf dazu gegeben. Kurz zur Vorgeschichte, also ich habe schon öfters in Assembler und VB6 programmiert, und habe jetzt wieder die Anforderung das ich Programmieren muss, sowohl auf Atmels als auch PCs. Die Kommunikation zwischen den beiden wird vermutlich über UART oder Ethernet passieren. Jetzt zu meiner Frage was würdet Ihr mir als Programmiersprache für den PC empfählen, möchte nicht mehr bei VB6 bleiben da einfach zu alt, den µC werde ich in Assembler programmieren. Jetzt stellt sich für mich die Frage was nehme ich, C oder C++ oder würdet ihr ganz eine andere Sprache nehmen? Ich möchte keine MS IDE wie Visual Studio da das Programm später eventuell auf Linux Portiert werden soll. Habe jetzt schon viel über Eclipse, CodeBlocks, ... gelesen kann mich aber einfach nicht entscheiden. Mich würde eure Meinung sehr interessieren, wie ihr den Umstieg bewältigen würdet sowohl Programmiersprache(eventuell gute Bücher oder Internet Seiten) als auch welche IDE. Gruß Markus
Markus Dreiling schrieb: > Ich möchte keine MS IDE wie Visual Studio da das Programm später > eventuell auf Linux Portiert werden soll. was hat das eine mit dem anderne zu tun. Du kannst gerne unter windows das Visual Studio verwenden und dort C++ mit QT oder WX Programmieren und später das ganze unter linux mit GCC.
Markus Dreiling schrieb: > da das Programm später > eventuell auf Linux Portiert werden soll. Dann solltest du dir (auch wg. VB6 Kenntnissen) mal PureBasic anschauen.
Danke für die Antworten, Hab mir PureBasic auch schon installiert was mich hier gesört hatte wahr der Fehlende Direkt Bereich, oder hab ich den übersehen? Und PureBasic ist ja mehr für die Spieleprogrammierung oder? @Peter Mit was arbeitest du mit MS VS C++? QT und WX sind ja compiler oder? Wenn möglich hätte ich eben unter beiden Betriebsystemen die gleiche IDE. Was mir aber bei VS doch sehr sehr gut gefählt sind eben der doch recht einfache Editor sowie die vielen Extras. Was ich aber auf keinen fall möchte sowie bei C# das ich ein .Net Framework brauche das meine Programme funktionieren. Da ich meine Projekte dann veröffentlich möchte das Sie jeder bearbeiten kann und weiterentwickeln kann ist eben das auch ein Punkt den nur die Express Edition von VS ist Kostenlos :-). Gruß Markus
Markus Dreiling schrieb: > @Peter > Mit was arbeitest du mit MS VS C++? C++ oder C# ich bin da flexibel. Mit C# kann ist man einfach schneller. QT und WX sind ja compiler oder? nein es sind Bibliotehken die es unter Linux und windows gibt. Damit kann man viele sachen Platformunabhänig machen > Wenn möglich hätte ich eben unter beiden Betriebsystemen die gleiche > IDE. ist die Frage ob es sinnvoll ist. Die wirst nicht unter beiden System programmieren sondern meist unter einer Platform und es dann nur noch auf die anderen Portieren.
wenn du auf beiden plattformen die gleiche IDE nutzen möchtest und eh von vorne beginnst würde ich mir QT genauer ansehen. Ich finde die IDE sehr gut, die eingebaute QT Doku ist auch super und mit dem Designer kannst du dir mit wenigen klicks das GUI basteln.
Markus Dreiling (handmann) schrieb: > Was ich aber auf keinen fall > möchte sowie bei C# das ich ein .Net Framework brauche das meine > Programme funktionieren. Irgend einen Unterbau braucht jede Programmiersprache. Ob in Form von DLL's oder einem Framework wie .NET ist im Grunde Jacke wie Hose. Das .NET Framework ist für alle aktuellen Windows Installationen bereits auf jedem Windows Rechner vorhanden. Das sollte erst mal genügen. Man hat schnell erfolge und beileibe nich so viel Lernaufwand wie bei MFC oder QT (Syntax C++ vs. C# !!) oder der alten Win32 API. Außerdem sollte man immer bedenken, egal welchen Weg man geht, alles erfordert jahrelange Übung, besonders dann, wenn man nur gelegentlich programmiert und nicht 8 h täglich. Das ist nicht wie Fahrad fahren, einmal draufgesetzt und es fluppt. Der Aufwand ist und bleibt beträchtlich und da sollte man gut überlegen, ob man sich zusätzliche Steine in den Weg legt wie "es soll auf ollen OS und allen OS-Versionen laufen" etc. Sowas kann man mal angehen oder anstreben wenn man irgend wann mal einigermaßen fit ist, den Überblick hat und es einem leicht fällt Windows Programme zu erstellen. Als Anfänger backt man lieber erst mal kleine Brötchen, sonst endet die Sache schnell in der Frustration. Die beste Programmiersprache ist immer die, die einem am besten liegt. Das muss man selbst herausfinden (Code anschauen, Programme verstehen versuchen, kleinere Codebeispiele ausprobieren etc.) und das kostet Zeit, Zeit und nochmals Zeit. Mein Tipp, C# und MS Visual Studio Express nehmen. Mir persönlich liegt das C++ Gedöns von QT nicht. ;-) C# ist übersichtlicher und damit einfacher. Aber das muss jeder für sich selbst herausfinden.
> die eingebaute QT Doku ist auch super und mit dem Designer > kannst du dir mit wenigen klicks das GUI basteln. Ich mag solche Sätze nicht. Damit das sich jeder (sorry) Depp eine GUI in 10 Sekunden zusammenklicksen kann ist keinem Beginner wirklich geholfen. Damit wird dem Anfänger ein Erfolg vorgetäuscht der nicht auf seinem Mist gewachsen ist und der eigenen Quellcode wird dadurch auch nicht besser und das Verständnis bleibt auf der Strecke.
Danke für die Antworten, Ich muss euch allen in euren Punkten recht geben, das mit der Frustration schleicht sich schon langsam an mich an.. und solche Aussagen wie ... das ist mit ein Paar Klicks gemacht ... ja mag schon stimmen aber nur für die die sich mit dem auskennen was sie machen. Programmieren lernen denke ich egal in welcher Sprache ist ein Jahrelanger Lernprozess, bis man eine Sprache beherrscht, ich kann jetzt nur von meinen Erfahrungen reden hab ca. ein halbes Jahr VB6 Programmiert und ich habe erst mit dem Fingernagel an der Oberfläche gekratzt. Ich wollte eigentlich nur wissen was Ihr nehmen würdet zum umsteigen bzw. wieder einsteigen. Da ja jede Sprache ihre vor und Nachteile hat. Ich weiß ist wahrscheinlich eine ewige Diskussion :-) Momentan tendiere ich ein wenig zu C# wegen der guten Umgebung. Das mit Linux war nur ein Wunschgedanke. Ich möchte jetzt einfach einmal Arbeiten können ohne mich um alles zu kümmern! In welchen Entwicklungsumgebungen werden eigentlich Projekte wie VLC, Libre Office, .. entwickelt? Wie sieht es eigentlich vergleichsmäßig VB C# aus? Gruß
agp schrieb: >> die eingebaute QT Doku ist auch super und mit dem Designer >> kannst du dir mit wenigen klicks das GUI basteln. > > Ich mag solche Sätze nicht. Damit das sich jeder (sorry) Depp eine GUI > in 10 Sekunden zusammenklicksen kann ist keinem Beginner wirklich > geholfen. Damit wird dem Anfänger ein Erfolg vorgetäuscht der nicht auf > seinem Mist gewachsen ist und der eigenen Quellcode wird dadurch auch > nicht besser und das Verständnis bleibt auf der Strecke. du kannst in deinen programmen gerne jedes widget von hand in den code tippern und positionieren wenn das für dich programmieren ist. andere leute kümmern sich halt lieber um eine gescheite funktion anstatt sich mit dem kleinkram rum zu plagen.
Ich werfe mal wieder python in den Raum. Je nach GUI-Toolkit ist das dann sogar portabel (jedenfalls mit QT und wX, GTK scheint unter Windows ein wenig schwerer zu sein)
> du kannst in deinen programmen gerne jedes widget von hand in den code > tippern und positionieren wenn das für dich programmieren ist. andere > leute kümmern sich halt lieber um eine gescheite funktion anstatt sich > mit dem kleinkram rum zu plagen. Einem Anfänger bringt es mal überhaupt nichts sich von den Assistenten ein Codegerüst generieren zu lassen. Dann steht er vor einem fremden Konstrukt wie der Ochs vorm Scheunentor. Man braucht erst mal ein Gefühl für eine neue Programmiersprache und dieses Gefühl muss man sich erarbeiten. Das dauert geraume Zeit. Je mehr Handarbeit man reinsteckt, desto eher stellen sich die eigenen Erfolge auch ein. Es geht hier ums lernen, nicht darum bei größeren Projekten sich die Arbeit zu erleichtern. Schon vergessen?!
Hallo, Phython hatte ich mir auch schon angesehen ist aber mehr für Linux oder? Welche umgebungen gibt es für Windows? Momentan favorisiere ich dennoch vb 2010 wegen der einfachheit. Wie funktioniert die programmierung von guis für windows unter python? Gruß Markus
Markus schrieb: > Hallo, > > Phython hatte ich mir auch schon angesehen ist aber mehr für Linux oder? > Welche umgebungen gibt es für Windows? Texteditor deiner Wahl, ich bevorzuge geany, der hat auch gewisse IDE-Fähigkeiten > Momentan favorisiere ich dennoch vb 2010 wegen der einfachheit. Wie > funktioniert die programmierung von guis für windows unter python? Mit Glade/QTCreator zusammenklicken und die entstandene XML-Datei laden. Das sind bestenfalls 5 Zeilen Programmcode.
Luk4s K. schrieb: > Markus schrieb: >> Hallo, >> >> Phython hatte ich mir auch schon angesehen ist aber mehr für Linux oder? >> Welche umgebungen gibt es für Windows? > Texteditor deiner Wahl, ich bevorzuge geany, der hat auch gewisse > IDE-Fähigkeiten >> Momentan favorisiere ich dennoch vb 2010 wegen der einfachheit. Wie >> funktioniert die programmierung von guis für windows unter python? > Mit Glade/QTCreator zusammenklicken und die entstandene XML-Datei laden. > Das sind bestenfalls 5 Zeilen Programmcode. Und man muss sich erstmal zw. PyQt und PySide entscheiden, braucht dann zusätzlich deren "Dokumentation". Les- und wartbarer wird's auch nicht insb. wenn man sich Event-Verarbeitung oder Databinding ansieht. Wie sieht's beim Deployment aus? Wie bei der Ausführungsgeschwindigkeit?
Hallo, Ich würde folgende Lösung empfehlen: - CodeBlocks als IDE - WinAvr als Compiler / Assembler für die Atmels (es gibt auch ein GNU gcc für Atmels und Linux) - GCC als C Compiler für Linux (standard) - MinGW odeer Visual C++ als Compiler für Windows - wxWidgets als Framework für die PC Programmierung. Und zwar aus folgendem Grund: CodeBlocks läuft auf Windows und Linux. wxWidgets läuft auf Windows und Linux. In Codeblocks kann der Avr Compiler eingebunden werden, so hast du nur eine IDE für deine Projekte. Das ist meine Meinung, diese Lösung habe ich auch auf meinem Rechner und bin zufrieden. Gruß Ralf
Warum immer der Widerspruch Linux und C#. Schaut euch doch mal beim Mono Projekt um. www.mono-project.com Habe unter Windows eine C# Anwendung entwickelt (mit Hardwarezugriff auf den COM Port) und lasse die nun schon seit Monaten stabil im Dauerbetrieb unter Linux laufen. GUI geht auch, allerdings kein WPF.
Hallo, danke für eure Antworten, bezüglich C# mag das mit dem Projekt Mono schon funktionieren die frage ist allerdings wiegut. Werde mir jetzt die Lösung von Ralf genauer ansehen sowie auch VS C#. Denke allerdings das ich bei Codeblocks bleiben werde. Gibt es für Codeblocks erweiterungen zum Flashen? Oder verwendest du pony Prog? Welchen Assembler Compiler für Codeblocks nimmst du? Gruß Markus
guck Dir mal freebasic mal an. Macht alles was Du willst klein aber fein und läuft auch auf Linux !! Viel Spaß
Hallo sigges, ja sieht auch wiederrum sehr interessant aus. Arbeitest du mit FreeBasic? Hast du erfahrungen damit? Gruß
Java /Java ME und Eclipse Cygwin (full) für C und andere (z.B. lua) Yasm http://www.tortall.net/projects/yasm/wiki oder Masm32 http://www.codingcrew.de/masm32/index.php bzw. http://www.masm32.com/index.htm für Asm Haskell Plattform mit ghc für Haskell http://hackage.haskell.org/platform/
Markus Dreiling schrieb: > Hallo sigges, > > ja sieht auch wiederrum sehr interessant aus. > Arbeitest du mit FreeBasic? > Hast du erfahrungen damit? > > Gruß Ja, normal programmiere ich hauptsächlich den MSP430.(assembler + C) PC Programmierung war mir ein Greul. Ich brauchte dringend eine stabile COM Verbindung zwischen MSP430 und dem PC. Freebasic war für mich ideal. Schnelle und kleine Programme ohne lästige Runtime Datein. Schau Dir einfach mal die vielen Beispielsourcen an. Falls Du ein paar Tips brauchst, laß es mich wissen. Noch einen schönen Tag gruß Sigges
Hallo, auf dem PC in Assembler Programmieren ich weiß ja nicht... braucht man da nicht ewig? @sigges Ja genau für genau so sehe ich das auch, keine Runtimes einfach super, Ok bin immer mehr von FreeBasic begeistert. Ist eigentlich ein großter unterschied zwischen FreeBasic und Bascom für den µC? Gruß Markus
Markus schrieb: > Ja genau für genau so sehe ich das auch, keine Runtimes einfach super, > Ok bin immer mehr von FreeBasic begeistert. Ist eigentlich ein großter > unterschied zwischen FreeBasic und Bascom für den µC? Hallo Markus, vor vielen Jahren, hab ich mal in Bascom etwas probiert, aber ...kann mich nicht mehr dran erinnern. Basic ist bei Vielen ja sehr verpönt, aber die Zeiten des Spaghetticodes sind ja längst vorbei. GfaBasic auf dem Atari war damals Klasse. Mit Freebasic kannste fast alles machen, auch objektorientiert programmieren. Letztendlich zählt immer das Ergebnis und vor allem wie schnell man dazu gekommen ist. Wenn Du möchtest, sende mir eine kurze mail an 49610006E5AE@messagebeamer.de ( Einwegadresse, gilt 1 Tag) und ich kann Dir bestimmt nützliche Tips geben. Noch einen schönen Feiertag gruß Sigges
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.