Hi Community,
Moin scriptkid und Willkommen im Forum
In der Vergangenheit habe ich mich schon ein wenig mit Html, javascript, java, python und eclipse mit Android Plugin beschäftigt. Leider schon ein bischen her und ich möchte nun einen Neuanfang wagen mit einem Ziel vor augen, welches ich hier mit euch diskutieren will.
Ist ja schonmal eine Bunte Mischung, was bedeutet ein "ein wenig" für dich?
Eine Community aus Computerfreaks und weniger versierter Anwender hilft sich gegenseitig bei Computer Problemen. Dazu stelle ich mir ein Platformübergreifendes Frontend vor, wo man sich anmeldet und dann eine Liste sieht wo andere ihe Probleme beschrieben haben. Nun kann der Computerfreak dazuschreiben: ich kann dir helfen, wann hast du zeit? Und dann direkt über das Frontend über vnc oder rdp auf den anderen Computer zugreifen und das Problem lösen. Danach kann der, dem geholfen wurde eine Bewertung geben, die dann die vertrauenswürdigkeit und den "status" des computerfreaks hebt. Hier könnte man auch ein Punktesystem oder bezahlsystem einbauen. (Open oder kommerz wird noch diskutiert)
Die Hälfte davon nennt sich Forum und hast du hier schon gefunden
Der andere Teil klingt interessant, wobei ich aus persönlicher Erfahrung nicht unbedingt jemanden beim programmieren per VNC, Chat, Skype oder was auch immer helfen möchte, weil man damit ein wenig gefangen ist, man möchte ja nicht unhöflich erscheinen, wenn man nach 3h keine lust mehr hat
Umgekehrt können Computerfreaks auch "angebote" erstellen wo sie sich gut auskennen, und andere Nutzer können sich so zu ihrem Problem den richtigen computerfreak holen.
Wollen das denn die "Computerfreaks", wie du die Professionellen Entwickler nennst?
Was würde es mir bringen, mein Wissen und vor allem meine Zeit jemanden zur Verfügung zu stellen?
Mit einem Universitätsabschluss kann ich mit 30k - 50k pro Jahr(grobe Schätzung) in einer Firma anfangen, dass sind etwas über 17€ Minimum die Stunde, die ich bekommen könnte, wenn ich einen entsprechenden Abschluss habe, oder Wissen und Erfahrung vorweisen kann. Wärst du bereit für Hilfe an mitunter "trivialen" Problemen 17€ die Stunde zu zahlen?
Welche Zielgruppe willst du überhaupt Ansteuern? Studierte Programmierer und Entwickler, Studenten, Schüler, Hobbyisten, Anfänger?
Du musst vor allem beachten, dass Menschen, die was können, nicht unbedingt Zeit und Lust haben, Anfängern bei einfachen Problemen zu helfen, nur weil sie zu faul sind, sich ausreichend in ein Thema einzulesen, was häufig genug vorkommt.
Dann die technische Fragen, möchte ich überhaupt über ein Smartphone mit UMTS mein Breitbandvolumen für nen VNC-Strem verpulvern? Ist es überhaupt möglich, die Probleme per VNC zu lösen, bzw macht es sinn?
Hier bei proggen.org kommen mitunter viele Anfänger, die Probleme mit etwas haben, sei es die Installation, Probleme beim Programmieren oder Verständnis. Wenige haben fragen zu Algorithmen oder suchen Hilfe bei Mathematischen Problemen. Aber immer müssen diese Probleme in ein Forums-post eingepasst werden, was bedeutet, dass du dein Problem Formalisieren muss, dir Gedanken machen wie du es am besten Beschreibst und ausdrückst. Das gelinkt nicht jedem, einigen aus Faulheit, einigen aus Unwissenheit, andere weil sie es noch nicht besser können, aber genug, dass es eine eigene FAQ Seite zum Frageformulieren gibt:
http://www.proggen.org/doku.php?id=faq:frageformulieren.
Dieser Zwang, sein Problem geeignet darzustellen, hilft meistens das Problem schon zu lösen. Man merkt das an Post, wo es heißt: "Ja das tut nicht" und man muss erstmal langsam Stück für Stück Informationen erfragen, da ist auch eine Lösung am ende wenig wert, weil der Fragesteller nicht genug Zeit und Geduld hatte, sich mit seinem Problem auseinander zu setzen.
Und das wird auch Passieren, wenn ich auf Knopfdruck jemanden an der Strippe haben kann, der dann das für mich machen kann. Wieso googlen, wenn mir ein "Experte" direkt helfen kann, die eine Option in den Projekteinstellungen zu aktivieren oder den Compiler zu installieren?
Wozu Gedanken machen, wenn das jemand anders für mich machen kann?
Ich möchte solchen Leuten nicht helfen, weil ich sie schon erlebt habe, sowie viele andere "erfahrenere" Programmierer auch. Wenn du nach 3h Chat dein Gesprächspartner endlich mal die Fehlerquelle überprüft hat, wie man es schon nach 5 Minuten Gespräch gefordert hatte, und damit den Fehler auch gefunden hatte, fragt man sich, wie man die Zeit bitte ersetzen soll?
Ein anderer Aspekt ist Sicherheit, ein System mit dem ich über VNC auf einen anderen Rechner kommen kann, kann ich sehr leicht ausnutzen. Im Browser schnell mal bei Amazon, Ebay, Email und was auch immer eingeloggt, Sachen bestellen, Überweisungen, Rootkits, Trojaner usw. Wie willst du ein System sichern?
So da mich das Anfangstutorial mit der Frage welche programmiersprche in dieses Forum geschickt hat, frage ich Euch was ich jetzt am besten lernen sollte um das ganze möglichst Platformübergreifend zu starten. Wichtig ist mir Linux, Android und Webapp unterstützung. Es sollte leicht portierbar sein.
Die gibt es noch nicht.
Du beschreibst ein System, das zum einen eine Zentrale Verwaltungsstelle benötigt, dein Server. Dafür brauchst du unabhängig vom Endgerät eine eigene Software, die die Daten und Nutzer verwaltet, die Streams usw. Darauf kannst du dann nen Webserver aufbauen, der ne Website zur Verfügung stellt. Das kannst du in C/C++, Java, C#, PHP, node.js und viele andere Sprachen machen. Das Problem hier ist, dass du ein sehr Komplexes System aufbaust, dass zum einen viele Nutzer gleichzeitig verwalten kann, Sicherheit und Funktionalität bietet.
Das ist nicht unmöglich umzusetzen, es erfordert aber das du
programmieren kannst, und zwar richtig. Du musst die Mathematik beherrschen, Datenstrukturen, Datenverwaltung, Algorithmen, die Technik, Netzwerke, Sicherheit und vor allem auch dein Werkzeug, die Programmiersprache.
Mit den Clienten ist das genauso. Du kannst versuchen was in Java zu programmieren, was vlt auf Win, Mac und Linux läuft, du kannst auch einfach ne Website bauen, die auf fast jedem Browser läuft, was afaik die momentan beste Lösung für "Plattformunabhängigkeit" ist. Du kannst es in QT programmieren, das lässt sich auch noch auf Win, Mac und Linux portieren, ist aber wie alles andere auch nicht Problemlos.
Für Android und iOS musst du wieder was anderes machen, Android möchte gerne Java Programme, die mit der Java-Android-API verknüpft sind oder native C Programme, iOS muss man mit Objective-C Programmieren und funktioniert nur auf einem Mac.
Alle Programme die für Verschiedene Betriebssysteme Anwendungen anbieten(OOO, Firefox) versuchen die Plattform spezifischen Sachen auszulagern, sodass immer nur ein kleiner Teil nu Programmiert und abgepasst werden muss, aber da kommt man nicht drum herum.
Daher meine Empfehlung: Lerne C/C++, lerne programmieren und verstehe was dahinter steckt und dann kannst du selber Entscheiden, welchen Weg du gehen willst. Wenn du einmal programmieren kannst, ist der Wechsel der Programmiersprache, besonders von C/C++ zu anderen, vergleichsweise einfach.
Ich hoffe ich konnte dir weiterhelfen
Mit freundlichen Grüßen
cloidnerux
Redundanz macht wiederholen unnötig.
quod erat expectandum