Eigene Software für Akkorde, Skalen, Tipps & Trick´s. Anteilnahme Gesucht!!!

  • Ersteller Thomas.Sonntag
  • Erstellt am
T
Thomas.Sonntag
Registrierter Benutzer
Zuletzt hier
10.03.14
Registriert
07.10.07
Beiträge
180
Kekse
136
Hallo Leute,

um meine Programmierkenntnisse wieder ein wenig aufzufrischen möchte ich mich an eine "von Musiker für Musiker" Software ran machen.
Mein Gedanke geht in die Richtung, Akkorde, Griffbilder, Skalen, Theorie (wie justiere ich den Hals? wie stimme ich nach Gehör?) usw. usf.

Deshalb, auch wegen dem Titel "von Musiker für Musiker" möchte ich jeden bitten, sich mit in diese Software einzubringen.
Ich will damit kein Geld verdienen, nur helfen.

Im Moment möchte ich mich nur um die Gitarren kümmern.
Abteilungen wie Klavier, Sax. oder was auch immer soll erst später hinzukommen.

Also, ich Suche: Tipps, Anregungen, Vorschläge für die Umsetzung einzelner Module. Also sagt mir was ihr toll finden würdet was das Programm kann, und ich schau ob es sich realisieren lässt.

Dann vielleicht für die technischen Teile, so ähnliche wie´s hier die schönen Workshops gibt, Autoren für solche Tutorials, oder halt links zu guten FAQ´s o.ä.
Oder auch die Erlaubnis die Tut´s halbwegs zu übernehmen.

Vielleicht findet sich ja noch jmd. der sich mit Object Pascal, bzw. Delphi-Language auskennt.

Dann werde ich regelmäßig an ausgewählte, die sich dazu bereit erklären, Testversionen raus geben, um einmal die Lauffähigkeit zu prüfen,
und um Änderungsvorschläge anzunehmen und drüber zu diskutieren.

Außerdem, jeder der sich sinnvoll mit einbringt, wird auch im Impressum namentlich genannt :rolleyes:
mehr kann ich euch nicht bieten. :D

Also, dann hoffe ich auf reiche Anteilnahme! Dann diskutiert mal los.

Edit: Es gibt zwar viele Internetseiten, die sowas anbieten, auch nur teilweise. Aber ich will eine Lösung schaffen, die man auch offline nutzen kann. Bei gefallen wird vielleicht eine PocketVersion draus für Handy oder so.
 
Eigenschaft
 
Hast du schon konkrete Vorstellung zur Architektur? OpenSource?
 
Hey, nein. Habe ich nicht vorgehabt. :D Sehe ich in diesem Fall auch nicht so sinnvoll. Kennst du dich denn mit programmieren aus, oder ist das eine reine Interessensfrage?
 
Ich kenne mich ein wenig aus, aber Object Pascal ist nicht meine Welt und zeitlich bin ich sowieso ausgelastet - war also eine Interessensfrage.
OpenSource würde ich als sinnvoll erachten, weil dann auch contributors patches in einem Bugtracker hochladen könnten und generell auch viel die nicht dem core-team angehören mitarbeiten könnten - das hat auch den vorteil das man sich nicht verpflichten muss, sondern wenn es zeitlich passt ein par patches nachschieben kann. Auch - selbstverständlich wenn das Projekt einschlägt - beteiligen sich dann oft automatisch einige mit daran, und mal selber lernt viel von den anderen, oft vor allem wie man eine gute Architektur erarbeitet (wenn den fähige Programmierer mit im Team sind, mit viel Erfahrung). Und da du ehe keine Geld damit verdienen möchtest, spricht nichts dagegen das ganze OpenSource zu machen. Das alles ist aber auch nur meine Einschätzung und es scheint, dass hier nicht besonders viele daran interessiert sind, was aber vielleicht auch daran liegt, das hier nicht gerade viel Programmierer unterwegs sind? Auf jeden Fall hast du dir sehr viel vorgenommen, um nur mal eben Programmierkenntnisse aufzufrischen.

Gruß und viel Erflog
 
Joa, was solls. Von nix kommt nix! :D

Das Problem mit OS ist nur, ich weiss noch nicht so recht wie ich das anstellen soll. Da müsste ich mich nochmal in die Materie lesen. Bisher hab ich halt nur "beschränkte" Erfahrung mit normaler Software.

Und warum ich das so komplex mit dem "auffrischen" mache? Soll ich nen Taschenrechner programmieren? Da bin ich in ner halben Stunde mit durch. Soll ja auch sowas wie ne Herausforderung werden. Denn so´n komplexes das Programm, ist umso anspruchsvoller in der Programmierung.

Edit: Ich suche ja nicht unbedingt mitprogrammierer, sondern auch Ideenvoschläge ect....
 
... nur mal so als Anregung - denk mal über Java nach, damit wirst Du Plattform unabhängiger.
 
Mein Gedanke geht in die Richtung, Akkorde, Griffbilder, Skalen, Theorie (wie justiere ich den Hals? wie stimme ich nach Gehör?) usw. usf.
.

Das hört sich für mich eher so an, als ob Du ein Buch schreiben willst, oder stelle ich mir das komplett falsch vor?

Grüße
Nerezza
 
Buch wäre vielleicht übertrieben.... :D

Als Beispiel: Beispiel

Nur das ganze soll halt Internetunabhängig werden. Halt was man alles so gebrauchen kann, wenn man zu Hause sitzt und spielen will, was neues lernen will (scalen) ect. pp.

Halt was für unterwegs und zu hause, ohne in das Internet zu müssen. Weil ich kenn das selber, bis man da mal was gescheites gefunden hat, dauerts ewig...
 
...da gibt es weitaus besseres...

z.B.??? Also ich habe gez auch nicht vor mir unbedingt eine komplett neue Sprache beizubringen. Bin halt von der alten Schule noch mit Pascal hängengeblieben...
 
Sprachen die echte delegates, closures/high order functions, usw. bieten und dessen OOP Konzept ein echtes und offenes ist und nicht... Dazu gibt es viele "Moderne" Sprachen die sowas bieten und auch Plattformunabhängig sind. Solche Sprachen lassen sich unter dem Begriff VHLL (very high level (programming) language) zusammenfassen, wozu Java nicht zählt. Ich will aber auch jetzt nicht über Programmiersprachen herziehen, schließlich sind wir hier in einem Musikerforum und nicht in einem Programmierforum ;) Außerdem gibt es diesbezüglich schon genug im Netz.

Wer im Mainstream bleiben will ist mit Java, C# und Konsorten gut bedient, wobei C# Moderner ist, weil es echte delegates bietet und Konzepte der Funktionalen Programmierung (closures, high order functions, Currying, lambdas, usw.).


-----------------------------------------------------------------------

Wie dem auch sei, wenn du dich mit Object-Pascal wohl fühlst, dann bleib dabei. Wenn du dich aber "ernsthaft" (ja auch einfach zu intellektuellen Bereicherung/Horizont Erweiterung/Förderung von neune Denkmodellen) mit Programmierung auseinandersetzten willst, kann ich nur raten auch mal über den Tellerrand zublicken - ja, auch jenseits des Mainstreams ;) Neue Denkmodelle könenn ungemein bereichern und dessen Erkenntnisse lassen sich oft auch auf andere Sprachen, die bestimmte Konzepte nicht bieten, indirekt übertragen (z.B annäherndes OOP auf reinem C (nicht C++), wenn man den OOP wirklich begriffen hat). Diesbezüglich irgendwas vorzuschlagen ist eine nicht endende Liste aber dennoch mal einige Vorschläge (mit denen ich mich beschäftigt habe) um sich mit verschiedenen Programierparadigmen auseinanderzusetzen. Ob man diese Sprachen dann auch produktiv einsetzt ist erstmal sekundär, es ist eher als Forschungsauftrag zu verstehen um wie gesagt neue Denkmodellen zu erschließen die sich oft abstrahiert übertragen lassen (Siehe obiges Beispiel mit C):
Funktionale Programmierung:
- Haskell (schwierig was mit zu machen und ich komme damit auch nicht wirklich klar, aber die Konzepte sind sehr bereichernd. Python hat viel von der Sprache gelernt, sowie von Lisp und anderen). Haskell gehört zur Gattung der reinen Funktionalensprachen (also ohne Seiteneffekte), bietet aber das Konzept Monaden mit denen man auch Sachen wie z.B. I/O-Operationen (die rein Funktional nicht lösbar sind, weil Seiteneffekte enstehen!) lösen kann.
- Lisp sollte man mal zumindest mal gesehen haben, kann eine Bereicherung für die Hirnwindungen sein. Hier gibt es verschiedene Dialekte, von denen Scheme und Common Lisp die bekanntesten sind (mit CLOS lässt sich CL um OOP erweitern, was alleine aus CL-Code heraus geformt ist). Anfangen würde eich mit Scheme, weil es auf das wesentliche reduziert ist. Lisp kann als eine der Mütter aller Modernen und dynamischen Sprachen angesehen werden. Die dynamischen Möglichkeiten sind (für das alter der Sprache betrachtet!!) einfach atemberaubend und Lisp wirkt sehr modern!

Objektorientierte Programmierung:
- Smalltalk, sehr Alt aber hier lernt man was wirklich OOP ist (google mal nach Alan Kay). Alles andere alte in dem Bereich (C++, Java) ist Crap, weil sie schlciht und ergreifend OOP nicht begriffen haben.

Prototypen basiert:
- kurz: self, io, JavaScript (ECMA). Zu JavaScript muss man sagen das es wenig Material gibt, das den wesentlichen Aspekt (Prototybasiertes OOP, high order functions, closures...) hervorhebt. Hier kann ein Studium von Sourcecode hilfreich sein (jQuery, mochikit, dojo, ...) und google.

Logische Programmierung: Prolog ist diesbezüglich ein Muss. Wenn man das Konzept unabhängig der Syntax verstanden hat, versteht man auch Datenbanksysteme wie SQL usw. richtig!

Multiparadigmen:
- Python. Bietet weitergehend (mit Beschränkung) das Beste von allem oben vorgestellten. closures, high oder functions, OOP, prozedurale Vorgehensweisen, echte Introspektion mit zugriff auf den "call-stack", generative Konzepte, alles ist ein Objekt, echten morphismus, currying, lambdas (aber beschränkt) und vieles mehr.
- Ruby. Siehe Python. Aber Ruby ist noch viel (!!) freier und bietet offene klassen, DSL (Domain Specific Language), und vieles mehr. Python hat zwar auch das Konzept der offenen Klassen, aber nicht für die Klassen die dem Core angehören. Ruby ist aber im Gegensatz zu Python nicht sehr clean und mehr hacky und ist zu Python philosophisch (und auch im praktischen Einsatz) gesehen extrem diametral; für Python (siehe PEP-20) und für Ruby das Mantra von Perl ;) Rubys Standard implementierung (von Matz in C) ist auch ein wenig langsamer als die Standard implementierung von Python (von GvR in C). Ruby ist auch ein wenig buggy and broken aber eine wahre Forschungsfreude :D Sowohl Python als auch Ruby eigenen sich als glue-language und zum Prototyping.
- D++. Ein Geheimtipp, aber recht neu und daher nicht besonders verbreitet. Ich hoffe das löst irgendwann C++ ab. Siehe hier: http://www.digitalmars.com/d/2.0/comparison.html

Python, Ruby, D++ ... gehören zur Gattung der VHLL.

Dan gibt es noch das sehr junge Feld der Aspektorientierte Programmierung (AOP) und vieles mehr.

Naja, ist jetzt ein wenig OT geworden :rolleyes:

Gruß
 
Danke Danke, schon verstanden was du sagen wolltest.

natürlich bin ich an andere Sprachen interessiert. Es gibt auch garantiert welche die besser und freier sind. Nur bei mir isses so, das ich halt von kleinauf damit zu tun hatte. Weil mein Vater viel damit programmiert hat. Ihn kann ich fragen wenn es um Probleme geht. Kannst du denn mir was empfehlen was vielleicht auch Objectorientiert ist, wo ein großer support da ist, also Foren etc.? Dann lass ich mich gern eines besseren überzeugen :great:
 
Guten Support kriegst du zu Java, C#, Python, Ruby, C, C++ und vielen anderen Sprachen. Die Antwort hängt aber davon ab ob es Mainstream sein muss (eventuelle wegen eines Studiums und beruflicher Perspektiven) oder ob es auch außerhalb davon sein kann und vor allem was du von einer Sprache erwartest. Ich würde vorschlagen du schaust dir mal Java, C# und Python an. Java und C# sind extrem verbreitet, besonders Java. Zu Python kann man erwähnen das es in Gaming (z.B. battlefield) bereich als glue-language bzw. scriptsprache eingesetzt wurde/wird(?), es eines der Hauptsprachen ist die bei google eingesetzt werden (der Erfinder Guido van Rossum arbeitet bei google), es sehr viele libraries in verschiedenen bereichen gibt (GUI, Gaming-Engines, etc) und die Sprache auch im Wissenschaftlichen- und Forschungsbereich vermehrt auftaucht.

Python ist wie Java und C# eine interpretierte Sprach die mit compilierten bytecode (wird bei ersten start automatisch als Datei auf der Festplatte erzeugt) arbeitet. Wenn du dich daran nicht störst; es gibt ja so einige Spezies die der Meinung sind das nur echte Programme binäre Programme sind ;) Die VM von Python ist stack basierend (Stapelmaschinen), bietet aber keinen just-in-time compiler wie Java, lässt sich aber per Library nachrüsten. Falls du dich mit .NET (auf Windwos) und Mono (Linux) anfreunden kannst, könntest du auch C# mal testen.

Eine Umstellung für dich werden allerdings alle diese Sprachen sein. Auch einige für dich eventuell neue Konzepte werden vielleicht auch erstmal ein schock sein. Aber ich denke wenn du das Programmieren ansich verstanden hast und die Ressourcen, Mailinglisten, Foren liest, wird dir das nicht zu schwerfallen da rein zukommen und auch idiomatisch "richtig" in der Sprache zu programmieren.

Gruß
 
Da werd ich mich dann mal umschauen. Aber warscheinlich muss ich mich dann komplett von der Delphi Language verabschieden. Sonst kapier ich das neue warsch. nicht :D Danke!
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben