Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 14:07

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Frage bzgl. App-Programmierung

Discussion on Frage bzgl. App-Programmierung within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Frage bzgl. App-Programmierung



Servus Community,
ich habe seit Tagen im Kopf eine App zu programmieren, kein Spiel oder etwas schweres "eigentlich", also für mich ist es dennoch schwer aber für euch ein Kinderspiel.

Kommen wir zur Sache, mir stehen folgende Fragen offen und finde keine passenden Antworten im Netz, oder ich suche falsch. Jede Seite wo ich denke da ist die Antwort, steht die auch wiederum nicht richtig drinne, von daher:
  1. Welche Programmiersprachen benutzt man fürs programmieren von Handy Apps (iOS und Android)?
  2. Wie aufwändig ist es eine App zu erstellen, die nur als Informationsplattform zählt und kein Spiel ist, bzw. sowas wie ein kleiner "Blog"?
  3. Wo kann ich das lernen, was man für eine App-Programmierung benötigt?
  4. Der Prozess nach der erfolgreichen Programmierung, wie läuft das ab, wo lädt man es hoch, kriegt man dies kostenlos in den Appstore oder Google-Playstore?

Auch wenn das nicht alles war, denke ich, dass es für den Anfang reicht.

Ich würde mich über positive Antworten freuen und beende es hiermit,
vielen Dank im Voraus.
Natsu Dragneel is offline  
Old 07/03/2016, 09:48   #2
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
1. Android: Java, iOS: Swift (oder Objective C)
2. Keine Ahnung, "nur eine Informationsplattform" ist ja immer relativ. Wenn man es ganz billig macht, ist es wohl kaum Aufwand.
3. Android: Java mit irgendeinem Buch, die Android API lernt man hier:
iOS: Swift kann man hier lernen:
Keine Ahnung, wo man am besten Cocoa lernt. Kenne mich damit nicht aus.
4. Android: Kostenlos in den Playstore stellen; iOS: man muss registrierter Entwickler sein für 99 Dollar / Jahr
algernong is offline  
Thanks
1 User
Old 07/04/2016, 04:34   #3




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by algernong View Post
1. Android: Java, iOS: Swift (oder Objective C)
2. Keine Ahnung, "nur eine Informationsplattform" ist ja immer relativ. Wenn man es ganz billig macht, ist es wohl kaum Aufwand.
3. Android: Java mit irgendeinem Buch, die Android API lernt man hier:
iOS: Swift kann man hier lernen:
Keine Ahnung, wo man am besten Cocoa lernt. Kenne mich damit nicht aus.
4. Android: Kostenlos in den Playstore stellen; iOS: man muss registrierter Entwickler sein für 99 Dollar / Jahr
  1. Danke dir.
  2. Naja just so eine On-Click Informationsapp
  3. Irgendein Buch, aber welches. Hier frage ich nach euren besten Vorschlägen, mit dem ihr es gelernt habt und welches ihr weiter empfehlen könnt. Gibt es dazu auch Deutsche Seiten, in denen man die Sprachen lernen kann? Und was bitte ist Cocoa?
  4. Alles klar, danke.
Natsu Dragneel is offline  
Old 07/05/2016, 21:57   #4
 
Project Rivalry's Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,674
Received Thanks: 229
Für dein vorhaben empfehle ich dir eine Hybride App.
Funktionsweise ist in etwa folgende:
Du Entwickelst die App mit Html, CSS und JS. Also im endeffekt eine "Web Applikation" diese läuft dann z.b. mit Cordova in einem Nativen Container.
So hast du am ende eine APK Datei für Android und für IOS auch die passende(weiß grad nicht welche).

Gibt genug Tutorials im Netz hierzu. Unterstützend für das UI Design kannst du natürlich passende JS/HTML/CSS Frameworks nutzen.

Das schöne du hast durch den Nativen Container und Cordova schnittstellen auch zugriff auf Native Funktionen.

Solltest du eine etwas größere Anwendung planen empfehle ich dir Angular.js ein mit cordova sehr gut harmonierendes JS Framework.

ich hoffe die Stichworte helfen dir bei deinem vorhaben.

greetz
Riv

//vielleicht hilft dir dieser Link etwas weiter:

Project Rivalry is offline  
Thanks
1 User
Old 07/06/2016, 04:27   #5




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by Project Rivalry View Post
Für dein vorhaben empfehle ich dir eine Hybride App.
Funktionsweise ist in etwa folgende:
Du Entwickelst die App mit Html, CSS und JS. Also im endeffekt eine "Web Applikation" diese läuft dann z.b. mit Cordova in einem Nativen Container.
So hast du am ende eine APK Datei für Android und für IOS auch die passende(weiß grad nicht welche).

Gibt genug Tutorials im Netz hierzu. Unterstützend für das UI Design kannst du natürlich passende JS/HTML/CSS Frameworks nutzen.

Das schöne du hast durch den Nativen Container und Cordova schnittstellen auch zugriff auf Native Funktionen.

Solltest du eine etwas größere Anwendung planen empfehle ich dir Angular.js ein mit cordova sehr gut harmonierendes JS Framework.

ich hoffe die Stichworte helfen dir bei deinem vorhaben.

greetz
Riv

//vielleicht hilft dir dieser Link etwas weiter:

Puhhh, da sind echt Wörter beinhalten, von denen ich nur Bahnhof verstehe
Ich werde es mir mal anschauen, ich habe vor eine App zu programmieren, welche aber nicht an höchste Priorität steht, das wichtigere ist, dass ich im Allgemeinen Programmieren erlernen will.
Natsu Dragneel is offline  
Old 07/06/2016, 11:05   #6
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
Dann würde ich persönlich eine Plattform erst einmal komplett vergessen und mich nur auf eine konzentrieren (nämlich die, für die du auch Hardware hast). Ich finde es macht mehr Spaß, mit Swift / Java zu programmieren als mit solchen Web-Sachen wie @ vorgeschlagen hat.
Ist aber nur meine unbegründete persönliche Meinung, und wenn es doch deine Priorität wird, schnell für alle Plattformen zu entwickeln, ist @'s Weg auch der beste.
algernong is offline  
Old 07/06/2016, 15:05   #7




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by algernong View Post
Dann würde ich persönlich eine Plattform erst einmal komplett vergessen und mich nur auf eine konzentrieren (nämlich die, für die du auch Hardware hast). Ich finde es macht mehr Spaß, mit Swift / Java zu programmieren als mit solchen Web-Sachen wie @ vorgeschlagen hat.
Ist aber nur meine unbegründete persönliche Meinung, und wenn es doch deine Priorität wird, schnell für alle Plattformen zu entwickeln, ist @'s Weg auch der beste.
Alles klar, ein danke hiermit auch an dich. Du sagst also lieber auf eine Plattform gehen, als gleich für beides?
Natsu Dragneel is offline  
Old 07/06/2016, 16:13   #8
 
elite*gold: 0
Join Date: May 2015
Posts: 700
Received Thanks: 445
Na ja, ich meine: Wenn du die App wirklich haben möchtest, dann ist der Weg von Project Rivalry wesentlich effizientere.
Wenn du aber eigentlich nur Programmieren lernen willst, lernst du gleich mehr über iOS (oder Android) und dein Gerät wenn du native Apps schreibst.
algernong is offline  
Thanks
1 User
Old 07/06/2016, 18:55   #9




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by algernong View Post
Na ja, ich meine: Wenn du die App wirklich haben möchtest, dann ist der Weg von Project Rivalry wesentlich effizientere.
Wenn du aber eigentlich nur Programmieren lernen willst, lernst du gleich mehr über iOS (oder Android) und dein Gerät wenn du native Apps schreibst.
Natürlich, einerseits will ich hauptsächlich Programmieren lernen, einerseits aber auch die App auf die Beine stellen, welche aber wirklich nur an zweiter Stelle steht, da wie gesagt, Programmierung für mich an erster Linie ist.
Natsu Dragneel is offline  
Old 07/06/2016, 20:00   #10
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
Ich werf nochmal was anderes ein,
ich persönlich finde das Entwickeln für den PC deutlich angenehmer, und würde dir ans Herz legen erst mal damit anzufangen. Es gibt haufenweise Frameworks für diverse Sprachen die Sowohl PC als auch Smartphones unterstützen, z.B. Mono für C#, Firemonkey für Delphi, LCL für Lazarus, QT für C++, etc.
warfley is offline  
Old 07/06/2016, 20:14   #11




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by warfley View Post
Ich werf nochmal was anderes ein,
ich persönlich finde das Entwickeln für den PC deutlich angenehmer, und würde dir ans Herz legen erst mal damit anzufangen. Es gibt haufenweise Frameworks für diverse Sprachen die Sowohl PC als auch Smartphones unterstützen, z.B. Mono für C#, Firemonkey für Delphi, LCL für Lazarus, QT für C++, etc.
Firemonkey, Lazarus, QT für für für etwas, man sollte es wirklich so schwer sein etwas zu verstehen?

Ich denke ich fange an mit C# oder C++, was denkst du was besser ist? Oder was ist überhaupt der Unterschied von den beiden und wo sollte ich es am Besten erlernen?
Natsu Dragneel is offline  
Old 07/06/2016, 20:22   #12
 
Project Rivalry's Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,674
Received Thanks: 229
Was ist dein Ziel?

Ein Grundverständniss in Entwicklung? Dann musst du dich erstmal entscheiden Webentwicklung? Serverseitige Entwicklung? Normale Pc Programme? App Entwicklung?

Solltest du ein Android Smartphone besitzen, als langfristiges Ziel eine App Entwickeln wollen und grundverständniss für die Entwicklung bekommen, empfehle ich dir Java.

Ganz einfach Java ist OOP, leicht zu verstehen und du kannst damit eine Android App entwickeln.(ist zwar ein etwas anderes Java dann aber Syntaktisch gleich)


Auch wen du die App auf verschiedenen Plattformen willst und meinen Ansatz irgendwann wieder auf nimmst mit den Hybriden Apps, ist es von Vorteil schonmal eine native App entwickelt zu haben! Um ein paar dinge leichter zu verstehen.

Spiele oder Aufwendigeres sollten eh Nativ gehalten werden. (Persönliche Meinung)

Falls du dich für den Java weg entscheidest oder den hybriden Ansatz kannst du dich gerne per PN bei mir melden und ich kann dir etwas helfen, wen ich Zeit habe.

greetz
Riv
Project Rivalry is offline  
Old 07/07/2016, 02:00   #13
 
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 572
Quote:
Originally Posted by abdu931 View Post
Firemonkey, Lazarus, QT für für für etwas, man sollte es wirklich so schwer sein etwas zu verstehen?

Ich denke ich fange an mit C# oder C++, was denkst du was besser ist? Oder was ist überhaupt der Unterschied von den beiden und wo sollte ich es am Besten erlernen?
Ok hier mal eine kleine Erklärung:
Zunächst einmal die Begriffe:
Programmiersprache, Formale Sprache mit Syntax und Semantik zum Beschreiben von Programmen
Syntax, Regeln zur Form von Programmen, so zu sagen die Grammatik der Programmiersprache (z.B. das Programm muss mit dem Schlüsselwort Program beginnen und mit end. enden)
Eine Syntax wird Strikt genannt, wenn sie nur wenige Abweichungen zulässt.
Semantik, Regeln wie ein Programmcode ausgeführt werden soll (was das Programm macht, z.B. das a+b die addition beschreibt)
Bibliothek, Sammlung an Hilfsmitteln zur Programmierung, z.B. Funktionen, Konstanten, Komponenten, oder aber auch Resourcen wie Grafiken (z.B. Quelltextdateien die von anderen bereitgestellt werden, welche du von deinem Programm einfach aufrufen kannst)
Framework, Sammlung an Bibliotheken die Rahmenbedingungen aufstellen (z.B. .Net, dieses bearbeitet fast eigenständig den Programmablauf, und stellt Funktionen bereit, die der Programmierer nicht selbst implementieren muss)
Plattform, Rahmenbedingungen auf denen das Programm laufen soll, dazu gehören CPU Architektur, Betriebsystem, aber auch Bibliotheken (wie z.B. OpenGL oder OpenGL/ES), (Beispiel, meine aktuelle Plattform ist ein x86_64-Intel Rechner mit Microsoft Windows, ein Android Smartphone ist zumeist eine 32 oder 64 Bit ARM Linux(Android) Plattform)
Mono, Quelloffene Implementierung von Microsofts .Net für die Programmiersprache C# auf verschiedenen Plattformen (Windows, OSX, Linux, iOS, Android)
QT, ein (hauptsächlich C++) Framework zur entwicklung Grafischer Anwendungen (mit vielen weiteren Funktionen) für verschiedene Plattformen (alle gängigen)
Firemonkey, ein Framework für Delphi und C++ zur Cross-Plattform Entwicklung Grafischer Anwendungen (Windows, OSX, iOS, Android)
LCL, ein Framework für FreePascal enthalten in Lazarus (einer IDE) zur Grafischen Entwicklung für verschiedene Plattformen (alle gängigen, aber zum Teil noch nicht voll ausgereift).
IDE, Integrated Development Environment, Sammlung an Werkzeugen zur Anwendungsentwicklung (z.B. Codeeditor, Compilerinterface, Debuggerinterface, Formulareditor)
Compiler, Software die Programmcode in ein Ausführbares Programm (oder anderen Code) übersetzt
Debugger, Programm um die Ausführungsschritte eines Programmes zu analysieren
Interface, Schnittstelle, z.B. Compilerinterface, Schnittstelle zwischen IDE und Compiler, damit der User sich nicht mit dem Compiler selbst auseinander setzen muss und alles aus der IDE erledigen kann
Formular (GUI), Grafisches Fenster, mit Komponenten drauf (Buttons, Edits, etc)
Usecases, Einsatzgebiete (z.B. ist der Usecase eines Bohrers löcher Bohren)
Server, Rechner/Software welche einen Dienst (Service) bereitsellt.
Nativ, Software die direkt auf der Maschine läuft, und von der CPU direkt ausgeführt wird.
Interpretiert, Software die von einer anderen Software(Interpreter) ausgeführt wird (und damit auch den Interpreter zum laufen braucht).
Systemnah, Wenn der Programmierer direkt die Funktionen des Betriebsystems verwendet, und somit seine Software für dieses System schreibt

So wenn du nun diese Begriffe kennst kann ich dir ein wenig über Programmiersprachen erklären.

Es gibt Programmiersprachen wie Sand am Meer, und alle haben verschiedene Use Cases. Um mal einige zu nennen C++, C# (ausgesproche C-Sharp), Pascal, Javascript, Haskell, Fortran, Cobol, Java, Swift. Und jede dieser Programmiersprachen haben andere Vor und Nachteile. Man sollte die Programmiersprache wie ein Werkzeug betrachten, wer versucht mit einem Schraubenzieher einen Nagel in die Wand zu schlagen ist schlicht und ergreifend ein Kackboon (schönes Wort).
Bevor ich nun weiter auf die Programmiersprachen, ihr Einsatzgebiet und vor bzw Nachteile eingehe möchte ich die Einsatzgebiete zunächst Grob Kategorisieren.
Zunächst gibt es Apps, die Lokal laufende Software, das ist Software die meist Vollfunktionsfähig ausgeliefert wird, (unter Windows als .exe) welche Lokal auf dem Rechner läuft, und von einem Nutzer gesteuert wird (z.B. der Browser).
Dann gibt es die Webentwicklung, das bezeichnet Software welche durch einen Webserver bereitgestellt wird. Ein typisches Beispiel ist eine Website, diese wird vom Server bereitgestellt, und sowohl auf dem Server, als auch auf dem Clienten (im Browser) kann Code ausgeführt werden.
Als nächstes gibt es noch die Serviceentwicklung bzw Daemons, das ist Software die anderer Software Dienste bereitstellt (ein Server) und vor allem im Hintergrund läuft und kaum/keine Interaktion des Nutzers benötigt.
Programme, so bezeichne ich den Rest, diese sind Oft mischungen aus den drei obigen Kategorien, z.B. Compiler welche Sowohl für den Nutzer bereit stehen (so wie Apps) allerdings auch anderer Software bereitsteht (wie ein Server).

Nun könnte man über diese Kategorisierung meckern, ich bin auch nicht 100% glücklich damit, aber für den Anfang sollte das reichen um ein grobes Bild zu vermitteln.

Nun ein Wenig zu den Oben genannten Programmiersprachen, Cobol und Fortran darfst du direkt mal vergessen (Cobol ist eine Banksprache und Fortran eine Hyper Computing Sprache, beide aus den 50er'n, reine Nieschensprachen) die habe ich nur mal angeführt um zu zeigen es gibt noch viele Sprachen, grade wenn man sich Spezialisiert.

C++ ist eine Native Sprache welche vom Compiler direkt in Maschinencode Übersetzt wird, und somit sehr Hardware und Systemnah läuft, was gute Optimierung im Bezug auf Geschwindigkeit zulässt. Allerdings ist C++ eine Low Level Sprache, und man ist auf viele Bibliotheken von Dritten angewiesen (z.B. QT) um ein Level an abstraktion zu erhalten, damit die Software nicht nur auf einer Plattform läuft. C++ ist Grundsätzlich Plattform unabhängig, allerdings bieten die Standardbibliotheken nicht allzuviele Komponenten und Funktionen, weswegen sehr schnell auf Systemfunktionen zurückgegriffen werden muss, wodurch der Code Plattformabhängig wird. Außerdem gibt es viele Verschiedene Compiler, und ein Code der im g++(ein C++ Compiler) läuft muss nicht zwangsläufig im VC++ (ein andere Compiler ) laufen. Außerdem ist man auch von der Prozessorarchitektur abhängig, wenn Code auf x86 gut läuft kann er unter ARM viele Fehler machen.
C++ eignet sich vor allem sehr gut für Systemnahe Anwendungen, sowie Services. Für Grafische Anwendungen benötigt man meist Bibliotheken (wie QT), und es passiert schnell, das ein eigentlich Plattformunabhängiges Programm nur unter der Entwicklungsplattform vernünftig läuft. Durch die Gute Möglichkeit der Optimierung an die Plattform und sehr guter Compiler Optimierung wird C++ auch gerne genommen wenn man eine gute Leistung erzielen will. C++ hat meines Erachtens nach zwei große Nachteile, zum einen Brauchen die Compiler ewig (man benötigt für ein etwa 150MB großes Projekt schon gut und gerne mal 30-45 Minuten), zum anderen hat C++ eine sehr Lasche Syntax, und lässt sehr viele Konstrukte zu, die sehr schnell zu Fehlern führen können (z.B. = statt == und der Compiler wirft nicht mal ne Warnung), allerdings kann man somit viel Platz und Zeit sparen. Und diese lasche Syntax erlaubt auch dass ein Code zwar funktionieren mag, aber unter anderen Voraussetzungen (z.B. anderer Compiler) plötzlich ungewollte Fehler auftreten.

C# ist eine von Microsoft entwickelte Sprache für das .Net Framework. Die Sprache wird zwar in einen Bytecode Kompiliert, die Anwendungen werden allerdings von der CLR, eine Software welche Teil des .Net ist Ausgeführt, und laufen somit nicht Nativ. (Allerdings auch nicht Interpretiert, die CLR Emuliert eine eigene Maschiene, mit eigener Architektur, welche in der Form nicht exsistiert, und auf dieser virtuellen Maschine wird der Code ausgeführt)
Somit ist C# nicht so Systemnah wie Native Sprachen, und können somit von jedweder Plattform abstrahiert werden. Auf einfach, C# läuft überall wo eine .Net Implementierung (z.B. Mono) drauf läuft.
C# ist vor allem zur einfachen Entwicklung von Apps, vor allem Grafischen Nutzeranwendungen ausgelegt, und als High Level Sprache muss man sich mit Technischen Details wie Speicherverwaltung nicht beschäftigen. C# wurde Ursprünglich für Windows entwickelt, läuft dank Mono allerdings mittlerweile auf verschiedenen Systemen (wie gut sei dahingestellt, habe es lange nicht mehr verwendet). Mit C# lassen sich natürlich auch Service Anwendungen schreiben, und mit ASP.Net auch Webentwicklung betreiben, aber der Kernfokus liegt auf der App Entwicklung (für Windows und Windows Phone). C# punktet vor allem durch die einfachen Forms, mit einem Formeditor, mit welchem du mit ein Paar Klicks eine Voll funktionsfähige Formularanwendung zusammenklicken kannst, außerdem bietet das .Net eine große Reihe an Funktionen und Klassen bietet, womit viele komplexe Probleme sich einfach realisieren lassen. Außerdem ist C# ich nenn es gern Idiotensicher, man kann relativ wenig falsch machen (im vergleich zu C++) und das .Net spuckt herforagende Fehlermeldungen aus, mit denen sich Fehler leicht auffinden und beheben lassen. Nachteil von C# ist, es läuft nicht nativ, wer Systemnah programmieren will wird wohl kaum seinen Spaß haben. Außerdem steht die CLR zwischen dem Programm und dem System was dazu führt das die Programme mehr Ram benötigen, und nicht so fix laufen. Außerdem bist du an Plattformen gebunden auf denen .Net (oder Mono) läuft, und je nach Plattform ist das unterschiedlich weit und gut Implementiert (z.B. BSD wird von einer Separaten Crew gemacht)

Pascal ist wie C++ eine Native Sprache, welche in 2 Hauptableger hat, Delphi und FreePascal. Während Delphi hauptsächlich auf die Windows Entwicklung abziehlt ist FreePascal auf Cross Plattform Kompatiblität ausgelegt. Beide ziehlen vor allem (ähnlich zu C#) auf die App Entwicklung ab, und bieten auch ähnliche Vorteile wie C#. Allerdings ist Pascal eine Low Level sprache, und man muss sich mit der Maschine (z.B. dem Speicher) auseinandersetzen. Delphi und Lazarus (eine IDE für FreePascal) bieten die VCL bzw LCL, ein Framework welches zur erstellung Grafischer Anwendungen dient, und die IDE's stellen auch einen Formeditor ähnlich zu dem von C#. Die Frameworks von Delphi bzw. FreePascal sind auch relativ groß und bieten viele einfach zu nutzenden Objekte und Funktionen, allerdings ist es nicht ganz so Groß wie das .Net. Pascal ist eher ein Mittelding zwischen C++ und .Net (bzw eher sogar Java). Neben Apps lassen sich mit Pascal auch Serviceanwendungen und andere Programme sehr gut schreiben, und die Anwendung sind auch relativ klein, und resourcesparend wie bei C++. Die Syntax ist sehr Strikt, was damit zu tun hat, das Pascal als Lernsprache für Studenten entwickelt wurde um Sauberes Programmieren zu lehren. Heutzutage ist Pascal nicht mehr so Strikt, allerdings im Vergleich zu C und C++ liegen dennoch Welten dazwischen. So muss man oft mehr Code schreiben, der Code ist dafür aber besser Wartbar, leserlicher, und weniger Fehleranfällig. Durch das Unit System von Pascal Compiliert Pascal Code aber Signifikant schneller als C++ (ein Faktor 10 ist schonmal mindestens drin). Nachteile sind, zum einen das der Pascal Ableger Delphi sehr Teuer ist, außerdem das bei FreePascal viele (grade weiterführende dinge wie Cross Compiling) schon recht viel erfahrung brauchen und nicht sehr Anfängerfreundlich ist. Außerdem sind die Pascal fehlermeldungen komplett für die Katz und komplett nichtssagend.

Javascript ist eine Komplett interpretierte Sprache, eine so genannte Skriptsprache, und kommt ursprünglich aus der Webentwicklung. Javascript wurde entwickelt damit Websiten Code im Browser ausführen können, und nicht alle Berechnungen Serverseitig stattfinden müssen. Mittlerweile gibt es mit z.B. Node.js oder Angular.js gibt es auch Javascript Ableger für Serviceanwendungen bzw. Apps. Die Javascript Syntax lässt nahezu alles zu, und ist ziemlich einfach zu erlernen. Da der Interpreter sich um alles kümmert muss man sich auch recht wenige Gedanken über die Daten oder ähnliches machen.
Die Nachteile von Javascript sind vor allem, das Javascript immer einen Interpreter braucht, außerdem der Code recht schmutzig gehalten werden kann und somit die Wartbarkeit und Lesbarkeit komplett vor die Hunde geht.

Haskell ist eine Funktionale Sprache, und unterscheidet sich somit vom Fundamentalen Konzept von den anderen Programmiersprachen die ich hier genannt habe. Bei Imperativen Sprachen wie C++ oder C# sagt man dem Computer Schritt für Schritt was er tun soll. Bei Funktionalen Sprachen wie Haskell sagt man Haskell was er rechnen soll (natürlich auch ein bisschen wie) aber um die Umsetzung kümmert sich dann Haskell selbst. Haskell wird Kompiliert und kann problemlos was Geschwindigkeit und Ram Auslastung angeht mit Sprachen wie C++ und Pascal mithalten. In Haskell sind vor allem Algorithmen deutlich kürzer, ein Quicksort (sortieralgorithmus) ist in Haskell ein Dreizeiler in C++ ist man nicht kürzer als 15 Zeilen. Außerdem ist Haskell Code sehr gut Wartbar und leserlich. Haskell wird oft in Kombination mit Imperativen Programmiersprachen verwendet, wobei die Logik und die Berechnungen durch Haskell erledigt wird, und z.B. das Grafische Layout durch eine Imperative Sprache, da diese dabei deutlich besser sind.

Swift wurde von Apple als Nachfolger von Objective-C für iOS und OSX entwickelt. Hier brauch ich eigentlich nicht viel über swift zu sagen, denn die Frage ob man swift lernen sollte lässt sich einfach beantworten: Hast du einen Mac, willst du Software exklusiv für OSX oder iOS schreiben? Wenn ja ist Swift die Sprache der Wahl, wenn nicht, Finger weg von Swift.

Und zu guter letzt Java. Das mach ich kurz Java ist Konzeptionell ähnlich zu C#, großes Framework was viel arbeit abnimmt, Virtuelle Maschine die den Code ausführt, High Level Sprache. Im gegensatz zu C# is Java allerdings nicht auf die Windows App Entwicklung ausgelegt, sondern auf die Cross plattform Entwicklung. Java Code läuft überall gleich, und das ist der Wichtigste Punkt für Java. Mit Java lassen sich sowohl Webanwendungen, Services und Apps schreiben, und in Java wird von Autoradiosoftware, bis hin zu Webservern alles geschrieben, was Java zu einer guten allarounder sprache macht wenn Plattformunabhängigkeit wichtig ist. Java ist außerdem die Haupt Android Sprache. Der größte Kritikpunkt an Java ist wohl die Unterirdische performance (verglichen mit z.B. C# oder gar nativen Sprachen). Außerdem ist Java recht Strikt und schränkt den Entwickler der z.B. C# gewohnt ist schon ein wenig ein.


So nun damit hätte ich eine kurze Erklärung zu ein Paar Sprachen. Es gibt natürlich noch Tausende mehr. Jetzt liegt es an dir, mein Rat, sieh dir ein wenig Quellcode an, und dann überleg dir welche Sprache du lernen möchtest. Im Leben eines Programmierers lernt man sowieso mehrere Sprachen, die Frage die sich jetzt stellt ist eher mit welcher du einsteigen möchtest.

Ich persönlich nutze Privat fast ausschließlich Pascal, da ich hauptsächlich Apps für Windows und OSX schreibe, und ich die Strikte Syntax mag und gerne Low Level programmiere.
Außerdem ist Pascal für jeden der wirklich Programmieren lernen will durch die Hardware und Systemnähe, und die didaktisch gut gewählte Syntax sowie den für jeden Einsehbaren Quelltext der Standardbibliotheken gut geeignet, aber durch das Große Framework zu Anfang nicht so frustrierend wie z.B. C++.

Wer eher schnell gute Ergebnisse möchte wird mit Pascal eher weniger Froh werden, da man auch die Technischen Hintergründe und das System verstehen muss, für den wäre eher C# oder Javascript was.
warfley is offline  
Thanks
7 Users
Old 07/07/2016, 02:40   #14




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by warfley View Post
Ach du meine Güte, ich bedanke mich erstmal hiermit bei dir sehr sehr viel, wirklich das du dir die Mühe gegeben hast und solch eine langen Text hinterlassen hast, hat mich echt :-)

Nun ja, nach meiner Danksagung und nach all deinen Erklärungen und Erläuterungen zu verschiedenen Programmiersprachen und der Bibliothek der Programmierer habe ich mir etwas Gedanken gemacht, nach dem ich deinen Text gelesen habe. Nach all meinen Überlegungen und Gedankenblitze habe ich mir überlegt mich zwischen C++, C# und Java zu entscheiden. Da ich denke, dass diese Programmiersprachen etwas an sich haben und etwas mit von sich ausgeben. Zudem sind die die aktuellsten Sprachen glaube ich und es gibt etliche Hilfeforen, die ich entdeckt hatte, zumindest gibt es hier genug Hilfe dafür :-)

Naja, mal so eine Frage, mit welcher Programmiersprache werden denn die EPVP-Tools, die hier verkauft werden, programmiert?

Nach dieser Frage würde ich gerne dich fragen, was du mir persönlich her am Besten empfehlen würdest, was ich erlernen sollte. Ich will erstmal so in die Richtung Windows basierende Programme entwickeln und dann im Nachhinein in die App-Programmierungswelt einsteigen.
Natsu Dragneel is offline  
Old 07/08/2016, 01:08   #15




 
Natsu Dragneel's Avatar
 
elite*gold: 456
The Black Market: 646/0/0
Join Date: Jun 2016
Posts: 12,614
Received Thanks: 2,271
Quote:
Originally Posted by .Scy View Post
von c++ würde ich abraten, da es relativ schlecht dokumentiert ist und dazu auch relativ schwer zu verstehen.

c# kenne ich selbst nicht und meide es auch, da es nur auf .net-platformen läuft(hauptsächlich windows).

java dürfte für dich ziemlich gut sein, da oracle alles dokumentiert hat, was java und die mitgelieferten bibliotheken angeht, wirst du auch selten fälle finden in denen es an mangelnder dokumentation liegt, dass du etwas nicht verstehst(eher an eigener "dummheit", spreche aus eigener erfahrung).

zudem solltest du bevor du mit java anfängst, oder c++ bzw. c#, erstmal OOP verstehen. objektorientierte Programmierung. es könnte dafür hilfreich sein die grundlagen in C zu lernen, falls du noch keine programmiersprache beherrschst(von da an könnte man auf c++ umsteigen, ich fand die umstellung von c auf java relativ einfach).

TL;DR: falls du noch keine grundlagen beherrschst im programmieren, fang am besten mit C an. Setz dir eine Linux VM auf, installier dir java & Eclipse(Eclipse wurde in java installiert) und schon kannst du mit dem GCC(Linux eigener C-compiler, Windows bietet keinen compiler nativ) anfangen C zu programmieren.
falls du schon weißt, was OOP ist und grundlagen beherrschst, kannst du dich direkt an java oder gar c++ versuchen.

P.S: falls du noch nicht programmieren kannst, vergiss dieses App-programmieren bzw. GUI-basierte programmieren erstmal wieder, je nach anstrengung deinerseits kann es gut 3-6monate dauern bevor du überhaupt konsolen-anwendungen schreiben kannst die etwas umfangreicher sind.
Ein großes Dankeschön auch an dich an dieser Stelle. Nach all meinen Überlegungen habe ich mich auch Java zugeneigt gefühlt. Da es mich persönlich einfach besonders im positiven Bereich angesprochen hat und einfach fast überall verwendet wird.

Zudem würde ich noch einmal bitte, falls du mir verraten kannst, welche Linux Betriebssystem du am ehesten empfehlen würdest, zu dem ich keinerlei Ahnung davon habe. Das mit Java und Eclipse sollte in Ordnung gehen.
Natsu Dragneel is offline  
Reply


Similar Threads Similar Threads
Frage bzgl. MM
09/10/2013 - Counter-Strike - 2 Replies
Hey, ab wieviel Tagen kein Matchmaking Spiel bestritten wird einem der Rang entfernt? Gehe bald in urlaub und kb mein eagle zu verlieren :(
Frage bzgl. LvL'n
01/11/2013 - WarRock - 16 Replies
Ist nur eine Frage, wusste nicht wohin ich es posten sollte :o Ist es schaffbar, mit 24/7 LvLn (SiroSix) von heute (Lv9) bis Samstag Lv70 zu erreichen? Gruß!
Frage bzgl. Ps3.
04/12/2012 - Consoles - 7 Replies
Hey, ich wollte demnächst mein Battlefield 3 an 'nem Kollegen verkaufen. B2k und den Online Pass habe ich jedoch eingelöst. Ein anderer Kollege meinte , wenn er mein Psn Account hat, kann er diese Codes runterladen, stimmt das?
Frage bzgl. Mod's..
02/07/2011 - Minecraft - 3 Replies
Hoi.. Also wollte den Bumpmaftv1_5_5 Minecraft Mod haben.. Hab ihn schon aufn Desktop. Aber wenn ich ihn so einfüge, wie ich es in der "Anleitung" verstanden habe, überpatcht Minecraft die Dateien immer -> kein Mod.. Könnte mir vllt jemand helfen via Teamviever? :/
[Frage] bzgl der SF
06/26/2009 - Metin2 Private Server - 7 Replies
Hallo liebe com ich habe nach langem suchen einen link gefunden (weiss nicht ob es 100% dies SF sind) von daher KEIN SPAM!!!!! DA SICH KEINER MELDET SCHAUT SELBST NACH: http://translate.google.de/translate?hl=de&sl =tr&u=http://www.turkmmo.com/tag/16477-metin2- server-files/&ei=fD5ESoiHB5iI_AbJuJWxAg&sa =X&oi=translate&resnum=8&ct=result& ;prev=/search%3Fq%3Dmetin2%2Bserver%2Bfiles%26hl%3 Dde%26lr%3D%26rlz%3D1G1GGLQ_DEDE330%26sa%3DN%26sta rt%3D20 €: wäre nett wen sich auch ein mod diesen theard im...



All times are GMT +2. The time now is 14:07.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.