Forum: PC-Programmierung Was würdet Ihr nehmen? Programmiersprache und welche IDE?


von Markus D. (handmann)


Lesenswert?

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

von Peter II (Gast)


Lesenswert?

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.

von fff (Gast)


Lesenswert?

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.

von Markus D. (handmann)


Lesenswert?

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

von Peter II (Gast)


Lesenswert?

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.

von rumpel (Gast)


Lesenswert?

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.

von agp (Gast)


Lesenswert?

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.

von agp (Gast)


Lesenswert?

> 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.

von Markus D. (handmann)


Lesenswert?

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ß

von rumpel (Gast)


Lesenswert?

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.

von Lukas K. (carrotindustries)


Lesenswert?

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)

von agp (Gast)


Lesenswert?

> 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?!

von Markus (Gast)


Lesenswert?

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

von Lukas K. (carrotindustries)


Lesenswert?

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.

von Arc N. (arc)


Lesenswert?

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?

von Ralf (Gast)


Lesenswert?

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

von Minetti (Gast)


Lesenswert?

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.

von Markus D. (handmann)


Lesenswert?

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

von sigges (Gast)


Lesenswert?

guck Dir mal freebasic mal an.
Macht alles was Du willst klein aber fein und läuft auch auf Linux !!
Viel Spaß

von Markus D. (handmann)


Lesenswert?

Hallo sigges,

ja sieht auch wiederrum sehr interessant aus.
Arbeitest du mit FreeBasic?
Hast du erfahrungen damit?

Gruß

von auchsenfdazuklatscher (Gast)


Lesenswert?

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/

von sigges (Gast)


Lesenswert?

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

von Markus (Gast)


Lesenswert?

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

von sigges (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.