Programmieranfänge

14Hannes88

Software-Overclocker(in)
Programmieranfänge

moin @ all

Seit circa einem halben Jahr habe ich mir nun verschiedenste Programmiersprachen angeschaut. Die meisten nur kurz überflogen. Im Beruf brauche ich sie eigentlich eher weniger, möchte aber trotzdem eine erlernen. Intensiver habe ich mich mit programmiersprache python beschäftigt und habe dazu ein buch gelesen, aber irgendwie ist das noch nicht das ware. Mir wurde mal gesagt, dass man wenn man eine Programmiersprache erlernen möchte, ein Projekt benötigt wird (Is klar;)). Nun habe ich mir selbst ein Projekt ausgedacht was ich umsetzen möchte. Dabei handelt es sich um ein denkbar simples Programm. Leider sehe ich mit Python nich die Möglichkeit dies umzusetzen. Besser gesagt ich sehe nicht die generellen Möglichkeiten einzelnder Sprachen. Deshalb möchte ich nach hilfe fragen. folgendes Projekt:

Ich möchte zur unterstützung in meinem Beruf ein kleines Programm schreiben das es mir ermöglicht Geräte einzutragen (nicht unbedingt eine Datenbank) und diesen einen Aktivitätsstatus zu verleihen oder nicht. Dies soll durch markierungen hervorgehoben werden. Also ganz simples beispiel: Sagen wir mal Ihr seit Angestellter in einem Fahrradverleih (rein hypothetisch) und habt 20 Fahrräder und möchtet in einem Programm sehen wenn ein fahrrad verliehen ist. Damit man gleich sehen kann welche fahrräder noch im Lager sind und welche nicht. Dies soll zum beispiel durch eine ganz einfache operation geschehen(zum beispiel setzen eines Haken). Gut, jetzt könnte man sagen: Wieso nimmt er sich keinen Stift und ein Blatt papier? Ganz einfach: Apple hat sich beim iphone auch nicht gedacht - "ach wieso so etwas modernes erfinden, wir nehmen einfach wieder die Taube."

Nun ist mein hauptsächliches Problem, das ich nicht weiß mit welchem Programm man dies umsetzen könnte. somit zu meiner hauptsächlichen Frage: Kann mir jemand beim Anfang helfen?

und bitte nicht solche dinger wie: "Lerne erstmal mit dem computer umzugehen" oder "was für ein Kiddie!", das ist weder Zielführend noch besonders brauchbar.

Danke im voraus

PS: Kenntnisse besitze ich hauptsächlich in delphi, Php und python. Alles nicht wirklich fortgeschritten ausgebaut, eher alles grundkenntnisse. in bash-scripten und der shell von linux habe ich schon etwas fortgeschrittenere Erfahrungen.
 
Zuletzt bearbeitet:
AW: Programmieranfänge

Moin,
das Programm kannst du in eigentlich jeder Programmiersprache implementieren, in deinem fall wäre wohl Python am besten weil du da vorkenntnisse hast. Du wirst ja wahrscheinlich eine GUI verwenden wollen, Python bietet ja eine groß Menge an verschiedenen Frameworks GuiProgramming - Python Wiki

Sonst kannst du auch mit Java arbeiten da fällt der Einstiegt auch relativ leicht.

Lb.
 
AW: Programmieranfänge

also bisher hatte ich in python nur kleine funktionen oder operationen geschrieben. Zum Beispiel: in einem Buch über python ging es um die programmierung eines einfachen rechenspiels in über die python shell. Man hat eine Random rechenaufgabe bekommen und musste das richtige ergebnis reinschreiben. Hat im endeffekt alles nicht so wirklich geklappt. Einige schritte gingen ganz gut von der Hand einige waren sehr verwirrend.
http://extreme.pcgameshardware.de/newreply.php?do=newreply&p=4964080
 
AW: Programmieranfänge

grundlegend... hmm. wie gesagt, machbar ist "alles" ^^

um dir den status deiner "fahrräder" (ich bleib einfach mal bei dem bsp) über das programmende hinaus zu bewahren, brauchst du irgendeine speicherungsform. datenbank haste schon genannt, aber das is glaube für nen anfänger komplizierter und verwirrender als alles andere. ich hab mich damit selbst auch noch ned beschäftigt (ausser in php) und hätte keine ahnung, wie ichs in c zum bsp realisier ^^ aber es gibt ja noch ganz ordinär text-files. ich würd dir zum anfang also nahelegen, deine fahrräder mit status in nem textfile zu speichern. flotte_liese 0 und in der nächsten zeile diamant 1 als bsp. der erste part ist der name/die bezeichnung, der 2. halt, ob ausgeliehen oder nich.

hier lässt sich auch schon die "freiheit" des programmierens verdeutlichen: es is völlig wurst, ob du 1 als "ausgeliehen" oder als "im laden" interpretierst - musst dich an deine interpretation halt nur durch die bank weg halten ^^ auch kann man hier schon ein bsp für "statisches" und "dynamisches" programmieren sehen. die interpretation einer zeile zum bsp. ich habs jetzt beispielhaft so angegeben, dass eine zeile aus 2 "worten" besteht die per leerzeichen getrennt werden. wort 1 wäre der name, wort2 der zustand/flag. funzt freilich, aber is halt sehr statisch. würde man liese_lotte als liese lotte schreiben, wäre plötzlich lotte der status oO unschön ^^ zudem sieht das mit dem unterstrich immer blöde aus (eigenes empfinden). bessere wäre hier also zu sagen, das letzte wort ist der status, alles davor der name. "liese lotte 1" ginge dann also auch noch. geht in diesem bsp sehr schön. hätte man jetzt 3 sachen, die man speichern will, wärs scho wieder problematischer (uU).

du siehst: vorüberlegungen können einem später viel arbeit sparen. bis ins detail lässt sich sowas nich immer planen, aber es hält den gröbsten ärger von einem fern. gut, du hast also dein text-file mit den fahrrädern und deren zuständen und liest aus bzw schreibst (wenn sich nen zustand ändert). der zustand selber is entweder 0 oder 1. das speicherste in ner variablen nachm auslesen und kannst anhand dieser dann einfach den status anzeigen lassen. vllt als pseudocode sowas hier:
if(flag == 1) echo/print "ausgeliehen"; else echo/print "im laden";

und ändern? geht dann auch sehr easy. machst dann einfach aus der 1 ne 0 oder aus der 0 ne 1 ^^
hier noch ne kleine anmerkung: bei sowas (2 zustände) kann eine toggle funktion sehr nützlich sein. also eine funktion, die flag von 0 auf 1 oder von 1 auf 0 setzt - je nachdem welchen wert sie hat. viel einfach gehts aber, wenn flag nen boolean wäre (wahrheits wert) -> true/false. dann wäre es also ganz gut, wenn man beim auslesen aus der datei nich die 0 oder 1 speichert, sondern sowas macht:
if(last_word == '0') flag = false; else flag = true;

dann geht das toggln dieses flags äusserst simpel: flag = !flag; ^^ ! ist ein negationsoperator (zumindest bei vielen sprachen). != heisst zum bsp auch ungleich. also 1 != 1 ergibt false, weil beide seiten gleich sind, 1 != 0 oder 12 oder was auch immer wäre true. die aussage, das beide seiten ungleich sind, stimmt ^^ joa, und flag = !flag; weisst flag seinen alten boolschen wert zu, nur eben negiert. !false (-> nicht falsch) ergibt so true und !true (nicht wahr) ergibt also false.

gut, soviel zum grundsätzlichsten. für ne effektive speicherung deiner text-file daten wirste aber sicher noch 2 andere dinge brauchen: ne struktur und ne liste ^^ die struktur enthält dann in einer variablen 2 untervariablen -> name und flag und die liste beinhaltet viele dieser struktur-variablen. bei php würde es in diesem fall auch nen einfaches array tun, da man hier ka strings als keys nutzen kann. also array[name] = flag; würde alle benötigten infos beinhalten. bei c usw geht sowas aber leider nich (in php kann man auch nich wirklich von sowas wie nem array reden, das sind eher listen mit array charackter, nach aussen hin).

gut, soviel mal als ganz allgemein gehaltener ausblick. hoffe es hilft dir im groben ein wenig. ins detail kann man ja gehen, wenn du mal ne sprache ausgesucht hast (mit phyton hab ich zum bsp 0 erfahrung, auch wenns sicher wieder mit c usw verwandt is).
 
AW: Programmieranfänge

Hey,

wie schon gesagt: Welche (höhere) Programmiersprache du für dein Vorhaben wählst ist wirklich völlig egal, da dein Projekt ja ziemlich simpel zu sein scheint. Aber was meinst du genau mit "Nun ist mein hauptsächliches Problem, das ich nicht weiß mit welchem Programm man dies umsetzen könnte" ? Suchst du ein IDE ? Dann schau dir auf jeden Fall mal PyDev an. Bin kein Python-Profi aber Eclipse allgemein benutzte ich eigentlich für alles wo nicht Microsoft draufsteht :D

Abgesehen vom Programmieren der Applikation wirst du aber um eine Datenbank (und sei es nur ein csv-File das als DB dient) nicht herum kommen. Von daher würd ich dir empfehlen, sich mal ins Thema Datenbanken einzulesen, so dass du wenigstens de grundlegenden Abfragen drauf hast.

LG und viel Erfolg^^
 
AW: Programmieranfänge

Datenbanken (hatte ich vergessen zu erwähnen) hatte ich in meiner ausbildung bis zum erbrechen. Datenbanken wollte ich auch nicht ausschließen. Ich hatte es mir ungefähr so vorgestellt: Der Einwand mit der GUI war nicht ganz verkehrt. In diese Richtung wollte ich auch gehen. In meiner Ausbildung hatte ich damals kurz etwas delphi gehabt, dort war es so das wir im Borland delphi 6 geschrieben haben und dort konnten wir uns auch gleich unsere "Fenster" (also unsere GUI) zusammenbasteln. Da ich von den meisten anderen hohen Programmiersprachen - wie ihr vielleicht mitbekommen habt - keine ahnung habe, war ich mir anfangs nicht ganz sicher ob man dies bei python auch mit einer gui hinbekommt... aber scheint ja wunderbar zu gehen. Also: Man soll in einem "Fenster alle Fahrräder untereinander sehen und meinetwegen einen blinkenden Effekt das man gleich sehen kann - aha fahrrad sowieso ist gerade unterwegs - verstanden?

@DarkMo: Danke für die erklärung diese war gerade wirklich hilfreich! Aber leider ist das in dieser variante keine alternative (nichts für ungut). Dies hat mir aber aufjedenfall schonmal einen überblick verschafft. Wäre natürlich die einfachste Lösung, aber nicht wirklich übersichtlich.

@Supeq: Pydev ist sozusagen ein Addon für den Editor Eclipse? gegen Datenbanken habe ich grundsätzlich nichts... naja den IDE habe ich auch wenn ich das Python Pack runterlade oder beim Editor JEdit das Addon integriere. ODer meinst du etwas anderes?
 
AW: Programmieranfänge

Naja PyDEV ist schon mehr als ein Addin sondern viel mehr ein komplettes IDE für Python, also mit Debugger, Interpreter ... halt alles in einem ^^ Muss man ja nicht benutzen, aber damit hat man halt alles in einer Umgebung.
 
AW: Programmieranfänge

Mir stellt sich die Frage, was sind deine Anforderungen an die Programmiersprache? Dein Projekt kann man, meiner meinung nach, am simpelsten mit einer relationalen Datenbank (SQL) und einer website mit PHP realisieren, das ist aber wahrscheinlich nicht dein Ziel, oder?

@Supeq: Bitte empfehle niemandem Eclipse. Es gibt keine schlechtere IDE, vim ist besser als Eclipse.
 
An und für sich kannst du dein Vorhaben mit jede Hochsprache realisieren, aber ich empfehle dir C zu lernen. C bildet die Grundlage zu fast jeder anderen Hochsprache, sei es C++, C#, Java, etc.

Wenn du C erlernt hast, kannst du mit C++ weiter machen und dir dann dein Programm schreiben. Ist ein zeitaufwendiger Weg aber er wird passen.

Andernfalls könntest du dir eine Webapp programmieren, da du ja schon Kenntnisse in PHP besitzt. Nutze dann PHP um eine Datenbank an deine Webapp anzubinden und dort dann die entsprechenden Eintragungen vorzunehmen! Wäre sehr sinnvoll da du mobil mit der App bist, da sie ja auf deinem Server läuft!

Wenn du schon Kenntnisse in Python hast, dann nutze sie. Jedoch kenn ich Python nicht! Mir scheint die Sprache schon sehr suspekt, da sie mich an Monty Python erinnert. Jeder der den kennt weiß ja was das für ein Witzbold ist.

Aber theoretisch kannst du es sicher auch in Python oder Delphi oder was auch immer Programmieren.
 
AW: Programmieranfänge

aaalllllsoooo,

@ Leandros: Wahrscheinlich wäre dies die einfachste Lösung, würde aber jedesmal einen Browser erfordern, oder? Ich möchte lieber ein eigenständiges Programm, das ich starte und dann dort eingaben tätigen kann und diese dann durch betätigen eines "Speichern"-Buttons in einer Datanbank(Ich habe gemerkt ohne datenbank wird das wahrscheinlich nichts:ugly:;)) abspeicher kann. So dass ich nach einem späteren neustart des programms wieder alles so ist wie ich es vorher abgespeichert habe.


Ich habe mittlerweile die attribute erarbeitet was in der Datenbank vorhanden sein sollte. Dies muss jetzt erstmal in eine richtige reihenfolge gebracht werden. Danach werde ich mich daran machen erste Erfahrungen in GUI-Programmierung zu sammeln. Dies bezüglich irgendwelche empfehlungen? Welches Programm?
 
AW: Programmieranfänge

Kommt drauf an welche Plattformen du anpeilst.
GUIs kannst du eigentlich mit so gut wie jeder Sprache entwerfen und entwickeln.

Empfehlen würde ich dir allerdings C, C++ oder Java. Sind für den Anfang die sinnvollsten und praktischsten.
Als GUI library kannst du bei C oder C++ GTK nutzen oder bei Java SWING.
Müsstest du dich mal schlau machen, was dir am meisten zusagt.
 
AW: Programmieranfänge

Ich hab jetzt nochmals nachgesehen... Java sieht ziemlich unübersichtlich aus, scheint aber für den Anfang nicht verkehrt zu sein. Ich meine eine GUI in Java zu entwickeln wird jetzt nicht das schwerste sein, aber wie bindet man eine eine Datenbank ein? Also so das dann bei jeden Progammstart auf eine Datenbank zugegriffen wird? Sozusagen wie in einem Explorer für Datanbanken wo man verschiedene Filterungen vornehmen kann um besser die Datenbank nach den nötigen Info´s zu durchsuchen.
 
AW: Programmieranfänge

Ich empfehle den Leuten immer mit C anzufangen, mag für den Anfang etwas komplizierter sein, jedoch macht es dir später vieles einfacher.
Java ist im Prinzip ein vereinfachtes C++ welches in einer VM läuft.
Es gibt für jede Sprache Datenbanken, kein angst (entweder eingebaut oder per library).
 
AW: Programmieranfänge

Gut dann werde ich es mal mit C probieren. Erstmal werde ich mir ein ER-Diagramm erstellen um erstmal ein plan zu haben welche informationen im Programm dann abgefragt werden sollen. Danke erstmal bis hierhin.:)
 
Zurück