Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Okt 25, 2020 20:03

Foren-Übersicht » DGL » Umfragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 51 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste

Mit welcher Programmiersprache programmiert ihr am liebsten?
Umfrage endete am Do Apr 02, 2009 22:01
Pascal (Delphi, OOP) 60%  60%  [ 25 ]
C/C++ 17%  17%  [ 7 ]
C# 12%  12%  [ 5 ]
Java 12%  12%  [ 5 ]
Python 0%  0%  [ 0 ]
(Visual) Basic 0%  0%  [ 0 ]
Was exotisches. 0%  0%  [ 0 ]
Abstimmungen insgesamt : 42
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 29, 2008 18:18 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
FreePascal.

Zu C++: Ja, das will ich mir auch aneignen. Wahrscheinlich nicht darauf umsteigen, aber ich will es zumindest so gut beherrschen, dass ich das meiste auch da machen könnte (solange ich keine GUI brauche). Denn ich denke, es wird mir behilflich sein, wenn ich später C++ kann.
Klar hat dies als Sprache, wo man alles steuern kann viel mehr möglichkeiten, wie halt auch FreePascal oder so, und daher kann man auch viel mehr kaputt machen und es kann auch viel mehr im Speicher schiefgehen. Wenn man sich aber erstmal ans Pointergeschiebe und an eventuelle eigenheiten der Plattform auf der man entwickelt gewöhnt hat, geht es eigentlich.
Unterpunkt Hardwarenähe: Ich frage mich immer, was damit gemeint ist, so ganz sicher bin ich mir nicht. Aber da alle hier genannten Sprachen (außer vielleicht Python) Turing-Vollständig sein sollten, müssten auch alle das gleiche können.

Zu Java: In der gegebenen Auswahl kenne ich nichts, was ich schlechter bewerten würde. Ich finde es bei Java schrecklich, keine Kontrolle darüber zu haben, was im speicher hängt. Die vielgelobte Plattformunabhängigkeit ist auch nicht wirklich gegeben. Es tauchen immer wieder probleme auf (ich erinnere mich, dass sich Flash hier mal beschwert hatte und ich selber hatte ein Problem mit einem Java-Applet, welches auf einigen Linux-Systemen garnicht funktionierte). Was die Geschwindigkeit betrifft, das halte ich nicht unbedingt für Vorurteile. Ich sehe immer wieder Anwendungen, die eigentlich gut sind, aber wohl durch ihre Java-Basis unangenehm langsam werden (X² Galaxy Editor, Freecol...). Man kann zwar noch mit arbeiten, klar, aber es liefert nicht das gefühl von einer Flüssig Funktionierenden Oberfläche.
Dass dinge wie Memleaks und so nicht auftreten können, liegt daran, dass Java keine Pointer kennt. Ich frage mich, wie man dann mit Low-Level-Bibliotheken wie OpenGL arbeiten kann (es geht ja offensichtlich, aber wie übergibt man da eigentlich ein VBO?). Callbacks funktionieren in Java ja über die angabe des Methodennames,oder?
Andreas hat geschrieben:
ABER jedes OS hat eine (oder irre ich mich da bei win?) und dann kann man ja updaten mit der alten... oder man liefert die Runtime mit.

Du irrst dich. Und bis vor ein oder zwei Jahren war das unter Linux auch nix, weil Java noch unter einer Lizenz stand, die mit den meisten Linux-Distris nicht kompatibel ist.

Zu ASM: ASM braucht man. Selbst wenn compiler das noch so toll optimieren können. Manche dinge kann man nur in ASM machen, weil die Sprache es auf den schnellen Weg eventuell nicht (offensichtlich) zulässt. Jumptables zum beispiel bei Case-Anweisungen kann man nicht unbedingt erzwingen und man weiss nie, wie der Compiler das Case bewertet. Und in einigen Fällen macht das den unterschied zwischen leben und Tod aus. Mal abgesehen davon, dass man einige dinge nicht mit normalen Compilern machen kann, weil es zu groß wird (siehe Demoszene) oder weil standardmäßig gegen ein Betriebssystem gelinkt wird, welches eventuell garnicht gegeben ist (siehe Bootloader schreiben oder sowas).

Zu Python: Python ist mindestens interessant. Meine Erfahrungen beschränken sich bisher auf das, was ich in Blender gemacht habe, als ich den Restless-Exporter erweitert habe und das, was ich in den BF2 Scripts gesehen habe.
Was mich an Python fasziniert ist, dass es sowohl in kompilierter Form als auch als Scriptsprache verwendbar ist. Leider habe ich noch keine Units gefunden, um die Python-DLLs in Pascal zu nutzen.

Last but of course not least: Zu FreePascal: Bei FreePascal gefällt mir gegenüber Delphi, natürlich, dass es Plattformunabhängig ist. Ein großer Nachteil von allen Pascallschen Sprachen ist allerdings, wie auch häufig angemerkt, dass es viele Bibliotheken zumindest nicht in aktueller Version für Pascal gibt (s.o., Python). Das kann häufig ein schwerer Blocker sein. Wiederum gut ist aber, dass es viele C/C++-Features in FP gibt, die Delphi zum beispiel nicht hat (+= und derivaten, Zugriff auf Pointer mit [], ...) und auch die kompatibilität mit den gcc .o-Dateien und ähnlichen kann ein Vorteil sein.

Zu den IDEs: Mein Albtraum ist Eclipse und direkt danach KDevelop. Bei ersterem könnte es auch daran liegen, dass ich Java nicht sonderlich mag und dass meine ersten Erfahrungen mit Eclipse durch viele Probleme mit der Sprache Java und dem zu entwickelnden Produkt überschattet wurden. Was KDevelop betrifft ist meine Abneigung vermutlich total unbegründet und meine Erfahrungen damit sind auch ewig her und ich hatte damals noch keine Ahnung von Linux. KDev ist halt einfach schlecht in erinnerung geblieben und ich hab mich danach auch nicht weiter damit befasst. Sollte ich vielleicht mal tun (*auf die ToDo list schreib*). Um Platz 1 streiten sich D7 und Lazarus, immer mit abwechselnder Führung. Im Moment liegt Lazarus vorne, wohl auch, weil ich damit im Moment am meisten mache. Was ich bei Lazarus/FPC am meisten vermisse ist die VirtualTreeView-Komponente, die seit Lazarus 0.9.26 leider nicht mehr kompilierbar ist und auch mit den alternativen Widgetsets (GTK, QT) probleme macht.

So, das war mein Senf dazu... mensch, das reicht für mehr als nur eine Currywurst...

Gruß Lord Horazont

@MatReno:
Ja, das mit dem Aufräumen sehe ich genauso. Wobei, hat Python nicht auch nur einen GC? Oder gibts da in Restless ein riesiges Memleak? Oder liegen die Objekte aufm Stack und werden dann automatisch freigegeben?

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Dez 29, 2008 20:39 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
>> Dass dinge wie Memleaks und so nicht auftreten können, liegt daran, dass Java keine Pointer kennt. Ich frage mich, wie man dann mit Low-Level-Bibliotheken wie OpenGL arbeiten kann (es geht ja offensichtlich, aber wie übergibt man da eigentlich ein VBO?). Callbacks funktionieren in Java ja über die angabe des Methodennames,oder?

Ganz einfach... es gibt sowas wie Buffer... anders kann man garnicht an VBO übergeben.
Callbacks über Interfaces.

Mehrfachvererbung ist überhaupt nicht nötig, da ein Ding immer nur eine Art von einem anderem Ding sein kann. Wenn man noch zusätzliche Eigenschaften braucht, dann verwendet man Interfaces.

C++ ist schon genial, weil es wirklich alle Freiheiten bietet, aber die standart Libs und die WinAPI sucken -.-.
Kennt jemand oberflächenunabhängige Libs (also für Linux und Windows) für C++?
Weil ansich kann man ja in C++ einen GC und die geniale Klassenhierachie von Java nachprogrammieren...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 00:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 27, 2005 12:44
Beiträge: 393
Wohnort: Berlin
Programmiersprache: Java, C++, Groovy
Hallo Andreas,

meinst du Gui-libs? Da fallen mir nur spontan Qt ( KDE, Google Earth, Opera ) und Gtk+ ( Gimp, GNOME ) ein.

Viele Grüße
dj3hut1

_________________
Wenn Gauß heute lebte, wäre er ein Hacker.
Peter Sarnak, Professor an der Princeton University


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 01:04 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2097
Wohnort: Vancouver, BC, Canada
Programmiersprache: C++
Andreas hat geschrieben:
C++ ist schon genial, weil es wirklich alle Freiheiten bietet, aber die standart Libs und die WinAPI sucken -.-.
Kennt jemand oberflächenunabhängige Libs (also für Linux und Windows) für C++?

Genau meine meinung! :) WinAPI und STD suckt..

Libs gibt es ne menge, für GUIs z.B. ist QT sehr gut... für alles andere soll "boost" das non plus ultra sein..
Aber wie gesagt, mich sprechen die libs alle nicht wirklich an - wobei ich es auch hasse mich zu sehr von fremdlibs abhängig zu machen.. deshalb, einfach selber schreiben. Ist zwar durchaus nen stück arbeit, lohnt sich aber aufjedenfall - zumindest bei mir.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 02:16 
Offline
DGL Member

Registriert: Sa Nov 24, 2007 11:59
Beiträge: 116
Programmiersprache: FreePascal
Ich weiß nicht, wie sich QT und MacOS X vertragen. GTK2 geht da auf jeden Fall.

(Willkommen im Land der tausend Toolkits)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 12:05 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
Ich programmiere schon seit rund 25 Jahren mit Pascal (Turbo Pascal->Delphi(ab Delphi3)->FreePascal/Lazarus)- da ändert man sich nicht mehr. Es stört mich nur ein wenig, dass man bei FreePascal unter Linux SDL verwenden muss, wenn man mit OpenGL arbeiten will. Also hab ich mir die Arbeit gemacht und ein cross-Plattform OpenGL-GUI-Toolkit geschrieben, um mich von SDL unabhängig zu machen: ich habe keine Lust jahrelang auf ein neues Feature zu warten.

Ich verwende Lazarus, unter anderem weil ich nach Linux übersiedelt bin, aber eigentlich würde für meine Zwecke auch die pure uralte FreePascal-IDE reichen. Aber Lazarus ist natürlich komfortabler.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 12:12 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
@traude: have you looked at the kylix opengl with only x server template. Should work with freepascal also with a few changes: http://www.delphigl.com/do_download.php?f=3452

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 13:13 
Offline
DGL Member
Benutzeravatar

Registriert: Di Okt 03, 2006 14:07
Beiträge: 1277
Wohnort: Wien
@Noeska: No, I did not see exactly this one, but this is the sort of code I used at the very beginning of a long jouney through the X11 Server API and very much source code on Sourceforge and else where. In the meantime I wrote a platform independent Operating System Interface, which is able to work on Win32 and Linux and provide Windows, a GUI and a a small set of features for game programmers. I took the FLTK (Fast Light Toolkit, a C-Library) as a basis. I am almost through with it and I will publish it together with the glPasGUI, which depends on that interface.

A similar project was the PLTK (Pascal Light Toolkit on Sourceforge) but they worked with the XServer only, not with OpenGL itself.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 13:37 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
Aya hat geschrieben:
Aber wie gesagt, mich sprechen die libs alle nicht wirklich an - wobei ich es auch hasse mich zu sehr von fremdlibs abhängig zu machen.. deshalb, einfach selber schreiben. Ist zwar durchaus nen stück arbeit, lohnt sich aber aufjedenfall - zumindest bei mir.


Ich mag das auch nicht besonders von einer Lib anhängig zu sein... aber man ist dann oft viel schneller unterwegs, wenn man z.B. in Java die aller wichtigsten Klassen kennt (tu ich aber leider nicht^^).
Den eigenen Code aber Plattform unabhängig zu machen ist auch etwas umständlich. Mir gefällt dieser (Misst, jetzt weiß ich wieder nicht wie das heißt... mit dem #ifnd usw. ...) irgendwie nicht besonders...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 14:14 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Du meinst Kompilerdirektiven oder bei C auch bekannt als Preprocessor Anweisungen.

Ja, das macht den Code leider sehr unübersichtlich. Daher sollte man das ganze möglichst weit Kapseln und dann nur eine Include/Import/Uses-Anweisung damit umklammern müssen. Oder eine Klasseninstanzierung, wie es bei Traudes System der fall sein dürfte.

Gruß Lord Horazont

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 15:53 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
>> ... Preprocessor ...
Ja genau das meinte ich.

Kennst du da ein paar Templates wie man den Code aufbaun könnte?

Achja... nochwas was ich schon immer wissen wollte:
Wäre es nicht von der IDE her möglich so eine Fehler anzeigen wie bei Java zu machen?
Weil der Kompiler wirft ja so oder so errors, obs jetzt die IDE automatisch im hintergrung kompiliert, oder ich manuell.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 17:45 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7771
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Du meinst die Instant-Prüfung? Keine Ahnung welche andere IDEs das unterstützen. Visual Studio machts. Allerdings macht VS auch Sachen, die mir persönlich die Haare zu berge stehen lassen. Ich sag nur "automatische Rechtschreibkorrektur" (IM CODE!!).

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 18:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Also ich bin auch eindeutig für C++. Aber wohlgemerkt nur mit dem ++ dran, kein reines C.
Ich finde, C++ ist einfach mit die durchdachteste Sprache und bietet viele Möglichkeiten, was in anderen Sprachen garnicht geht. Wenn man es einmal gelernt hat, kann man wirklcih sehr sauberen kompakten Code schreiben und nicht tausend Interfaces wie in Java. Hauptnachteil ist das Erlernen der Sprache. Das ist schwieriger als in Java oder C# beispielsweise.

Was die Performance angeht: zuerst einmal hängt die vom Algorithmus und der Umsetzung ab. Die Sprachenvergleiche hinken da meistens. Aber wenn ich wirklich was hochperformantes brauche, werde ich nicht um C oder C++ herumkommen (siehe Spieleindustrie; Crysis mit Java kann ich mir eher nicht vorstellen). Was aber normale, einfache Anwendungen angeht, da sind andere Sprachen auch nicht langsamer.

Was die Libs angeht: die STL ist G.E.N.I.A.L. Aber auch hier gilt: man muss lernen, was sie kann! Hauptnachteil: Sie ist zu klein. Aber das wird ja durch die Boost-Lib kompensiert :D

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 18:59 
Offline
DGL Member

Registriert: Sa Aug 09, 2008 09:07
Beiträge: 112
Mir kommt da Java ein bischen zu schlecht weg...

Java ist meiner Meinung nach um einiges durchdachter als C++ (Mehrfachvererbung). C++ ist eher ein absolut logisches System. Java hingegen in seine Schranken gewiesen.
Wiso es in Java keine Spiele gibt wurde schon genannt... JRE.

Java ist um vieles Intelligenter. Der Byte-Code wird Runtime optimiert. Das bedeutet: alle CPU Befehle werden optimal genutzt. Java compiliert auch wiederholte Aufrufe.
Mit den verschiedenen Kernen stellt es auch noch einiges an...

Wie gesagt, Java kann mit C++ locker mithalten. Und ist auch oft schneller.

Crysis in Java kann ich mir gut vorstellen.

Außerdem, an Java werden ständig verbesserungen vorgenommen. C++ ist und bleibt aber immer nur C++...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2008 19:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Zitat:
Außerdem, an Java werden ständig verbesserungen vorgenommen. C++ ist und bleibt aber immer nur C++...


Über die Verschlimmbesserungen in jeder neuen Java-Version hülle ich jetzt mal den Mantel des Schweigens. Und was Verbesserungen generell angeht ist zu Unterscheiden zwischen der Sprache und entsprechenden Compilern. Außerdem steht der neue C++ Standard vor der Tür. Die Mühlen des ISO-Komitees mahlen sehr langsam, aber sie mahlen.


Ach ja und Mehrfachvererbung ist ein sinnvolles Feature, wenn man es richtig anwendet. Wer immer diese Diamantstruktur programmiert, ist selber schuld ...

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 51 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4  Nächste
Foren-Übersicht » DGL » Umfragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.090s | 18 Queries | GZIP : On ]