Programmiersprachen aktuell

pmvstrm

Registriertes Mitglied
Ähnlich mit der Evolutions-Simulation; die, die ich bislang programmiert hatte, hatte eine ebene Fläche als Grundlage. Eine Erweiterung könnte nun darauf abzielen hier ebenfalls eine Spielfläche mit unterschiedlichen regionalen Eigenschaften und Trennlinien (Gebirge, Meere, Klimazonen) einzuführen, wozu ebenfalls ein Editor notwendig wäre.

Würde man sowas heute eher über Datenbanken lösen?
Ich hätte da einfach ein mehrdimensionales Feld im Programm definiert.
Gruß Alex

Also wenn Du größere Areale und Gebirge planst sowie einen Editor zum Arrangement der Szene benutzen möchtest, dann ist
natürlich eine Game Engine, nebst zugehöriger Programmierumgebung der richtige und vor allem weniger aufwendige Schritt.
Eine sehr gute und vor allem einfach zu erlernende Game Engine ist Unity (mit der schon viele gute Spiele umgesetzt wurden).
Die Pro Edition ist zwar kostenpflichtig, aber die Community Edition reicht auch schon für sehr Anspruchsvolle Spiele.
Als Programmiersprache kann man zwischen C#, JavaScript und Bo wählen (Bo ist eine Python Variante). Unity bietet auch
die Möglichkeit das Spiel für iOS (Apple) und Android (Google) zu erstellen.

http://unity3d.com/
 

Alex74

Registriertes Mitglied
Verstehe ich das mit den Game Engines richtig, daß da quasi schon die Grundlage eines solchen Spiels vorprogrammiert ist und man diese Grundlage an die eigenen Bedürfnisse anpaßt?
 

pmvstrm

Registriertes Mitglied
Verstehe ich das mit den Game Engines richtig, daß da quasi schon die Grundlage eines solchen Spiels vorprogrammiert ist und man diese Grundlage an die eigenen Bedürfnisse anpaßt?

Naja vorprogrammiert kann man nicht sagen. Die Spiellogik musst Du schon selbst erstellen. Aber komplexe Dinge wie z.B kollisionserkennung,
Physikeffekte oder das Laden von 3D Geometrie Modellen (z.B wenn Du ein Rennspiel machen willst, das Du ein Automodell designen und
in die Spielwelt laden kannst) sowie Wetter, Wasser, Partikel, Himmel und Beleuchtungseffekte kannst Du direkt ansteuern ohne das Du
wissen musst wie das alles genau funktioniert.Im Grunde genommen bietet Dir Unity vereinfacht gesagt ein profesionelles Gameconstruction
Kit, das von vielen kleinen Indy aber aber auch großen Gamestudios genutzt wird um Ihre Egoshooter, Rollenspiele oder Strategiespiele
umzusetzen.Die Dokumentation ist bei Unity übrigens ausgezeichnet und die Community ist sehr freundlich und hilfreich. Ich würde Dir zum
Einstieg Unity empfehlen, weil man sehr schnell (mit etwas Einarbeitung) lernt wie man ein wirklich gutes Spiel erstellen kann. Es gibt
auch viele Tutorials zum einarbeiten, etwas das bei diversen Gameengines (z.B CryEngine oder Unreal Engine) nicht immer selbst-
verständlich ist. Die Unreal Engine kannst DU Dir auch herunterladen und damit Ein Spiel erstellen, aber die ist erheblich umfangreicher
und auch komplizierter.Einen sehr guten Ruf hat auch die die OpenSource Game Engine IrrLicht, aber da sollte man schon ein guter
C++ Programmierer sein, da es hier keine Grafische Arbeitsoberfläche gibt und man nur im Code arbeitet (bei Unity arbeitet man hingegen
hauptsächlich mit dem Unity Editor. Damit kannst Du Sachen in die Spielwelt integrieren (z.B ein Auto oder Flugzeugmodell und daraus
direkt eine Eigenständige Exe erstellen die man z.B auf USB Stick oder DVD kopieren und/oder via Internet verteilen kann.

Mit einer Gameengine kanst Du Dich zu 90% auf den Inhalt deines Spiels konzentrieren, Bilder, Szenerie, Musik, Kontextbezogenen,
programmierte Aktionen (Kameraschwenks,positionierung von Licht und Wettereffekten) und weniger um Betriebssystem,
Grafikschnittstellen, Physik und Künstliche Intelligenz, das bietet Dir Unity alles frei Haus.

Wovon ich Dir aber absolut nur abraten kann, das ist zum einen das Microsoft XNA Kit und zum anderen die Ogre3D Engine.
beide sind eigentlich keine vollständigen Gameengines. XNA ist eigentlich nur eine Szenenbibliothek mit ein paar Codeschnippseln
und Ogre3D ist zwar Ambitioniert aber nichts für Schwache Nerven und schon gar nichts für Einsteiger und man braucht viel
C/C++ Detailwissen und Geduld. Crystalspace ist ebenfalls eine gute OpenSpource Game Engine aber ebenfalls ziemlich
Hardcore und mit recht kleiner Community. Der Austausch von Wissen passiert hier eigentlich nur über die Dev Mailingliste,
das Forum ist recht leblos. Wenn man auf OpenSource steht und in Sachen Komfort und Doku etwas Abstriche machen
kann, dann kann auch die Blender Game Engine benutzen. Die Engine ist nicht schlecht, der Umgang ist aber wesentlich
weniger Einsteigerfreundlich als Unity. Die Doku bei Blender ist oftmals auch sehr alt und manche Dinge sind gar nicht
diokumentiert. Wenn man Glück hat, weiß einer in irgend einem Forum bescheid oder man findet es durch den PRogrammcode
durch Trial and Error selbst heraus.

Gruß, Peter
 
Zuletzt bearbeitet:

Alex74

Registriertes Mitglied
Ich glaube das ist in dem Fall schon zu viel.

Grafisch und vom Spielgefühl her soll es ähnlich wie das alte "Panzer General" werden; eben ein rundenbasiertes Taktik-/Strategiespiel.
(Hier ein Bild: http://www.planet-freeware.de/img/software/screen_lgeneral_2.jpg ; eine Bemerkung übrigens noch: ich bin absoluter Pazifist und unterscheide streng zwischen Spiel und Realität was Krieg angeht)

Mir selbst geht bis heute auf den Zeiger daß es kein solches Spiel gibt das meine eigenen Anforderungen und Wünsche erfüllt. Daher trage ich den Gedanken auch schon länger mit mir herum wieder mit dem Programmieren anzufangen.
(Und wenn ich dann schon dabei bin eben auch die anderen Sachen die ich damals halt gerne weiter ausgebaut hätte mal umzusetzen; gerade eine umfassendere Evolutionssimulation ist bei einer 16 MHz CPU und 14 MB RAM ziemlich schnell am Ende...)

Gruß Alex
 

SRMeister

Registriertes Mitglied
Hallo Alex,
du solltest nun wirklich erstmal eine Programmiersprache auswählen.
Über Game Engines usw. solltest du dir zu diesem Zeitpunkt keine Gedanken machen.
Wichtig ist höchstens, dass die gewählte Programmiersprache später da nicht total unpassend ist, wie zb. Scriptsprache wie CGI oder Python. Die haben wirklich andere Einsatzzwecke.
Nimm eine anständige, weit verbreitete Programmiersprache und fang erstmal ganz einfach an, mit Hello World.
Wenn dir dann die Programmiersprache nicht gefällt, nimm die nächste.
Am besten du nimmst eine der folgenden: C# oder Java. Wenn du unbedingt bei basic bleiben willst, nimm VB.Net (Visual Basic.NET) alle drei sind kostenlos und wiederum ist C# und VB.NET kompatibel miteinander (es sind beides dotNet Sprachen). Java ist eigentlich auch eine Sprache, die für Webentwickler gemacht wurde, also eigentlich auch nicht ganz das Richtige, aber sie wurde mit der Zeit stetig erweitert.

Glaube mir, es hat einen Grund dass so viele Menschen eine dieser Sprachen wählen und keine "Exoten". Um das zu machen, was du vorhast, brauchst du keinen "Exoten" oder "Spezialisten" sondern einen "Alleskönner".

Meine Referenz ist: 1. Programmierzertifikat mit 9 für Basic. Ansonsten: C, C++, Pascal, C#, VisualBasic, PHP, Assembler usw.
pmvstrm weiß ohne Frage auch wovon er redet, aber er vergisst dass du ganz von Vorne anfangen musst und bereits jetzt über Game Engines zu reden, garkeinen Sinn hat.
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
Hallo Alex,
Vielleicht wäre SDL was für dich. Das ist quasi eine Bibliothek für C++, du kannst damit also richtig programmieren und die SDL Bibliothek kümmert sich nur um die grafische Darstellung (2D). Ich fand die Tutorials auch ganz gut gemacht, man lernt nebenbei viel zur Objekt orientierten Programmierung. Hinzu kommt, dass die Tutorials auf ein ganz ähnliches Spielprinzip hinauslaufen, der Anfang also schon gemacht wäre.

mfg
 

pmvstrm

Registriertes Mitglied
Ach sowas suchst Du:)

Dann brauchst Du eher etwas im Bereich 2D, sowas lässt sich heute auch schon gut im Browser realisieren und ich würde sagen
die meisten Browsergames sehen heute so oder so ähnlich aus. In den 80er oder 90er Jahren hätte man sowas sicher
in Basic, Pascal oder C/C++ gemacht aber sowas kann heute jeder Browser. Du hast ja deine Internetseite auch selbst
gestaltet, also weißt Du zumindest schon mal was HTML im groben ist. JavaScript bettest Du einfach nur in HTML ein
und drückst dann im Browser auf reload und schon siehst Du das Resultat.
Ich denke einfacher kann der Einstieg für Dich nicht sein und OOP lernst Du dadurch auch, denn auch JavaScript ist
komplett Objektorientiert und vermutlich durch das Web die am meisten verbreitete Programmiersprache der Welt.

Zum Thema Game Engines b.z.w Hilfsbibliotheken pro und contra
Ich fand es nie Hilfreich einfach nur eine Programmiersprache zu lernen um erstmal eine Gefühl fürs Programmieren zu bekommen.
Eine Programmiersprache ist ja auch nur ein Werkzeugkasten und die Werkzeuge müssen ja auch zu der Aufgabe passen
die man bewältigen soll.

Ich glaube das könnte etwas für Dich sein:
http://cocos2d-javascript.org/demo?test=cocos2d/SpriteTest

Falls Du aber auf allen Schnickschnack verzichten willst Du einfach alles selbst machen
willst (auf die MacGyver Tour) das geht natürlich auch und bei einem 2D Game ist der Aufwand auch noch vertretbar.

Du kannst So ein Game relativ einfach vonGrund auf als Browser Game gestalten. Jeder Browser in der heutigen
Zeit unterstützt den das sogenannte Canvas Element. Das ist quasi eine Zeichenfläche im Browser auf der Du malen
kannst, auf der Du deine gemalten Objekte verschieben, ausblenden oder durch anklicken eine Aktion auslösen kannst.

Hier ist eine Testseite, mit der Du einmal rumspielen kannst um ein Gefühl dafür zu bekommen
http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_canvas_first

Und hier ein paar weitere Infos rund um die JavaScript Programmierung:
http://www.w3schools.com/html5/html5_canvas.asp

Wenn Du wirklich nur so ein rundenbasiertes Game machen und schnell (binnen Tagen) zu guten Ergebnissen kommen
willst, dann ist JavaScript recht nützlich. Darüber hinaus kannst Du dann die neu gewonnenen Erkenntnisse auch an
anderer Stelle profitieren, z.B um diene eigene Homepage zu verbessern. Auch kannst Du dein Spiel dann einer der
großen Browsergames Platformen wie z.B spielmit.com anbieten und wertvolles Feedback erhalten-

Gruß,Peter
 
Zuletzt bearbeitet:

pmvstrm

Registriertes Mitglied
Hallo Alex,
du solltest nun wirklich erstmal eine Programmiersprache auswählen.

Es macht keinen Sinn irgend eine Programmiersprache heraus zu picken, wenn die Synapsen nicht für die Spieleprogrammierung ausgelegt sind.
Über Game Engines usw. solltest du dir zu diesem Zeitpunkt keine Gedanken machen.

Das sollte er doch.Eine Game Engine oder Spielebibliothek macht es ja gerade Anfängern wesentlich einfacher ein Spiel zu Programmieren. Programmieren muss man deswegen zwar immer noch, aber eben mit klaren Fokus auf die Spieleentwicklung.Im Grunde genommen
gibst Du Alex gerade den schlechtesten Rat den Du ihm geben kannst.Wenn er so anfangen würde wie Du es vorschlägst, dann kommen
als nächstes unweigerlich die Fragen nach DirectX, DirectDraw, Physikalgorithmen, Kollisionsdetection, Raycasting, Scenegraph, u.s.w auf.
Damit ist ein Anfänger völlig überfordert und wirft den ganzen Kram nach 2 Tagen in die Ecke.
Und dann empfiehlst Du Ihm auch noch C# oder Java oder generell .NET (eine virtuelle Maschinentechnologie) mit der es ausserhalb
der Sprechblasen der Microsoft Marketingtypen keine einzige, vernünftige Spieleanwendung oder grösseres Softwareprojekt gibt die
auf diesen Kram aufbauen.NET ist sogar intern bei Microsoft verschrien und man versucht sich innerhalb von Microsoft wieder davon zu
befreien.Echte Gameprogrammierung war und ist schon immer stark durch C/C++ geprägt gewesen und niemals durch .NET
(C#.NET, VB.NET, C++.NET oder irgend eine andere Sprache die mit .NET auch nur entfernt zu tun hat). Sogar bei Microsoft intern
ist man so klug die Leute in Bezug auf die Gameprogrammierung in Richtung C#.NET, C++.NET, VB.NET oder irgend eine andere
.NET Sprache zu puschen. Darum ist das XNA GameDev Toolkit auch für Native C/C++ ausgelegt.Das ist nur natürlich,denn
die ganze MS Grafikschnittstelle Direct D3D (Teil von DirectX) ist selbst in C/C++ entwickelt und passt daher auch am besten
zum hauseigenen C/C++ native Compiler.

Top 3 der wichtigsten Programmiersprachen für Spiele in 2011
1) C/C++ (vor allem große Titel, FarCry, Unreal, Battlefield Earth, Call of Duty, Assasins Creed u,s,w) PC und Spielekonsolen.
2) JavaScript (durch die massive Präsenz des Webs hat JavaScript im Onlinespielebreich epidemische Formen angenommen)
3) Mobile Devices dominierte Sprachen (spezielles Java für die Andorid DalvikVM), Objective C für iPhone und iPad

Alle anderen Sprachen sind hier die wahren Exoten. Es stimmt übrigens auch nicht das Java für das Internet gemacht
wurde. Es gibt in Java zwar die Möglichkeit Applets damit zu bauen, der heutige Einsatzzweck von Java ist aber vor
allem im BWL (Banken, Versicherungen, große Websites, Industriekonzerne) wo Java auf fetten Servern als
Hintergrundprozesse laufen.

Gruß, Peter
 

SRMeister

Registriertes Mitglied
Programmieren muss man deswegen zwar immer noch, aber eben mit klaren Fokus auf die Spieleentwicklung.

Ich glaube nicht, dass jemand sich denkt, "achja und morgen möchte ich Spieleentwickler sein" ohne überhaupt mit modernen Programmiersprachen (Objektorientierung, C-ähnliche Sprachen) vertraut zu sein.
Alex wird zunächst ganz kleine Brötchen backen müssen und da erzählst du ihm was von C++ mit Inline Assembler, XNA, Direct3D, usw ... das ist total übertrieben und unrealistisch!
Alex will ganz sicher nicht "an der Front der Spieleentwicklung" mitwirken, die schnellsten Engines und neueste DirectX Version ausnutzen.

Alex wird seine Ideen mit großer Wahrscheinlichkeit zunächst in Textform umsetzen - auch seine Spiele oder sonstigen Ideen. Da ist einzig und allein wichtig, dass man schnell Erfolg hat, also nicht 1000 Spezialfälle kennen muss. So wäre es aber wenn er anfangen würde, Direct3D Spiele in Native-C++ zu schreiben, oder gar Webbasierte Anwendungen zu entwickeln (Javascript). Du schiesst hier mit Kanonen auf Spatzen. Die Sachen, die du Ihm empfiehlst, da bräuchte er Jahrzehnte ehe er da ein Spiel entwickeln könnte.

Nicht zuletzt deswegen empfehle ich und einige Andere hier, die dotNet Sprachen.
Man kommt schnell zum Erfolg, hat rieesige Communities und trotzdem bleibt später viel Raum zur Erweiterung (zb in Richtung Grafik usw.) und die Nähe zu C++ ist auch nicht von der Hand zu weisen - man bleibt also "in der Familie" und kann später - falls wirklich nötig - einfach auf C++ gehen.

Wenn Alex ein Student wäre, der auf Biegen und Brechen jetzt ein echter Informatiker würde werden wollen - dann wäre C++ komplett richtig.
Aber überlege mal, wieviel komplizierter das wäre.

Deshalb: Klein anfangen. Textbasierte Anwendungen machen - Hello World - Auch auf der Konsole lassen sich Karten darstellen, wie es damals in Dos Zeiten mit ASCII Grafik häufig üblich war. Dann auf "einfache" Windows Appz mit 2D Grafik.

Grüße

Schade dass du mich nicht wirklich auf Ignore gesetzt hast. Am besten tust du es gleich jetzt.

Dass du auf Kritik nicht gut reagierst dass wissen wir ja spätestens seit der Aktion hier:
Ein Mann schaut am nächtlichen Himmel aus dem Fenster und er sieht den Mond.
Er wendet kurz darauf den Blick ab und schaut in dem Zimmer in dem er sich befindet auf ein Naturbild.
Ist der Mond noch da? In der klassischen Welt des relativen - eindeutig ja. In der Welt der Quantenmechanik
NEIN. Den Mond hat es dort nie gegeben. Schaut die gleiche Person einige Sek. später wieder aus dem Fenster,
so sieht er zwar den Mond, dieser wird aber erst in diesem Moment völlig neu erschaffen, so das unser Beobachter
ihn erfassen kann.
 

pmvstrm

Registriertes Mitglied
Du brauchst ja nicht gleich patzig zu werden nur weil Dich jemand klar wiederlegt hat.

.Net für die Spieleentwicklung ist Hokuspokus und er will auch kein DOS ASCII Spiel sonder ein simples 2D , rundenbasiertes Spiel machen Wozu soll er sich da das fette Visual Studio .Net runterladen und erst eine Spiele untaugliche Programmiersprache lernen wenn es auch ein simpler Texteditor und ein Webbrowser mit etwas JavaScript genauso tut?

Kanonen auf Spatzen

Ich frag mich auch warum er mit deiner Kanone auf einen Spatzen schießen sollte:)

Schade dass du mich nicht wirklich auf Ignore gesetzt hast. Am besten tust du es gleich jetzt.
...
Dass du auf Kritik nicht gut reagierst dass wissen wir ja

Ach wirklich? :D

Gruß, Peter
 
Zuletzt bearbeitet:

Alex74

Registriertes Mitglied
Ohje, da hab ich ja was ausgelöst. Vetragt Euch :)

Alex wird seine Ideen mit großer Wahrscheinlichkeit zunächst in Textform umsetzen - auch seine Spiele oder sonstigen Ideen.
Das ist in den letzten Jahren recht ausufernd geschehen. Ich habe relativ klare Vorstellungen davon wie das am Ende aussehen soll (auch wenn ich aus Erfahrung weiß daß man spätestens nach dem Testen einiges wieder verwirft oder doch ändert).

Vielleicht eines noch:
Ich habe mich schon damals schwer getan mit Programmcodes anderer, so hilfreich sie auch waren. Programmieren war immer Hobby und es gehörte einfach zu den Dingen, die mir daran keinen Spaß machten und ich daher auch immer vermieden hatte. Ich weiß daher nicht, ob ich mit Engines oder anderen Schablonen dieser Art so glücklich werden würde.

Ferner ist es ja auch so, daß dieses Spiel sozusagen nur der Aufhänger ist, mal wieder anzufangen; ich bin mir sicher daß auf Dauer einige kleinere Applikationen dazukämen, die Sprache sollte also durchaus recht allgemein und mächtig sein. Daher kam ich auch auf Java; weil es offenbar Anwendungen in allen Richtungen ermöglicht (wie gesagt z.B. auch das erwähnte Minecraft ( http://www.youtube.com/watch?v=T0FMWaaWjwk - das zeigt was Java alles kann, auch wenn das natürlich einige Ligen über meinem Projekt schwebt).

Eine wichtige Frage habe ich bezüglich der Gewöhnung an eine neue Sprache auch noch:

Mir fiel auf daß anscheinend viele Sprachen heutzutage in ganz normalen Texteditoren geschrieben werden und man daher bei einigen Sprachen sehr auf Einrückungen achten muß - oder selbst verantwortlich ist wie leserlich der Code nun ist.

Das empfinde ich als kolossalen Rückschritt.

Ich bin von meinen Programmen damals gewohnt daß die Programmiersprache, ganz egal ob Basic oder Assembler, einen eigenen Editor bereithält der Einrückungen automatisch macht und sich bei Syntaxfehlern direkt bei Eingabe beschwert.

Alles in Texteditoren zu schreiben mutet mir wie Mittelalter an.

Gruß Alex
 

Bernhard

Registriertes Mitglied
Alles in Texteditoren zu schreiben mutet mir wie Mittelalter an.
Hi Alex,

gute Editoren machen natürlich automatisch Einrückungen und noch wesentlich mehr (Codeergänzung uva). Man muss normalerweise nur vorgeben, wie z.B. ein Tabulator-Zeichen interpretiert wird. Da sind dann die Geschmäcker z.T. wieder verschieden. Manche mögen die Einrückung mit 2, andere mit 4 Leerzeichen.
 

pmvstrm

Registriertes Mitglied
Guten Morgen

Ich habe mich schon damals schwer getan mit Programmcodes anderer, so hilfreich sie auch waren. Programmieren war immer Hobby und es gehörte einfach zu den Dingen, die mir daran keinen Spaß machten und ich daher auch immer vermieden hatte. Ich weiß daher nicht, ob ich mit Engines oder anderen Schablonen dieser Art so glücklich werden würde.

Ok das ist natürlich der härtere Weg aber dabei lernst Du dann auch mehr (es hat alles seine Vor und Nachteile).

Daher kam ich auch auf Java; weil es offenbar Anwendungen in allen Richtungen ermöglicht (wie gesagt z.B. auch das erwähnte Minecraft ( http://www.youtube.com/watch?v=T0FMWaaWjwk - das zeigt was Java alles kann, auch wenn das natürlich einige Ligen über meinem Projekt schwebt).

Also ich habe viele Jahre in Java aktiv entwickelt und mache das hin und wieder immer noch. Gegen Java als Sprache und Pattform hatte ich eigentlich nie etwas, auch nicht so lange Java noch SUN gehörte. Nachdem die aber von Oracle gekauft wurden und Oracle Google und zig andere Firmen aus blanker Geldgier verklagt und mit Patentansprüchen gegen OpenSource schießt (und gerade die haben Java aus dem Tal der Tränen wieder zu einer breit akzeptierten Sprache gemacht, nach dem Java nun Ende der 90er ein extrem schlechtes Image hatte, vor allem wegen der Performance) . Oracle hat es aber binnen kürzester Zeit geschafft so ziemlich alle zu vergraulen die viel für Java beigetragen haben (vor allem die Apache Software Foundation, die für ca. 80% der Java Communitybeiträge verantwortlich war). Aber abseits von Oracles auftreten ist Java natürlich immer noch eine gute Plattform nebst Programmiersprache. Wenn Dich Java wirklich reitzt, dann kann ich Dir die beiden vorzüglichen Entwicklungsumgebungen NetBeansund IntelliJ IDEA empfehlen. Netbeans ist OpenSource und von IDEA gibt es eine kostenlose Version.Hier die Links:

NetBeans 7 (kostenlos, sehr mächtig und OpenSource)
http://netbeans.org/

IntelliJ IDEA (komerziell, gibt aber eine kostenlose Community Edition)
http://www.jetbrains.com/idea/

Die Top Features:
Extrem mächtige Code Bearbeitungsfuktionen. Fehler und Lösungsvorschläge werden schon beim tippen angezeigt. Codefolding und Codeblöcke sorgen dafür das man stehts den Überblick auch in sehr großen Files behält. Darüber hinaus besitzen beide Programme extrem mächtige Refactoring Features (etwas das Du noch lieben lernen wirst, wenn Du öfters programmierst). Im Grunde genommen ist Refactoring die Antwort auf deine in deinem Post gemacht andeutung(das man später oftmals alles wieder umwirft und bestimmte Dinge neu schreibt). Refactoing ist genau dafür eine sehr gute Hilfestellung. Stell Dir vor, Du hast eine Funktion geschrieben und diese Funktion wird im weitern Programmverlauf 3000 mal von anderen Routinen aufgerufen (das dürftest Du aus deiner Assembler und Basic Zeit ja noch kennen), dann wäre es heikel so eine Funktion die so oft aufgerufen wird zu verändern. Genau da springt Refactoring ein. Du veränderst die Funktion/Routine und alle übrigen, 3000 Aufrufe werden automatisch so angepasst, das keine Fehler auftreten. Das ist natürlich gerade für Leute die gerne nachträglich an Ihrem Code rumbasteln wollen enorm hilfreich und geht weit über Suchen + Ersetzen eines Texteditors hinaus.

Nostalgie...
Wenn ich jetzt neu anfangen würde zu programmieren, ich hätte mir gewünscht das mir so etwas jemand vorher erzählt, das erspart einen den einen oder anderen Wutanfall und ein paar graue Haare:)Wenn es Dir also mit OOP, Programmierung und Java wirklich ernst ist, solltest Du den beiden Programmen eine Chance geben, sie sind beide wirklich gut. Das Programmierwerkzeug Eclipse wird zwar auch von vielen Programmierern verwendet aber das ist am Anfang wirklich etwas zu kompliziert, denn Eclipse muss man sich nach der Installation noch erst "hinbiegen" damit es das macht was man eigentlich will und alleine das kann schon abschreckend sein.
Eine wichtige Frage habe ich bezüglich der Gewöhnung an eine neue Sprache auch noch:Mir fiel auf daß anscheinend viele Sprachen heutzutage in ganz normalen Texteditoren geschrieben werden und man daher bei einigen Sprachen sehr auf Einrückungen achten muß - oder selbst verantwortlich ist wie leserlich der Code nun ist.

Naja das ist eigentlich nur bei Python der Fall. Python ist schon recht mächtig, aber es hat leider auch ein ziemliches Versionschaos und ist eigentlich nur eine Sprache für die Konsole (DOS/Linux/Unix Befehlsprompt) und eventuell für die Erstellung dynamischen HTML Seiten (so wie PHP, Perl, Ruby, Groovy und Scala). Windows Fensterprogramme lassen sich damit nur mit Tricks und Haken realisieren, aber wenn man genug Geduld und Spass an der Sache hat, geht natürlich auch das.

Das empfinde ich als kolossalen Rückschritt.
Ich kann dem auch nichts abgewinnen und deswegen ist Pyhton auch nicht so meins.Aber ebenso wenig mag ich Sprachen mit dynamischer Typisierung (z.B PHP, JavaScript, VB). Sollte ein Fehler eintreten, dann weiß man bei einer stark typisierten Sprache wie Java, C/C++ oder C# einfach schneller wo der Fehler liegt und kann ihn beheben (Java und C# unterscheiden sich von der Syntax übrigens kaum).

Ich bin von meinen Programmen damals gewohnt daß die Programmiersprache, ganz egal ob Basic oder Assembler, einen eigenen Editor bereithält der Einrückungen automatisch macht und sich bei Syntaxfehlern direkt bei Eingabe beschwert.
Es gibt natürlich auch heue noch Editor die so etwas können. Aber für ernsthafte Programmierung sind die kaum geeignet,
wenn man mal von den Linux/Unix VI und Emacs Editorien absieht (aber die zu beherrschen ist ebenfalls eine eigene Kunst für sich).

Fazit:
Es gibt zwar hunderte, verschiedene Programmiersprachen, aber nur wenige Sprachen die wirklich wichtig sind und die es sich
lohnt wirklich zu lernen.

1) C/C++ (auch nach zig Jahrzehnten immer noch die wichtigste Sprache) (vor allem Pc, Mac und Linux Programmierung sowie LowLevel/Hardware)
2) Java. (immer wieder tot gesagt, aber unglaublich flexibel: Server, Web, Desktop und Mobile Programmierung - Haupteinsatz Wirtschaftsapplikationen)
3) Webspezifische Sprachen: PHP5+SQL und/oder JavaScript+HTML5 (quasi jede Website: ob letzte Drecksseite oder Largescale Website ist damit gemacht)

Zu Microsoft .NET Plattform und zugehörige Sprachen (C#.NET, VB.NET, C/C++.NET, F#, J#)...
Zum Thema der .NET Sprachen habe ich ja im vorherigen Beitrag schon einiges gesagt. Ich denke nicht, dass sich auch nur eine .NET Sprache langfristig durchsetzen wird. Ich beobachte .NET seit der Technical Preview von 1999 und war in unserer Firma einer der ersten die das blanke SDK (noch auf der DOS Befehlszeile) ausprobiert und sogar meinen Chef überredet hat es in unserer Internetagentur einzusetzen (vor allem ASP.NET). Für die Webprogrammwierung war und das war auch ok. Nur für die Clientprogrammierung bringt es einfach zu viele Nachteile, Restriktionen und Unzulänglichkeiten mit sich als das man es guten gewissens empfehlen könnte. Allenfalls das nicht von Microsoft stammende Mono ist hier eine wohltuende Ausnahme, aber das wird kaum auf Windows Systemen (und auch nicht auf Linux / Unix eingesetzt).

Ich würde sagen mit Java liegst Du mit Sicherheit nicht falsch.Die Sprache bietet wirklich eine Menge Potential und ich wäre vermutlich auch noch heute aktiv
in der Javaentwicklung involviert wenn nicht Oracle als neues Evil Empire erschienen, Java an sich gerissen und die Java Community durch seine blanke Gier und Patenttrollerrei gesprengt hätte. Es ist wirklich ein Trauerspiel was Oracle da anstellt aber man kann es leider nicht ändern.Ich persönlich bin jetzt vorsichtiger
was Closed Source Software angeht.

Gruß, Peter
 
Zuletzt bearbeitet:

pauli

Registriertes Mitglied
btw, sehe gerade RPG und COBOL :) macht jemand das noch? Ich habe eine AS400 im Arbeitszimmer stehen :cool:
 

pmvstrm

Registriertes Mitglied
Mit Cobol könnte ich mich mit einer Schmerzulage vielleicht noch abfinden aber RPG NO WAY!!!!!
 
Zuletzt bearbeitet:

sebix

Registriertes Mitglied
Zu Microsoft .NET Plattform und zugehörige Sprachen (C#.NET, VB.NET, C/C++.NET, F#, J#)...
Zum Thema der .NET Sprachen habe ich ja im vorherigen Beitrag schon einiges gesagt. Ich denke nicht, dass sich auch nur eine .NET Sprache langfristig durchsetzen wird. Ich beobachte .NET seit der Technical Preview von 1999 und war in unserer Firma einer der ersten die das blanke SDK (noch auf der DOS Befehlszeile) ausprobiert und sogar meinen Chef überredet hat es in unserer Internetagentur einzusetzen (vor allem ASP.NET). Für die Webprogrammwierung war und das war auch ok. Nur für die Clientprogrammierung bringt es einfach zu viele Nachteile, Restriktionen und Unzulänglichkeiten mit sich als das man es guten gewissens empfehlen könnte. Allenfalls das nicht von Microsoft stammende Mono ist hier eine wohltuende Ausnahme, aber das wird kaum auf Windows Systemen (und auch nicht auf Linux / Unix eingesetzt).

Mono wird unter Linux sehr häufig eingesetz, der Media-Player Banshee etwa ist in Mono schrieben, die Notiz-Software Tomboy auch. Die Foto-Verwaltung F-Spot und gbrainy sind weitere Beispiele. Gnome hat in Ubuntu 11.04 eine Abhängigkeit zu Mono (wegen Banshee)! Alle genannten Anwendungen wurde ausschließlich für Mono erstellt, nicht für .NET
Nichtsdestotrotz gibt es Kritik gegen Mono, die sich auf mögliche Patentansprüche Microsofts auf Mono beruft.
 

eeralfcosmo

Gesperrt
das waren noch zeiten, Fh karlsruhe Univax Rechner, Pascal per lochkarten
ok aber ich finde pascal ist die coolste aller sprachen, ausser assembler

turbo pascal war seiner seits nie zu schlagen, auch nicht von C

nebenbei, das UCSD pascal von apple II und Apple /// war ja schon richtig gut, da hatten basic, algol, cobol keine chance, ok auf Pc's bezogen, cobol, fortran waren natuerlich immer noch die besten Grossrechner-Sprachen
 
Zuletzt bearbeitet:

eeralfcosmo

Gesperrt
sry, was ich hier vermisse ist Logo, oder andere aehnliche sprachen(forgot the names), habe das nicht mehr verfolgt, aber KI-languages waren angesagt, selbst compilerend und so, na ja hab diese sprachen irgendwie nie gemocht
 

FrankSpecht

Registriertes Mitglied
turbo pascal war seiner seits nie zu schlagen, auch nicht von C
Stimmt, deswegen programmieren heute auch soviele in den Pascal-Derivaten Oberon, Modula oder Delphi :rolleyes:

sry, was ich hier vermisse ist Logo, oder andere aehnliche sprachen(forgot the names)
Ich hatte Prolog und Lisp bereits erwähnt!

btw, sehe gerade RPG und COBOL ... macht jemand das noch? Ich habe eine AS400 im Arbeitszimmer stehen ...
COBOL, Himmel und Hölle :eek:
Die Sprache hatte ich Anfang der 90er-Jahre als Werkstudent bei IBM gelernt - an einer AS400. Bleib mir weg damit :p

PS: @Alex74,
du hast ja schon 'ne Menge Sprachen um die Ohren gehauen bekommen. Wenn du einigermaßen modern programmieren willst, wirst du um eine funktionale Sprache kaum herumkommen. Daher wären Sprachen wie C, C++ oder JAVA schon die richtige Richtung. Plattform-übergreifend würde ich dir zu JAVA raten, da sie heutzutage eine weitverbreitete Lehrsprache ist und es daher viele Tutorials und Code-Snippets dazu gibt. Ich persönlich habe JAVA das letzte Mal im vergangenen Jahrtausend angefasst, muss aber heute immernoch aktuelle Laufzeitbibliotheken herunterladen, um z.B. auf die Orbit-Diagramme des JPL zugreifen zu können.
 
Zuletzt bearbeitet:

eeralfcosmo

Gesperrt
Stimmt, deswegen programmieren heute auch soviele in den Pascal-Derivaten Oberon, Modula oder Delphi :rolleyes:


Ich hatte Prolog und Lisp bereits erwähnt!

jajajaja, oberon war geil, der pacal erfinder, ich weiss, die programmiersprache als betriebssytem, coooooooool

und sry habe lisp und prolog vergessen nochmals sry

Ralf

oh forgot, Modula war nie richtig gut, habe mir das mal angeschaut, war aehnlich pascal, aber naja

Delhpi is best, bin aber nie ueber version sieben gekommen, staendig alle komponenten anpassen, das dauert, ich bin ein one man team

dot net , klar , aber keine zeit
 
Zuletzt bearbeitet:
Oben