Forum: Offtopic RPi2-Beginner aus der C#-Welt, wo hat der seinen Platz hier? :)


von Carsten P. (r2pi)


Lesenswert?

Hallo,

vor Jahren, die man schon Jahrzehnte nennen kann, habe ich mal den Beruf 
des Industrieelektronikers erlernt und dort meinen ersten eigenen 
Computer gebaut (ich glaube, grundsätzlich war das etwas aus der c't? 
Ein Z80-Computer mit CP/M). Nach der Bundeswehr bin ich in die 
Software-Entwicklung abgedriftet und seitdem auch dort geblieben. Seit 
dem RPi2 hat mich der Bastelvirus wieder infiziert, und doch bin ich der 
Eleganz von C# und .NET weiterhin erlegen.

Darum sind auch bereits meine ersten Versuche mit dem RPi in C# 
enstanden. Die Einfachheit, Threads zu erstellen, Events zu verarbeiten, 
Daten hin und her zu schubsen, überzeugt mich einfach, statt mich an 
Python oder Java zu versuchen. Für RPi Projekte (meiner läuft auf 
MiniBian) benötige ich eh kein GUI. Ein Samba-Server und PuTTY reichen 
mir.

Bisher habe ich es... wow! ^^ geschafft, drei LEDs als Ampel 
anzusteuern, die auch noch auf Druck einer Taste auf der Tastatur die 
Rot- und Grünphase ändert, so, als wäre dort Verkehr, und einen 
physischen Taster kann ich auch schon abfragen, der dann das Programm 
beendet. Irre, oder? :D

Als nächstes habe ich mir vorgenommen, einen PIC16F88 als A/D-Wandler 
abzufragen und ein paar physische, analoge Daten abzufragen, soetwas wie 
Temperatur und Helligkeit, irgendwann sollen ein DCF77-Empfänger, ein 
GPS-Empfänger und ein Lage-Sensor folgen. Danach ist, wer hätte das 
gedacht, eine Motor-Steuerung angesagt.

Also, wenn wer von euch auch auf C# steht und Lust hat, seine 
Erfahrungen zu teilen, einfach mal anschreiben! :)

LG
Carsten

von (prx) A. K. (prx)


Lesenswert?

Carsten P. schrieb:
> Als nächstes habe ich mir vorgenommen, einen PIC16F88 als A/D-Wandler
> abzufragen

Den du sicherlich in C# zu programmieren gedenkst? ;-)

: Bearbeitet durch User
von K. L. (trollen) Benutzerseite


Lesenswert?

Carsten P. schrieb:
> und doch bin ich der
> Eleganz von C# und .NET weiterhin erlegen.

Komiker? Eleganz und diesen C#/.NET-Pfusch in einem Satz zu nennen, 
nimmt dir doch keiner ab.

Carsten P. schrieb:
> Als nächstes habe ich mir vorgenommen, einen PIC16F88 als A/D-Wandler
> abzufragen

Tja..., da arbeiten wir aber mit C, oder wers mag mit Assembler.

von Carsten P. (r2pi)


Lesenswert?

Prima, das Forum versteht Spaß :)

Natürlich programmiere ich den PIC nicht in C# ^^ Der kriegt für das 
Bisschen, was er fürs erste tun soll, den Kram in Maschinencode in den 
Bauch geschoben. Zwischendurch ist mir allerdings ein TLC549 aufs 
Steckboard gesprungen, dessen Rate von 40ksps unter Mono zwar nicht 
ansatzweise erreicht wird, wenn ich ihn mit C# anspreche, aber ich habe 
ja auch mit keinem Wort gesagt, dass C# die eierlegende Wollmilchsau 
unter den Programmiersprachen ist.

Es ist doch so, wer sich gerne präzise ausdrückt, ist in Latein besser 
aufgehoben als in Englisch, und wer gerne schnell etwas loswerden will, 
ist in Englisch besser aufgehoben als in Latein. Außerdem ist es wohl 
vor allem eine Übungssache und eine Sache dessen, was man so auf seinen 
Maschinen an Bibliotheken herumlungern hat. Und eine Frage des 
persönlichen Geschmacks. Sorry, ich mag Sourcen, die luftig aussehen, 
und dazu tragen { und } halt bei. Ich mag es, in einer einzige Klasse 
mal imperativ, mal objektorientiert, mal funktional zu programmieren, 
ganz nach Bedarf. Ich mag eine robuste Klassenbibliothek, die sich mit 
Extensions ganz ohne Vererbungsgedöns erweitern lässt, wie ich es mag, 
und wenn es schnell gehen soll, ist es ein Klacks, eine hardware-nahe 
C-Bibliothek einzubinden, sogar mit Versionierung und (mit bisschen 
gutem Willen) einigermaßen loser Kopplung.

Jetzt bin ich aber doch mal, ohne die übliche Lagerdebatte über die 
überhaupt beste Programmiersprache loszutreten, was denn gegen die 
Aussage, C#/.NET sei elegant, spricht, jedenfalls solange wir über μCs 
reden und nicht über GUIs. Dass ASP.NET, XAML, die Art, in .NET Apps zu 
programmieren, die vorgeschlagenen Pattern (MVCx, MVVM etc.) eine 
einzige Geisterbahn sind, darüber brauchen wir nicht zu streiten.

von Carsten P. (r2pi)


Lesenswert?

Außerdem war die ursprüngliche Absicht meines Postings nicht, einen 
Streit vom Zaun zu brechen, sondern Hinweise zu bekommen darauf, ob es 
hier vielleicht ein paar C#-er gibt und wo ich sie vllt. finde, und ein 
paar Worte über mich zu verlieren, damit ihr wisst, mit wem ihr es in 
Zukunft vllt. öfter mal zu tun habt hier :)

Also, peace out und freundliche Grüße,
Carsten

von Eddy C. (chrisi)


Lesenswert?

Doch, doch, C# geht in Ordnung, ich kann Deine Begeisterung 
nachvollziehen. Anfangs dachte ich auch, was soll dieser .NET-Mist? 
Mittlerweile programmiere ich unter Windows praktisch nur noch in C# mit 
einigen Altlasten in C++, schlimmstenfalls auch noch MFC...

Erzähle doch kurz, wie Dein Workflow mit RPi und C# aussieht, OS, 
Entwicklungsumgebung usw.

von Carsten P. (r2pi)


Lesenswert?

Eddy C. schrieb:
> Erzähle doch kurz, wie Dein Workflow mit RPi und C# aussieht, OS,
> Entwicklungsumgebung usw.

Entwicklungsumgebung sind VS 2012 Ultimate IDE und TFS 2012 samt QS-Zeug 
(also test-driven Umgebung, ich hatte aus beruflichen Gründen mal die 
ganz große MSDN-Lizenz), ich mache quasi ScrumBan alleine ;)

OS auf dem Laptop ist good old Win 8.1, auf dem RPi rennt ein noch 
ungepatchter 4.2.1 Kernel, drumrum MINIBian, also keine GUI und so, dort 
downgegraded, dort upgegraded, mit Sicherheitsaspekten im Kopf, je 
weniger im Hintergrund rennt, desto besser.

Mir schwebt ein "MicroBian" vor, schon wegen der Sprachspielerei, in der 
Richtung des GNU Hurd Microkernels einerseits und dem Stack ab Windows 
7.5 andererseits, aber für sowas bin ich weit entfernt von gut genug. 
Das ist eher so eine "Wenn andere es anfangen, springe ich auf"-Sache.

Einen echten Workflow beim RPi habe ich noch nicht gefunden, dafür bin 
ich zu neu in der Materie oder muss die alten Kenntnisse aus meiner 
Berufsausbildung als Industrieelektroniker neu entdecken.

Windows-PC und RPi2 sind im Moment über SSL Konsole (PuTTY) einerseits 
und Samba andererseits zusammengedrahtet, sodass ich das Mono-Zeug 
direkt in den Bauch vom RPi2 verteilen kann und andererseits auch 
"Console.WriteLine()"-Kram lesen kann.

Ganz ehrlich, ich bin so gar kein Fan von den GUI-Ansätzen aus dem .NET 
Framework, schon seit 1.1 nicht, und heute auch nicht mehr ;) Von der 
Architektur her bin ich nach wie vor ein großer Verfechter des guten, 
alten Ansatzes von X11 :)

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.