ubuntuusers.de

Linux programm selber schreiben

Status: Gelöst | Ubuntu-Version: Ubuntu 9.10 (Karmic Koala)
Antworten |

mt1988

Anmeldungsdatum:
4. Juni 2010

Beiträge: 3

Moin liebe Ubuntuusers,

seit kurzem bin ich auf Ubuntu umgestiegen und würde auch gern selber ein programm schreiben, leider weiß ich nicht wie ich anfangen soll?

Mir ist klar dass die software in C geschrieben werden muß, aber ich habe keine vorstellung wie ich damit anfangen soll. Habe zwar im internet gesurft aber nichts genaues gefunden.

Bis jetzt habe ich nur paar kleine programme geschrieben zB. taschenrechner...

würde mich über eure Antworten und erfahrungen freuen.

lg mt1988

Doc_Symbiosis

Avatar von Doc_Symbiosis

Anmeldungsdatum:
11. Oktober 2006

Beiträge: 4450

Wohnort: Göttingen

Was verstehst Du denn genau unter einem Linux-Programm bzw. an was dachtest Du denn?

defcon

Avatar von defcon

Anmeldungsdatum:
6. April 2005

Beiträge: 451

mt1988 schrieb:

Mir ist klar dass die software in C geschrieben werden muß

Wieso müssen? Es werden auch genug Sachen in z.B. Python geschrieben.

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Du brauchst maximal drei Dinge:

* Eine Programmiersprache deiner Wahl

* Einen Interpreter oder Compiler für die Sprache

* Eventuell noch einige Bibliotheken, falls du GUI und ähnlichen Kram machen willst.

Du kannst, musst aber nicht c benutzen. Hier ist zum Beispiel ein recht gutes Online-Buch zum Programmieren mit Lisp: http://www.gigamonkeys.com/book/ . Oder hier ein Wiki-Buch zum Thema haskell: http://en.wikibooks.org/wiki/Haskell . (Die Wiki-Bücher sind ja meistens ziemlich mies, aber das scheint ok zu sein). Ich finde ja, dass Lisp die bessere Sprache ist, aber bei Haskell ist mehr los. Da findest du viel mehr Material, Bibliotheken etc pp.

treetec

Anmeldungsdatum:
4. Januar 2007

Beiträge: 49

Ich kann dir Code::Blocks empfehlen, arbeite selber ganz gerne damit.

Entwicklungsumgebungen: http://wiki.ubuntuusers.de/Entwicklungsumgebungen?highlight=codeblocks

Und bei Eclipse gibts Plugins um C zu programmieren. http://wiki.ubuntuusers.de/Eclipse

Du kannst aber auch mit einem normalen Editor arbeiten und den Code dann mit gcc auf dem Terminal compilieren und ausführen.

Zum thema Bücher: http://www.galileocomputing.de/ http://openbook.galileocomputing.de/c_von_a_bis_z/

Viel Spaß Gerhard

homer65

Avatar von homer65

Anmeldungsdatum:
8. November 2005

Beiträge: 572

Wohnort: bochum, germany

Was soll das Programm denn überhaupt machen?

mt1988

(Themenstarter)

Anmeldungsdatum:
4. Juni 2010

Beiträge: 3

Danke für eure schnelle Antworten.

Noch habe ich mir keine gedanken gemacht was für ein programm ich schreiben will. Zb. wie schon gesagt habe ich bis jetzt schon mal ein taschenrechner geschreiben. Das programm konte man Compilieren und dann ausführen. Es war aber nur im terminal wie schreib ich so ein programm das es auch GUI.

Mein zweite Frage ist, man hört oft das viele freiwillige an open source projekten arbeiten, wie kann man aber an so einen projekt teilnehmen ?

lg

Kinch

Anmeldungsdatum:
6. Oktober 2007

Beiträge: 1261

Es war aber nur im terminal wie schreib ich so ein programm das es auch GUI.

Prinzipiell läuft es so, dass du eine Bibliothek benutzt, die dem X-Server Anweisungen gibt, um zum Beispiel ein Kreis oder ähnliches zu zeichnen. Da man sich damit einen Wolf programmiert um eine GUI zu bekommen, gibt es GUI-Bibliotheken, die einem die Arbeit abnehmen. Es gibt mehrere: wxwidget, Qt, Gtk, motif, fltk und co. Gebräuchlich sind vor allem wxwidget, Qt und GTK.

Aber ehrlich gesagt, solltest du erstmal bei Terminal-Programmen bleiben. Das ist anspruchsvoll genug. In der Regel wollen Anfänger eine ganze Menge. Das funktioniert aber ohne Grundlagen nicht und für die braucht es Geduld und Arbeitswillen. Deshalb werden sie schnell frustriert und hören wieder auf.

Mein zweite Frage ist, man hört oft das viele freiwillige an open source projekten arbeiten, wie kann man aber an so einen projekt teilnehmen ?

Das ist von Projekt zu Projekt unterschiedlich. Meistens läuft es in etwa so: Du nimmst dir die Programmquellen und schreibst ein paar Patches. Killst Bugs oder schreibst Features. Die Patches sendest du dann ans Projekt. Mach das zwei, dreimal und vielleicht nehmen sie dich ins Entwickler-Team auf.

mt1988

(Themenstarter)

Anmeldungsdatum:
4. Juni 2010

Beiträge: 3

@Kinich

Vielen dank das du mir das so schön erklärt hast.

Bin jetzt schon viel schlauer ☺

narrowtux

Anmeldungsdatum:
17. März 2008

Beiträge: 203

Wohnort: Spangenberg

Eigentlich kannst du auch Qt mit C++ nehmen, wenn du die Qt-eigene Entwicklungsumgebung namens Qt Creator verwendest. Hat auch wie Code::Blocks sehr gute Syntax-Vervollständigung, integration der Qt Dokumentation in den Editor, UI-Designer und dass alles sehr schön unter einer Oberfläche vereint.

aletes

Anmeldungsdatum:
8. Dezember 2009

Beiträge: 180

Beziehungsweise ist es auch nicht verkehrt mit FreeBasic zu programmieren. Es ist einfach zu lernen(Da man nur English können muss, um den Code zu lesen) und man hat schnell etwas fertiges vor sich 😉

tischbein

Avatar von tischbein

Anmeldungsdatum:
21. Juli 2008

Beiträge: 404

aletes schrieb:

Beziehungsweise ist es auch nicht verkehrt mit FreeBasic zu programmieren. Es ist einfach zu lernen(Da man nur English können muss, um den Code zu lesen) und man hat schnell etwas fertiges vor sich 😉

Darüber lässt sich streiten.

Ich würde auch C++ + Qt oder Python + PyQt empfehlen, wenn dein Programm eine GUI bekommen soll.

narrowtux

Anmeldungsdatum:
17. März 2008

Beiträge: 203

Wohnort: Spangenberg

Bevor du deine Programmiertechnik mit irgendwas wie Basic versaust, solltest du eine richtige Programmiersprache lernen 😉

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

aletes schrieb:

Beziehungsweise ist es auch nicht verkehrt mit FreeBasic zu programmieren.

Da gibt es durchaus abweichende Meinungen:

It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. (Edsger W. Dijkstra)

Antworten |