Welche Programmiersprache dafür lernen?

Hallo Experten und Programmierer,
vielleicht kann mir jemand weiterhelfen, ohne mich für verrückt zu erklären :smile: Ich suche nach einer Programmiersprache, um mir meine Wünsche zu erfüllen, was die Praxis im Haushalt angeht.

Wir haben ein Tablet-PC im Haushalt, was eine geniale Sache ist und nun kam mir die folgende Idee:

Ich würde gerne eine Software schreiben, die aus diversen ?Modulen? aufgebaut ist und ich die auch immer wieder erweitern kann… ich schreibe mal einfach drauf los und ihr sagt mir, ob es überhaupt möglich ist und man im „fortgeschrittenen Alter“ überhaupt in der Lage ist, eine Programmierprache zu erlernen - die Herausforderung lockt mich aber, daher sei das mal egal :smile: Man(n) will ja nicht verkalten im Hirn und selbst wenn es bis zur Rente dauert, dann habe ich es halt irgendwann…

Also:
Der Tablet (oder das Tablet?) hängt an der Wand in der Küche und hat zunächst einen Schaltknopf (da ich ja mit dem ersten Modul anfange): „Einkaufen“
Da klickt man drauf und es kommt eine Auswahl der bisher eingekauften Lebensmittel auf oder ein Feld, wo man die Buchstaben eingeben kann und der das selbst vervollständigt (wie beim Navi bei einer Eingabe einer Strasse) - wenn Lebensmittel nicht da, dann soll man ein neues eingeben können.
Kann von jedem genutzt werden im Haushalt und jeder soll auch irgendwie sein Namenskürzel eintragen können, dass er/sie es auf die Liste gebracht hat und braucht. An mein Tablet ist so ein kleiner Drucker wie in einer Kasse (oder Etikettendrucker halt) angeschlossen, welcher auf Wunsch eine Einkaufsliste ausdruckt (mit so einem Feld zum Abhaken beim Einkaufen).

Wenn ich das dann gemacht habe, dann bin ich so sicher in der Sprache, dass ich zum nächsten „Modul“ komme und das ist das folgende:
Zu meiner „Einkaufen“-Schaltfläche kommt nun eine „Notitzen“-Schaltfläche dazu. Da kann ich z.B. meiner Frau eine Nachricht hinterlassen, wenn ich aus dem Haus gehe und sie, wenn sie sich mit ihrem Account einloggt, gleich sieht, dass ich etwas für sie hinterlegt habe. Sie kann es sich natürlich auch ausdrucken.

Ein weiteres Modul wäre ein Kalender, wo wir alle unsere Termine eintragen können. Dort muss es möglich sein, dass wir alle z.B. die uns alle betreffenden Termine eintragen können, die wir auch alle sehen (z.B. Geburtstage) und auch nur die Termine für einen Selbst (z.B. Tochter trägt den Termin für ihren Besuch beim Arzt ein, den sie nur sehen kann). Sowas wie eine gemeinsame Freizeit soll da auch planbar sein, dass wir alle sehen, wer wann „verfügbar“ ist oder frei hat.

Das wären so die ersten 3 Module, die mir auf dem Herzen liegen.

Die Fragen:

  1. Welche Programmiersprache sollte man lernen, um sich so eine Software selbst programmieren zu können?
  2. Eine Datenbank muss logischerweise dahinter stehen - wenn ich nun irgendwann den Kalender über das Internet abfragen wollen würde: Macht es einen Unterschied in der Sprache und der Datenbank?
  3. Wenn ich die „Software“ um weitere Module nach erlernen und Schreiben neuer erweitern möchte: wäre es möglich dies zu tun, ohne gleich das ganze neu zu installieren und die alten Daten zu verlieren?
  4. Welche der Programmiersprachen wäre denn in dem Fall so „stabil“, dass ich den Tablet einfach permanent anlassen könnte, dass er 24 h eingeschaltet bleibt, damit auch ich mal beim nächtlichen Kühlschrankgang mal schnell etwas notieren kann, ohne den Tablet neu hochfahren zu müssen?

Fragen über Fragen…

Habe schon an PHP gedacht, aber dafür müsste das ganze irgendwo fest online abgelegt sein und der Tablet soll auch funktionieren, wenn die Onlineverbindung nicht geht (aber zur Not halt die Daten irgendwann auf Wunsch online speichern können).
Dann dachte ich an C++, aber dann fand ich das neue C von Micorosoft.

Äh… alles noch neu, daher kann ich eigentlich als völliger Neuling ja mit allen Schandtaten anfangen :smile:

Mir ist es klar, dass ich nie auf einen Level der heutigen Teenager komme, aber vielleicht gebt ihr mir mal eine Hoffnung, mit welcher Sprache ich das besagte am besten lösen könnte (oder zumindest versuchen). Es soll am besten so sein, dass ich zwischendurch alles mal probieren und verbessern kann. Die Programmiersprache soll also mich nicht dazu zwingen, dass es alles fertig sein muss, bevor ich es teste. Ich möchte sehen, ob ich Fehler mache oder nicht, während ich meine Haushaltssoftware schreibe.

Hoffe, das Vorhaben ist machbar und jemand weiß Rat!

Vielen Dank für Eure fachlichen Meinungen!

Hallo,

mit den Programmiersprachen ist es wie mit den Religionen … Also: Ist alles nur meine Meinung:

Klar kannst du noch eine oder mehrere Programmiersprachen lernen.

sofern ich dich richtig verstanden habe, geht es dir im wesentlichen um den modularen aufbau.

Ich würde dir z.B. Ruby empfehlen, eignet sich gut für objektorientieres Prototyping und ist sehr leistungsfähig.

http://de.wikipedia.org/wiki/Ruby_%28Programmierspra…

„1. Welche Programmiersprache sollte man lernen, um sich so eine Software selbst programmieren zu können?“

s.o.

„2. Eine Datenbank muss logischerweise dahinter stehen - wenn ich nun irgendwann den Kalender über das Internet abfragen wollen würde: Macht es einen Unterschied in der Sprache und der Datenbank?“

Jein, die Unterstützung verschiedener Datenbanksysteme ist von Sprache zu sprache unterschiedlich gut. Ist aber heute in der Regel kein Problem mehr.

„3. Wenn ich die „Software“ um weitere Module nach erlernen und Schreiben neuer erweitern möchte: wäre es möglich dies zu tun, ohne gleich das ganze neu zu installieren und die alten Daten zu verlieren?“

Ja, natürlich.

„4. Welche der Programmiersprachen wäre denn in dem Fall so „stabil“, dass ich den Tablet einfach permanent anlassen könnte, dass er 24 h eingeschaltet bleibt, damit auch ich mal beim nächtlichen Kühlschrankgang mal schnell etwas notieren kann, ohne den Tablet neu hochfahren zu müssen?“

Jede. Wenn’s denn läuft, dann läuft es.

mfg, tf

Ich würde dir z.B. Ruby empfehlen, eignet sich gut für
objektorientieres Prototyping und ist sehr leistungsfähig.

Wie realisiert er mit Ruby eine Bedienoberfläche, die GUI? Ich würde spontan nach GTK schauen, aber wie sieht es mit Schnittstellen zu einer GUI unter Windows aus?

Grundsätzlich würde ich für die konkret genannten Aufgaben nicht dazu raten, eine Programmiersprache zu erlernen. Für die Aufgaben dürfte OpenOffice-Calc oder MS-Excel völlig hinreichen.

Gruß

Hallo hermann,

gibt eine Reihe von Schnittstellen. von wxRuby bis zu mehr oder minder kompletten Lösungen wie hier beschrieben:

http://wiki.ruby-portal.de/ThemaGUI

http://home.arcor.de/scite/summary.html

Sicherlich kann man die anvisierte Lösung auch mit Office-Bausteinen realisieren, aber der Kollege fragte ja nicht nach irgendeiner Lösung. Nach einer kurzen Einarbeitungszeit macht so eine Programmierung doch auch Spaß …

Schönes Wochenende,

tf

So denke ich auch, dass es irgendwann Spaß machen kann, wenn man sich lauter neue Module einfallen lässt :smile:

Ist denn RUBY „zukunftsträchtig“? Kenne die Sprache nicht und bislang war C++ oder C# das, was ich so als „gängig“ lesen konnte für die Programmierung von Software für die Rechner daheim. Für das Web dann halt php, Java usw…

Lohnt es sich also, mit RUBY anzufangen und langfristig damit zu arbeiten oder ist es eher etwas „aussterbendes“?

Steht in dem Fall von mir auch eine SQL-Datenbank dahinter?

Danke für die bisherigen Antworten!

Gleich mal einen hinterher:
Habe versucht, etwas „fertiges“ von Ruby zu finden, damit ich sehe, wie die Programme aussehen und finde unter http://rubyforge.org/softwaremap/trove_list.php nichts lauffähiges, ohne Ruby installiert haben zu müssen.
Ist es so, dass die Programme dann nur auf Rechnern laufen, die Ruby installiert haben und man nicht mal grad ein Tool schreiben kann, was sich dann als ausführbare „exe“ auf allen Rechnern laufen lässt?

Hallo,

Ruby ist durchaus eine sehr moderne Sprache, zudem die „Aktualität“ von Programmiersprachen nicht überschätzt werden sollte. C und Konsorten und Perl sind immer noch gut im Geschäft, selbst gute Cobol-Programmierer könnten noch ihr auskommen finden.

Entscheidener ist, ob eine Sprache „lebt“ und sich weiterentwickelt. Dies ist bei Ruby der Fall.

Siehe z.B. Ruby On Rails:

http://de.wikipedia.org/wiki/Ruby_On_Rails

Als SQL-Datenbank wird oft MySQL eingesetzt, es gibt aber auch Schnittstellen zu anderen Datenbanksystemen, wie z.B. SQL-Lite usw.

Hierfür gibt es in der Regel fertige Bibliotheken, die den Zugriff auf Datenbanken deutlich vereinfachen.

mfg, tf
mfg, tf

Hallo,

nein, du kannst Ruby-Anwendungen auch „compilieren“, also Deine anwendung in eine ausführbare „mein-programm.exe“ verwandeln.

Siehe hier:

http://www.erikveen.dds.nl/rubyscript2exe/

mfg, tf