|
MrLimatex
Anmeldungsdatum: Juni 30, 2010
Beiträge: 34
Wohnort: Halberstadt
|

30. Juli 2012 23:53
Guten Abend liebe Community, ich denke seit vielen Wochen schon drüber nach mich mit Ubuntu bzw. im allgemeinen Linux mehr außeinander zu setzen. Der Grund? Linux ist keine Alternative mehr zu Windows, es wird wohl in naher Zukunft dem Software/Hardware "Giganten" M$ zur großen Konkurrenz werden. Daher denke ich das in der Open Source/Linux Ecke doch eine große Nachfrage an Linux Entwicklern/Admins etc. vorhanden sein wird. (Denken wir mal an das Desaster Windows 8). Nun, was braucht man unter Linux? Für Spiele gibt es genug Indie-Studios, da braucht man keine Entwickler mehr. Programme an sich sind für mich uninteressant, wir haben eigentlich alles was wir brauchen. Jedoch reizt es mich irgendwo den Menschen zu helfen. Dies kann man doch am besten mit Treibern, oder? Verbesserungen am System sind meiner Meinung nach das, was wir noch brauchen. Treiber für Surfsticks welche man (frei) ins Internet stellt, hier mal nen Treiber für nen Gamepad mit entwickelt, ich denke sowas wird echt gebraucht. Jedoch gibt es da ein Problem: Ich bin echt unerfahren. Mein Profil: - fast 19 Jahre
- ab September Ausbildung IT Systemelektroniker
- Großes Interesse an Linux (Besuche auch die LUG)
- Programmiererfahrung: 0,001% (Also ich habe C++ schonmal gesehen und auch mal ne if/else Schleife gemacht .... unter Windows) Ich möchte mir nun unbedingt Impressionen hier von euch holen mit denen ich meine Ideen im Kopf irgendwo verwirklichen kann. Programmieren ist ja nicht von heute auf morgen erlent, das weiß ich. Vorallem wenn man sich Null damit auskennt. Aber ich möchte auf keinen Fall falsch anfangen, deswegen bin ich hier. Meine Fragen an euch wären: - Welche Programmiersprache wäre wohl am idealsten?
- Ist Ubuntu für sowas überhaupt gemacht?
- Gehe ich die Sache falsch an? (Zu optimistisch, zu hohe Ziele?)
- Lohnt sich die Entwicklung von Treiber überhaupt? (Oder das mitentwickeln) Könnt ihr mir helfen? Im Internet gibt es viele viele Seiten mit Infos, welche dann aber meist nicht zu 100% auf mich zutreffen, 8 Jahre alt sind oder nicht von Ubuntu handeln. Vielen Dank schonmal im voraus, fürs Lesen und Antworten, LG
Lima
|
|
track
Anmeldungsdatum: Juni 26, 2008
Beiträge: 4722
Wohnort: Wolfen (S-A)
|

31. Juli 2012 00:19
Also, Treiber und systemnahe Sachen würde ich erstmal lassen. Dazu braucht man solides Hintergrundwissen, und das bekommst Du erst mit der Zeit. Du solltest Dir als erstes die Grundlagen des Programmierens drauf schaffen, und dazu kannst Du fast jede Sprache nehmen. (MaW: nimm einfach das was Dir liegt !) Im Zweifel: Fang einfach mit Python an, das läuft unter praktisch jedem System und bekommt hier regelmäßig die beste Kritik: http://ubuntuusers.de/search/?query=anf%C3%A4nger%20%22programmieren%20lernen%22%20python&area=forum , insbesondere hinsichtlich eines guten Programmierstils, den man dabei lernen kann. In den Strängen findest Du auch gut begründete Literaturvorschläge, nach denen Du arbeiten kannst. LG, track
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 13796
Wohnort: Berlin
|

31. Juli 2012 06:20
MrLimatex schrieb:
reizt es mich irgendwo den Menschen zu helfen. Dies kann man doch am
besten mit Treibern, oder? Schwer zu sagen. Helfen wobei? Wem speziell?
Also ich habe C++ schonmal gesehen und auch mal ne if/else Schleife
Mit if/else macht man Verzweigungen, keine Schleifen.
Aber ich möchte auf keinen Fall falsch anfangen, deswegen bin ich hier.
Eigentlich kannst Du bei jeder Sprache was lernen, so dass es kein hartes falsch gibt. Außer Basic vielleicht.
- Welche Programmiersprache wäre wohl am idealsten?
Ideal ist schon ein Superlativ, das kann man nicht steigern. Für IT-Systemelektroniker ist C bestimmt relevant, wie auch für Linux-Kerneltreiber. Für alles andere ist C m.E. ungeeignet, aber das sind ja 2 gewichtige Gründe.
- Ist Ubuntu für sowas überhaupt gemacht?
Der Kernel ist Linux, nicht Ubuntu, aber da Ubuntu ein Linux ist ist es nicht falsch.
- Gehe ich die Sache falsch an? (Zu optimistisch, zu hohe Ziele?)
Wenn Du glaubst in 6 Monaten einen Treiber schreiben zu können, der auch tatsächlich in den Kernel aufgenommen wird, ja.
- Lohnt sich die Entwicklung von Treiber überhaupt? (Oder das mitentwickeln)
Finanziell? Oder wäre der Lohn dass Du berühmt wirst?
|
|
Vain
Anmeldungsdatum: April 12, 2008
Beiträge: 2232
|

31. Juli 2012 09:46
Servus, vielleicht ist es keine blöde Idee, wenn du dein neues System erst einmal ganz normal benutzt. Während du das tust, wirst du feststellen, dass dir die eine oder andere Sache nicht ganz so gut gefällt (das muss zwangsläufig so kommen, irgendeine Kleinigkeit stört einen ja immer mal). Oder du findest einen Bug. Bei freier Software hast du in dieser Situation eine einmalige Möglichkeit: Du kannst viele Probleme eigenständig lösen, ohne darauf warten und hoffen zu müssen, dass eine dicke Firma das für dich erledigt. Also tust du das! Ganz am Anfang wird das vermutlich nur Konfiguration sein (dir gefällt die Window-Decoration nicht, hier drüben ist die Schrift blöd usw.). Dann gehst du vielleicht dazu über, dir eigene (ganz kleine) Skripte zu schreiben, die Aufgaben im Alltag automatisieren. Vielleicht nur eine Zeile. Mit der Zeit traust du dich an komplexere Aufgaben und schon lernst du langsam programmieren. Später bist du dann auch in der Lage, gute Bugreports zu formulieren und die den Entwicklern zukommen zu lassen. Damit hast du eigentlich schon die Hürde genommen und hast etwas beigetragen. Das klingt vielleicht nicht nach dem großen Ruhm, aber es ist äußerst wichtig. Viele Bugs leben weiter, weil sie nicht gemeldet werden. Die Free Software Community hat nämlich selten das notwendige Personal, um wirklich ausführliche Tests durchzuführen, also sind wir auf die User angewiesen, die uns Bescheid sagen, wenn etwas schief läuft. Je besser die User das tun, desto besser wird die Software insgesamt. Je länger und intensiver du das alles tust, desto besser wirst du auch in der Lage zu sein, auftretende Bugs selbst zu fixen – und die Patches bei den Upstream-Entwicklern einzureichen. Irgendwann merkst du dann, dass eines deiner ehemals „kleinen Skripte“ ziemlich groß und zu einem eigenen Projekt geworden ist, das du veröffentlichen kannst. Vielleicht wirst du für die ersten veröffentlichten Projekte auf die Nase kriegen, weil der Code noch hässlich ist, aber daraus kann man nur lernen. Derweil werden deine Patches für Bugfixes immer umfangreicher und vielleicht schreibst du auch mal eigenständig eine Erweiterung (und nicht „nur“ einen Bugfix) für irgendein fremdes Programm. Und so weiter. Das ist zumindest der Weg, den ich bei vielen anderen habe beobachten können. Ich glaube auch, dass das ein guter Weg ist, weil du nämlich kein übermäßig selbstloser Mensch sein musst (was die wenigsten sind), um ihn zu gehen: Primär handelst du aus Eigeninteresse heraus, was dafür sorgt, dass du auch wirklich zu einer guten Lösung kommen willst. Dich stört etwas, du löst es. Quasi als „Nebenprodukt“ kommen Dinge heraus, die auch anderen zugute kommen. Dafür muss man zwar schon noch ein bisschen Interesse an der Community haben, aber das hast du ja sowieso. Der Punkt ist aber, dass du es nicht ausschließlich für die Community machst – manchmal ist die nämlich eher still und meldet sich nur bei Problemen, was den Eindruck erwecken kann, dass du es nur mit Nörglern zu tun hast. Aber das ist ja nicht so, die zufriedenen Leute sagen nur nichts. Das kann frustrierend sein, wenn „Ruhm“ das einzige ist, was man ernten möchte. Nimm dir Zeit. Du wirkst hochmotiviert und das ist auch gut so, knüpfe diese Motivation aber auch an einen echten Nutzen. Ich habe noch keinen gesehen, der durch Trockenübungen (reines Lernen nach dem Buch oder stupides Lösen von Aufgaben an der Uni) zu einem guten Programmierer geworden ist. Deswegen halte ich es für nicht so gut, wenn du jetzt hergehst und einfach mal eine Sprache lernst. Siehe oben – die passenden Aufgaben kommen mit der Zeit von selbst. Das einzige, was du tun musst, ist, aus der eventuell vorhandenen Haltung, dass Dinge unabänderlich sind, herauszugehen. Wenn man unfreie Software gewöhnt ist, ist man ja gerne mal in dieser Denkweise gefangen und nimmt alles mögliche hin. Wenn du das ablegst, wirst du erkennen, dass es so viel gibt, was du tun könntest. So. Das war das Wort zum Dienstag. ![:[]](http://media.cdn.ubuntu-de.org/wiki/attachments/09/28/grin.png)
|
|
Johnny58
Anmeldungsdatum: März 28, 2007
Beiträge: 69
|

4. August 2012 00:41
Kurz und knapp:
Zum Beginnen Gambas (ähnlich VisualBasic von Microsoft) und
Geany (ähnlich mit Visual C++)
ausprobieren und nicht entmutigen lassen.
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 13796
Wohnort: Berlin
|

4. August 2012 21:42
Johnny58 schrieb: Kurz und knapp:
Zum Beginnen Gambas (ähnlich VisualBasic von Microsoft)
Oh je!
"Lasst uns jede Dummheit die Microsoft macht nachmachen - der Erfolg gibt denen ja doch irgendwie recht!"
|
|
Johnny58
Anmeldungsdatum: März 28, 2007
Beiträge: 69
|

4. August 2012 23:58
Zitat von?....
Verteufeln hilft nicht wirklich.......
|
|
Wes
Anmeldungsdatum: Nov. 9, 2007
Beiträge: 16
|

5. August 2012 10:55
Johnny58 schrieb: Zitat von?....
Verteufeln hilft nicht wirklich.......
Basic auch nicht^^ Nein, im Ernst. VBasic hat sich sicher zu einer ernstzunehmenden Programmiersprache entwickelt, hat jedoch meiner Kenntnis nach primär seine Stärken durch das .Net Framework ( C# wurde extra dafür entwickelt ). Ich weiß weder wie gut die Integration von VBasic in Mono ist, noch wie gut Gambas ist ( Unterschiede zu VBasic, Performanz, Unterstützung durch Editoren, Librarys... ) fürchte aber dass es unter Linux nur ein Nischendasein hat. Deutlich verbreiteter sind da wirklich C, C++, Java oder die verschiedensten Skriptsprachen wie Perl, Python oder Ruby, die alle 3 ziemlich einfach zu erlernen, verdammt nützlich und auch vom entstehenden Code recht nett sind ( ja, ich stelle Perl und Python auf eine Stufe und bezeichne sie als "recht nett", steinigt mich von mir aus). Die Wahl einer Programmiersprache ist natürlich immer von einer Menge Parameter abhängig. Wie gut ist die Einsteigerliteratur ( Python, Perl (Lamabuch)) , wie wichtig sind Librarys ( C++ ), Performanz ( C ), Programmierparadigmen ( Ruby, Scala, Haskell, Lisp ), usw.
Man kann kaum irgendwo einen Empfehlung aussprechen ohne das irgendwer da widerspricht, man muss sich also wohl doch irgendwie selbst ein Bild davon machen.
|
|
Lysander
Anmeldungsdatum: Juli 30, 2008
Beiträge: 2296
Wohnort: Clausthal
|

5. August 2012 14:12
Wes schrieb: Nein, im Ernst. VBasic hat sich sicher zu einer ernstzunehmenden Programmiersprache entwickelt, hat jedoch meiner Kenntnis nach primär seine Stärken durch das .Net Framework.
VBasic ist imho eher durch C# obsolet geworden... MFC mit C++ ist ziemlich grausam - C# bietet viele interessante Konzepte und Paradigmen. Wozu sollte da noch jemand in VBasic programmieren? Die Vorteile von VBasic gegenüber C++ treffen bei C# nicht mehr zu, dafür fallen bei C# die Nachteile von Basic weg 
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 13796
Wohnort: Berlin
|

6. August 2012 01:08
Wer Basic programmiert, auf den wird weltweit, plattformübergreifend herabgeschaut. Ob zurecht oder nicht - niemand wird sich das freiwillig antun wollen. Vielleicht wenn man 2 Fieldsmedaillen in der Schublade liegen hat, oder einen C++ - Compiler in Smalltalk geschrieben hat.
|
|
diesch
Supporter
Anmeldungsdatum: Feb. 18, 2009
Beiträge: 4120
Wohnort: Freiburg
|

6. August 2012 01:26
Johnny58 schrieb: Kurz und knapp:
Zum Beginnen Gambas (ähnlich VisualBasic von Microsoft)
Gerade für den Anfang halte ich das für wenig empfehlenswert, weil es da kaum echte Programme gibt, deren Code man sich anschauen kann. Außerdem verwendet soweit ich weiß Gambas nur eigene Bibliotheken und bietet keine Schnittstellen für die üblichen System-Bibliotheken (z.B. Gtk & Co) oder Unity. Damit sind die Möglichkeiten in vielen Bereichen sehr begrenzt.
|
|
Johnny58
Anmeldungsdatum: März 28, 2007
Beiträge: 69
|

6. August 2012 13:17
Es kommt immer auf die Aufgabenstellung an.
Bei manchen Programmiertools hat man schnell einen Erfolg, bei anderen dauert es halt. Echte Profis programmieren in Assembler
|
|
user unknown
Anmeldungsdatum: Aug. 10, 2005
Beiträge: 13796
Wohnort: Berlin
|

6. August 2012 20:25
Johnny58 schrieb: Es kommt immer auf die Aufgabenstellung an.
Es gibt manche Aufgabenstellung, die eine Programmiersprachenkategorie zu verwenden nahe legt, etwa AI-Systeme, die oft in Logiksprachen geschrieben werden wie Prolog, oder Mathematiklastiges, welches man bevorzugt in R oder anderen Spezialsprachen behandelt, während man Textersetzungsaufgaben gerne in Sed, AWK oder Perl löst. Für Basicdialekte ist mir kein Aufgabengebiet bekannt.
Bei manchen Programmiertools hat man schnell einen Erfolg, bei anderen dauert es halt.
Aber mit Basic ruiniert man sich seinen Programmierstil, insbesondere dann, wenn man noch keinen hat. Der Erfolg ist, dass man eine Sprache gelernt hat, mit der man überall auf Ablehnung trifft.
Echte Profis programmieren in Assembler 
Für Assembler gibt es, im Gegensatz zu Basic, wirklich eine Niesche. Natürlich wäre es dumm für alle Aufgaben Assembler zu verwenden. Die Pointe passt also nicht zum Witz, um den es hier geht.
|
|
Johnny58
Anmeldungsdatum: März 28, 2007
Beiträge: 69
|

6. August 2012 21:29
Alternativen zu VB? Nicht nur kritisieren, sondern konstruktiv beitragen. Was heißt schlecht?
Selbst der C64 war nicht schlecht.
Das liegt eh im Auge des Betrachters. Ich habe manch schlechten Dozenten im Bereich Software-Entwicklung erlebt, richtig gute und zudem nicht überbezahlte IT-Fachleute sind offensichtlich rar.
|
|
Toledo Thomas
Anmeldungsdatum: Nov. 18, 2007
Beiträge: 124
|

7. August 2012 08:34
Viel Wissenswertes zu den typischen Shell-Programmen wie ls mv rm rmdir... und Informationen zu Linux-Dateisystemen bspw was bedeutet die Ausgabe von ls -l rwxr--r-- findest du im http://debiananwenderhandbuch.de/betrieb.html Eins vorweggesagt: Anmelden als root kannst du überspringen, zumindest gibts das bei Ubuntu nicht aber stattdessen ja sudo Gruß Thomas
|