Interview 2012 mit Frédéric ‘AlphaSND’ Laboureur
geführt im Dezember 2012 durch PureArea.net / André Beer
Vor sieben (!) Jahren – im September/Oktober 2005 – konnte ich ein Interview mit Fred (dem Mann hinter PureBasic) führen. Ihr könnt dieses hier nachlesen: http://www.purearea.net/pb/german/interview.htm
Dieses Jahr habe ich gedacht „es ist mehr als genug Zeit seitdem vergangen“ und deshalb bei Fred angefragt, ob er für ein neues Interview zur Verfügung steht.
Und hier sind wir – Fred war so nett, mir eine Menge an Fragen zu beantworten, welche ich in drei Kategorien einsortiert habe: Freds Privatleben, PureBasic in den letzten Jahren und aktuell, und natürlich die Zukunft von PureBasic.
Ich möchte auch den folgenden Community-Mitgliedern danken, welche Fragen und Anregungen zu diesem Interview beigetragen haben: Danilo, DarkDragon, dige, flaith, Inf0Byt3, Kukulkan, Luis, MachineCode, Michael Vogel, Num3, PrincieD, Rings, skywalk, STARGÅTE (in alphabetischer Reihenfolge).
[Die deutsche Übersetzung von André erfolgte nach bestem Wissen und Gewissen – maßgeblich ist das in Englisch geführte Interview.]
Teil 1 – Persönliche Dinge: | ||
1. |
Hallo Fred, schön
dass du dir die Zeit genommen hast, mir die nächsten Fragen zu beantworten. Die
Community und ich sind sehr daran interessiert, zu hören wie es „beim Mann“
hinter PB so läuft… Daher lass uns beginnen, wie „fühlst“ du dich gerade, im Privatleben und mit der Situation rund um PB (kurz nach Veröffentlichung der Version 5.00)? |
|
|
Hallo Andre, und hallo an alle. Es ist immer cool, einige Fragen zu beantworten und etwas Licht auf die PB-Internas werfen. Wie ihr euch vorstellen könnt, war die 5.00 Version eine große Anstrengung und ich sehr zufrieden mit den Ergebnissen. Es war eine Menge Arbeit, aber dank der Vollzeitarbeit an PB, konnte schnell eine neue Version veröffentlicht werden. Im privaten Leben gibt es keine größeren Probleme und ich fühle mich gut. Um ehrlich zu sein, tatsächlich wieder (voll) zurück bei PB zu sein, ist eine wirklich angenehme Sache. | |
2. |
Ausgehend vom letzten Interview müsstest du
jetzt 35 Jahre alt sein – es wäre schön, wenn du uns etwas darüber erzählst,
was in den letzten 7 Jahren passiert ist – bist du inzwischen verheiratet, hast
eine eigene Familie / Kind(er), Haus, Boot, Hund oder Katze oder …? ![]() |
|
|
Noch nicht, ich bin ’erst’ 34 ! ![]() |
|
3. |
Es gibt nur ein offizielles Foto von dir (siehe das letzte Interview), welches etwa 10 Jahre alt sein sollte. Bitte zeige uns ein aktuelles, bitte bitte! | |
|
Ok, ok. |
|
4. |
PB ist ein bedeutender Teil deines Lebens. Wie bekommst du die „Balance“ zwischen so einem zeit-intensiven Projekt und dem normalen Leben (Job, Familie,…) hin? | |
|
Bisher habe ich keine Familie, somit sind Dinge viel einfacher zu handhaben, wenn du keine großen Einschränkungen hast. Ich denke, es gibt da nichts Besonderes: Ich arbeite am besten an PB, wenn ich motiviert bin. Manchmal brauchst du etwas „frische Luft“, so nehme ich entweder eine lange Pause oder finde einen Job in einem Unternehmen (wir reden über frische Luft!). Dies ermöglicht es, mit aktuellen Technologien in Kontakt zu bleiben und natürlich gibt dies auch neue Impulse für PB. | |
5. |
Hast neben der Computer-Programmierung weitere Hobbys oder betreibst Sport? | |
|
Ich bin kein Sport-„Süchtiger“, aber ich mag Tennis (vor allem ansehen, da ich nicht mehr regelmäßig selbst spiele), Gitarre spielen und Videospiele. | |
6. |
Du bist inzwischen mehrfach zwischen Jobs in der Computer-Industrie (und dem Arbeiten an PB im Nebenjob) und der Entwicklung von PB in Vollzeit gewechselt – derzeit mit PB als tägliche Arbeit seit April 2012. Was waren die Gründe hierfür (bist du in der Lage, allein vom Verkauf der PB-Lizenzen zu leben?) und was macht mehr Spaß? | |
|
Es gab zwei Gründe, einen
Vollzeitjob anzunehmen: eine Pause von PB zu nehmen (und nur dann und wann
einige Entwicklungsarbeiten durchzuführen) und um Geld zu verdienen. Das
Einkommen mit PB ist nicht sehr hoch, aber ich kann damit leben. Diesmal möchte
ich solange wie möglich bei der Vollzeitentwicklung bleiben – daher suche ich
nach Wegen, um immer in einer guten Stimmung für das Programmieren zu sein. Zum
Beispiel arbeite ich an PB nur während der Woche, so als ob es ein täglicher
Job wäre. Ich wache zeitig auf (…verstehe darunter 10:00 Uhr morgens Anders als bei meinen früheren Vollzeit-„Sessions“ versuche ich jetzt nichts zu überstürzen und die ganze Nacht zu programmieren. Wenn etwas nicht fertig wird, dann beende ich es morgen. Dies bedeutet, dass ich den Abend und das Wochenende für andere Dinge als PB gewinne. Und ich hoffe, dass dies hilft, geschärft und fokussiert auf die Entwicklung zu bleiben. Damit macht es in der Tat mehr Spaß an PB zu arbeiten – und da wir versuchen, es durch viele verschiedene Wege (neue Befehle, Compiler-Verbesserungen, neue Plattformen, etc.) besser zu machen, kann es nicht langweilig werden (ok, ich gebe zu, Bug-Fixing und Dokumentations-Sitzungen sind nicht so toll, aber genauso wichtig). |
|
7. |
Welche Jobs und möglicherweise auch andere Projekte neben PB hast du in den letzten Jahren ausgeführt? | |
|
Ich habe 2 Jahre als Drucker-Controller Entwickler in einer großen Firma namens Océ (http://www.oce.com) gearbeitet – eine interessante Erfahrung, da ich über dieses Thema rein gar nichts wusste. Der letzte Job war für anderthalb Jahre in einer französischen Bank namens 'Societe Generale' als ein Entwickler für Front-End-Trading-Tools. Wieder habe ich eine Menge über die Börse / Aktienmärkte gelernt. Als persönliche Projekte nebenher habe ich versucht, eine Online-Kartenspiel-Plattform zu erschaffen (3 Monate an Entwicklung in 2009 gemeinsam mit einem Freund, wir haben Flash als Client verwendet und einen Java-Server zum behandeln der Kommunikations- und Spiel-Logik). Es funktionierte, aber leider haben wir nie die kritische Masse erreicht, damit es wirklich „funktionierte“. Ha, und eine kleine Windows Phone 8 App vor 2 Jahren, namens BlockBouncer. |
|
8. |
Wie gehst du mit der enormen Erwartungshaltung der PB Community (neue Features, Bug-Fixes, …) und den manchmal unfreundlichen Kommentaren einzelner User um? | |
|
Das ist eine interessante Frage. Solange die Kritik berechtigt und objektiv ist, habe ich kein Problem damit. Wenn du Rückmeldungen (auch negative) bekommst, bedeutet das natürlich auch, dass die Menschen mit deiner Software auch tatsächlich arbeiten und möchten, dass diese verbessert wird. Wenn ich natürlich einige unwahre Spekulationen und/oder voreingenommene Kommentare lese, dann geht mir dies natürlich auf die Nerven. Meistens wende ich mich privat an den Anwender und frage nach Erklärungen. Es ist nie schön, einen schlechten Kommentar zu nur einer Funktion zu lesen, wenn du an vielen gearbeitet hast. | |
9. |
Hast du immer noch die Motivation zur Weiterentwicklung von PureBasic, oder ist es manchmal so schwer, dass du aufgeben möchtest? | |
|
Bis jetzt wollte ich nie aufgeben. Manchmal ist die Motivation geringer, aber meist kommt sie nach einiger Zeit zurück. Deshalb ist es auch so wichtig, an verschiedenen Dingen zu arbeiten, um Routine zu vermeiden. Zuletzt hatte ich ziemlich viel Spaß, die Verbesserungen an der 3D-Engine und neue Beispiele zu sehen, da dies ein Bereich war, wo PB eher schwach war. | |
10. |
Wenn du programmierst, möchtest du dann eher an einem ruhigen Ort oder von einigen ’Sounds’ umgeben sein? Vielleicht etwas Musik – wenn ja, welche Art von Musik hörst du dann gern? | |
|
In der Regel habe ich etwas Musik im Hintergrund, of im Movie/Trailer-Stil wie Hans Zimmer, Two Step From Hell, AudioMachine. Keine Stimmen in dieser Musik zu haben, erlaubt es sich besser zu konzentrieren. | |
11. |
Was sind deine beliebtesten Songs / Künstler – dieses Jahr, aber auch allgemein? | |
|
Es sind einige französische Bands, die ihr kaum kennen werdet. Aber wenn du einige Namen möchtest, hier sind sie: Olivier Trevidy, Eiffel, Noir désir, Debout sur le zinc. | |
12. |
Und hast du auch einige Lieblingsfilme und -bücher, vielleicht auch Lieblingssportarten, die du ansiehst? | |
|
Mein Lieblingsfilm ist ’Rock’, dank Michael Bay und dem wundervollen Hans Zimmer Soundtrack. Der zweite ist wahrscheinlich ’Usual Suspects’. Danach wird es kompliziert, da ich eine Menge an Filmen mag. Bei den Büchern habe ich gerade alle ‘Game of Thrones’ gelesen (und warte auf das nächste, Georges RR Martin!), was eine unglaubliche Geschichte epischen Ausmaßes ist. Und dann schaue ich hauptsächlich Tennis, und manchmal Fußball mit Freunden. | |
13. |
Wenn ich mich richtig erinnere, dann magst du das Reisen und Urlaub in fremden Ländern. Was waren deine letzten Trips und was planst du als nächstes? | |
|
Du erinnerst dich richtig! Letztes Jahr war ich in Bali (Indonesien) und Anfang diesen Jahres in Las Vegas anlässlich des Junggesellenabschieds eines Freundes (kein Kommentar !!). Das nächste Ziel wird wahrscheinlich Australien, was aber noch nicht sicher ist. | |
14. |
Bist du politisch interessiert? Wenn ja, was denkst du über die aktuelle Lage in Frankreich, aber auch in Europa / der Welt? | |
|
Nein, ich bin nicht politisch interessiert. Zur allgemeinen Situation in Frankreich – angesichts der Zeitungen können wir nicht erkennen, dass es sehr positiv aussieht, das gleiche für Europa, und wie unschwer zu erraten, für den Rest der Welt. Es ist einfach die gesamte Situation (und ich verstehe darunter die Weltwirtschaft, basierend auf den Märkten), welche nicht toll aussieht. | |
15. |
Da wir kurz davor stehen: Wo verbringst du Weihnachten und Silvester? Gibt es irgendwelche besonderen Traditionen für dich und/oder deine Familie? | |
|
Ja, ich werde Weihnachten mit meiner Familie in Straßburg feiern, wie jedes Jahr :). Es ist bei uns Tradition, jedem Familienmitglied ein Geschenk zu geben, so haben wir einiges auszupacken! Was die Silvesterparty angeht, diese wird in Paris mit einigen Freunden sein. | |
|
|
|
Teil 2 – Entwicklung und aktuelle Situation von PureBasic und seiner Community: | ||
1. |
Erzähle uns bitte etwas mehr über das aktuelle PB-Team. Wer ist aktuell an der Entwicklung und am Support beteiligt – und was sind die Dinge, die jeder von ihnen macht? Wie ist die Zusammenarbeit zwischen dir und den Team-Mitgliedern (menschlich und praktisch)? | |
|
Das aktuelle Team setzt sich aus den folgenden Leuten zusammen: - Timo (Fr34k), welcher inzwischen eine tägliche Arbeit hat, aber immer noch hier und da mit programmiert. Er arbeitet hauptsächlich an den Bibliotheken, dem Debugger und der IDE. - Comtois, welcher nahezu alle neuen 3D-Features der letzten PB-Version beigetragen hat. - Gatean (Polo), welcher freundlicherweise seinen FormDesigner in das PureBasic Paket integriert hat, und diesen pflegt. - G-Rom, welcher einige zusätzliche 3D-Programmierung beiträgt. - André (du), der den deutschen Support und die Dokumentation übernimmt. - Mesa, welcher die französische Dokumentation seit 5.00 übernommen (und schon wesentlich verbessert) hat - Mir
Wir
arbeiten über mehrere Kanäle zusammen. Mit Comtois und G-Rom erfolgt dies nur
über das französische Forum. Mit Gatean erfolgte diese zuerst per IRC, und dann
via Gmail/Gtalk. Bei Mesa durch private Nachrichten im französischen Forum und
bei André per Email. Im richtigen Leben habe ich nur Timo und André getroffen –
und ja, wir können daher am gleichen Produkt arbeiten, ohne reale Treffen |
|
2. |
Und wie motivierst du fr34k oder Polo, die
’unbezahlte Programmierarbeit’ zu machen? (okay, freak braucht nur Pizza,
soweit ich weiß ![]() |
|
|
Um ehrlich zu sein, brauche ich nichts zu tun, da sie bereits motiviert sind! Das ist die Art, wie die Mitwirkenden zu PB beitragen – sie tun die Dinge, die sie möchten. Ich sage nie, was zu tun ist. Sie kommen mit den Ideen, wir diskutieren darüber und wenn ich denke, dass es eine gute Bereicherung für PB ist, beginnen sie daran zu arbeiten. Darüber hinaus erhalten sie Zugang zu den Quellcodes und natürlich meine Unterstützung. Wenn du zu einem Projekt wie PB beiträgst, lernst du eine Menge neuer Dinge und neue Wege im Umgang mit der Programmierung, und ich glaube, sie gewinnen eine Menge an Erfahrung. Du musst den Regeln folgen (speziell den Programmierregeln), die richtigen Tools benutzen, und die PB-Philosophie verstehen. Sie sind alle eine große Hilfe – was PB viel besser macht, als wenn ich es allein erstellt hätte, das ist sicher. Am Ende sind es die Nutzer, die von ihrer harten Arbeit profitieren. Ein großes Dankeschön an sie. |
|
3. |
Wann hattest du die Idee, eine Programmiersprache aufsetzend auf einen ASM / C Compiler und ’3rd Party Tools’ zu erschaffen? (Es erscheint heute als eine offensichtliche und nachvollziehbare Wahl, aber zum Zeitpunkt der Geburt von PB für Multi-OS (2000/2001) war es das nicht…) | |
|
Das war eine logische Wahl für mich, da ich damals ein Assembler-Programmierer war. Um genau zu sein, der erste PB-Compiler war in BASIC (BlitzBasic auf Amiga) programmiert und arbeitete gut genug, aber als ich auf Windows wechseln wollte, bekam ich ein ’kleines’ Problem: BlitzBasic war nur für Amiga. So begann ich den Compiler auf C zu portieren, und habe dabei gelernt, dass die Verwendung einer Programmiersprache für nur eine Plattform Portierungen unmöglich macht. Das ist der Grund, warum der Compiler heute in C ist. Ihr werdet denken, dass ich nun die Lektion gelernt hatte, richtig? In der Tat nein, die erste Windows-Version hatte alle Befehlsbibliotheken in Assembler programmiert. Und wisst ihr was, als ich die Linux-Portierung in Angriff nahm, funktionierte keine Bibliothek. Und wieder haben wir den Assembler-Code für die Portabilität (und die einfachere Wartung) umgewandelt, und seitdem verwenden wir C als zentrales Werkzeug für alle Kern-Tools. Für weitere Tools verwenden wir PureBasic (DocMaker, UnitTest, IDE etc.). | |
4. |
Was waren deine hauptsächlichsten Ziele, als du mit der Erschaffung von PureBasic begannst? Und was sind sie heute? | |
|
Das ursprüngliche Ziel war es, eine moderne Version von BlitzBasic (der alten Amiga-Version, nicht der PC-Version) zu erschaffen. Es hat sich nun so sehr weiterentwickelt, dass wir dieses Ziel seit einer langen Zeit vergessen haben und PB von sich aus wächst zu einer einfach-zu-verwendenden-aber-mächtigen-All-in-One-Sprache. Unser hauptsächliches Ziel ist es heute, eine stabile und produktive Umgebung anzubieten, um den Job (für den Anwender) schnell erledigt zu bekommen. Es ist für jeden Typ an Programmierer entwickelt, vom Anfänger bis zum ’Oldie’, die gelangweilt oder genervt davon sind, eine große Entwicklungsumgebung aufzusetzen, nur um mit einigen Bibliotheken zu spielen. | |
5. |
Wieviele Zeilen Programmcode hat PureBasic bis jetzt? | |
|
Wenn du den Code von verschiedenen Tools mitzählst, welche PureBasic verwendet, dann über eine Million Zeilen. Das ist sicherlich sehr groß, wir haben mehr als 1500 Befehle auf drei verschiedenen Plattformen. Mehr als 14 Jahre an Entwicklung… | |
6. |
Welche Betriebssystem-Varianten verwendest du selbst für die Arbeit an PureBasic! Welches der OS magst du am meisten? | |
|
Mein tagtägliches OS ist Windows. Es ist einfach das OS, mit dem ich am produktivsten bin und das ich als meine wichtigste Entwicklungsumgebung verwende. Visual Studio war immer ein großartiges Tool, um Code zu produzieren und zu debuggen. Ich kann nicht sagen, dass ich Windows sonderlich toll finde, aber ich verwende und mag es. | |
7. |
Entsprechend unserem letzten Interview in 2005 betrug die Anzahl registrierter PB-Anwender rund 5000. Wie groß ist die Zahl heute? Liegt der Schwerpunkt der Anwenderbasis immer noch in Deutschland, und wie sind die Nutzer derzeit über die ganze Welt verteilt? | |
|
Es sind um die 8.000. Sie sind inzwischen aus der ganzen Welt, mit einigen mehr in Deutschland, ja. |
|
8. |
Wäre es nicht gut, diese Information „offiziell“ auf der PureBasic.com Webseite zu veröffentlichen? Einmal für die Werbung (“PB ist nicht nur eine kleine Sprache mit einigen Hundert Anwendern…”), aber auch für Drittentwickler, die Add-Ons für PureBasic entwickeln wollen, aber auch wissen möchten, wie viele potentielle Käufer sie haben… | |
|
Du veröffentlichst solche Informationen in der Regel nicht auf deiner Webseite. Auch ist diese Anzahl nicht sehr relevant, da die registrierte Anzahl sehr verschieden zur Anzahl aktiver Nutzer ist, was nicht die illegale Verwendung und Nutzer einschließt, die PB nicht mehr verwenden. | |
9. |
Funktioniert PB noch aus wirtschaftlicher Sicht? Bekommst du genug Geld von neuen Lizenzen bzw. Spenden, und (speziell da es jetzt wieder dein täglicher Job ist) ist finanzielle Unabhängigkeit einzig mit der Arbeit an PB zu erreichen? | |
|
Wie schon gesagt, es ist ok für mich. Ich bekomme nicht soviel Geld wie bei einer täglichen Arbeit, aber es ist genug für mich – insbesondere wenn man bedenkt, dass ich tun kann was ich wirklich möchte, und dies hat seinen Preis. Es ist ermutigend, dass es sehr stabil von Jahr zu Jahr ist – somit bin ich glücklich, dass PB jedes Jahr mehr Leute anspricht. | |
10. |
Führst du auch ’Lohnarbeiten’ für Unternehmen mit PureBasic aus? Wenn ja, wie können wir dich engagieren? | |
|
Nicht offiziell. Ich habe bereits in aller Eile ein oder zwei Libs für eine Firma gepatcht, die eine schnelle Lösung brauchten und ich dafür Geld bekam, aber das ist nicht die Regel. Das bedeutet aber auch, dass ich offen dafür bin, für Leute ein bestimmtes Feature gegen eine finanzielle Belohnung einzubauen. Dieses Feature muss aber kompatibel mit dem PB Befehlssatz sein, sodass wir es weitergeben können. Wir machen keine firmenspezifische Entwicklung, die nicht in das offizielle Paket integriert werden kann. Kontaktiert mich einfach, wenn ihr solchen Bedarf habt. | |
11. |
Gibt es etwas, dass dir (und dem PB-Team) ein zusätzliches Einkommen einbringen könnte? Wie wäre es mit einem kleinen “PB-Markt” (organisiert vom PB-Team), zu welchem Drittentwickler PB-relevante Dinge (z.B. Bibliotheken oder Quellcodes) beisteuern können? Ich kann mir vorstellen, dass die Leute etwas Geld für eine gute Drucker-Bibliothek, eine PDF-Lib, etc. ausgeben würden. Das Einkommen könnte zwischen den Entwicklern und der PB-Gruppe geteilt werden… | |
|
Die Foren sind der zentrale Platz dafür, ihr könnt eure Produkte hier bewerben. Während die Idee mit dem PB-Markt interessant ist, denke ich nicht, dass ich diesen Weg gehen werde, da es eine Menge Arbeit für die Entwicklung / Betreuung erfordert, einschließlich Verträge mit allen Beteiligten etc. Es ist keine kleine Sache, dies einzurichten. | |
12. |
Wenn man PureBasic mit anderen BASIC Sprachen
vergleicht – was sind die wichtigsten Punkte, mit denen PB gegenüber diesen
hervorsticht? - schnellstes kompiliertes BASIC - kleinste kompilierte Executables - mehr Unterstützung für O/S (Betriebssysteme) und uP (Mikroprozessoren) als jedes andere BASIC - größte Unterstützung mit eingebauten Bibliotheken - andere? |
|
|
Für mich ist der stärkste Punkt an PureBasic das eingebaute Befehlsset, mit klaren und leserlichen Namen und Verwendung. Wenn du verstanden hast, wie eine Bibliothek verwendet wird, kann du sie einfach alle nutzen. Du musst dich nicht um die interne Umsetzung kümmern, es funktioniert einfach. Alle Features sind bedeutsam: eine gute IDE ist wichtig, ein guter Debugger, auch eine gute Qualität bei der Geschwindigkeit, mächtige eingebaute Sprachfeatures wie Listen, Map, Array, komplexe Strukturen, Makro, Unicode, etc. Was PB insgesamt zu einem großartigen Tool macht, ist dass e seine Menge an Themen abdeckt. |
|
13. |
Was sind die größten Stärken und die größten Schwächen von PB aus deiner Perspektive? | |
|
Größte Stärken: - Multi-OS (Windows, Linux, OS X) - 1500+ Befehle (schlüssige Namensgebung und Programmierstil) - Modern (IDE, Debugger, schnell, 64 Bit) - noch in sehr aktiver Entwicklung, einschließlich der grundlegenden Sprachfeatures
Größte Schwächen: - keine ‘Mainstream’-Sprache wie C/C++/Java und dergleichen - stark von einer kleinen Anzahl an Entwicklern abhängig |
|
14. |
Willst/kannst du an einigen der genanten Schwachpunkte arbeiten? | |
|
Nun, es ist schwierig, die größte Schwäche anzugehen, aber wer weiß was die Zukunft bringt? | |
15. |
Wenn siehst du als deine (PB’s) größte Konkurrenten? Wie siehst du diese im Vergleich zu PB? | |
|
Ausgehend von dem, was ich sehen kann, bin ich nicht sehr von der Konkurrenz beeindruckt. In der Tat habe ich sogar das Gefühl, dass es immer weniger konkurrenzfähige Alternativ-Sprache zu PureBasic gibt. In 2012 muss deine Sprache native 64-Bit-Unterstützung, Unicode, IDE, Debugger, Windows, Linux, OS X und vieles mehr bieten. Wenn sie das nicht hat, wirst du sehr schnell an Grenzen stoßen oder Marktanteile verlieren. Unter den PB-Konkurrenten kenne ich keine Sprache mit all diesen Features, außer vielleicht RealBasic (ich rede hier nicht von Mainstream-Sprachen). |
|
16. |
Was sagst du zu Leuten, welche nicht glauben, dass mit PB auch große Projekte angegangen werden können, z.B. aufgrund eines fehlenden Features ’xyz’? | |
|
Es gibt keine Notwendigkeit, diese Frage zu beantworten, da (sehr) große Projekte in PB seit einer Weile existieren. Der Kern der Sprache ist vielseitig und schnell genug, um große Projekte ohne Probleme zu verarbeiten. Unser größtes internes PB-Projekt ist die IDE, welches aktuell 123.000 Zeilen hat, aber es ist ziemlich klein im Vergleich zu anderen Projekten, welche Anwender an mich geschickt haben. | |
17. |
Kannst du uns einige Beispiele zu solch großen Projekten verraten? | |
|
Leider nein, ich kann diese nicht ohne deren Zustimmung kommunizieren. | |
18. |
In welchen Fällen sind die "Mainstream-Sprachen" wie C, C++, Java, C#, etc. die bessere Wahl für den Programmierer? | |
|
Dies sind professionelle Sprachen, wofür es solider Fähigkeiten und dem Verständnis der Programmierung bedarf. Nun, wenn du ein professioneller Programmierer sein möchtest, wäre es in der Tat besser, eine dieser Mainstream-Sprachen zu lernen, oder du wirst keinen Job finden! | |
19. |
Auf was im gesamten PB-Paket bist du am meisten stolz, und mit was weniger zufrieden? | |
|
Aus der Sicht eines Anwenders: Ich bin stolz darauf, einen komplexen und robusten Compiler zu haben. Es ist eine Leistung, da du mit vielen verschiedenen Anwender-Eingaben umgehen musst. Auch der letzte 3D-Fortschrift ist sehr schön und ich mag dies. Aus einem internen Blickwinkel: der Compiler-Code ist inzwischen sehr alt und schwer zu pflegen, ich bin etwas beschämt, wenn ich manche Teile lese. Aber du kennst die Nr. 1 – Regel: ändere niemals einen funktionierenden Code. |
|
20. |
Was sind deine beliebtesten ‘3rd Party’ Erweiterungen für PureBasic (Tools, Bibliotheken, …)? | |
|
Gute Frage, ich verwende keine ![]() |
|
21. |
Gibt es irgendetwas in der Geschichte von PB, was du heute anders machen würdest? | |
|
Eine Menge Dinge. Aber das ist Teil der Erfahrung, da du nicht wirklich Geschichte neu schreiben kannst. Nun, wenn ich ein solches Projekt jetzt neu starten müsste, wäre die Wahrscheinlichkeit sehr groß, dass Interna sehr verschieden wären. Wahrscheinlich die Ausgabe von LLVM Code anstelle von Assembler zum Beispiel. Ich hätte keine Zeit für die PowerPC Version von PB verwandt. Ich hätte Assembler bei den Bibliotheken vermieden. Und so weiter… | |
22. |
Kommen wir nun auf das leidige Thema „Bug-Fixing“: 1. Hast du schon mal einen Bug behoben, nur damit dieser in einer späteren Version erneut auftauchte? 2. Fügst du Bug-Fixes zu einer "Test-Suite" hinzu, um zu verhindern, dass sie wiederkehren? 3. Könnte die Community eine formalisierte Test-Suite für Pre-Beta Veröffentlichungen erstellen? |
|
|
|
|
23. |
Angenommen du machst einen Release-Test – wie sieht dieser aus, bevor eine neue Version von PureBasic veröffentlicht wird? Wie sieht es aus und wie viel Zeit benötigt es, die aktualisierten PB-Pakete für jedes unterstützte OS zusammenzustellen? | |
|
Die Unittests laufen während des ‘Builds’ (Erstellungsprozesses) für jede Plattform. Wenn ein Test fehlschlägt, dann wird das Build abgebrochen und kein Paket erstellt. Manchmal müssen wir das Build-Skript nach dem Beheben von Bugs mehrmals neu starten, abhängig vom OS. Alles in allem geht es reibungslos, und wir benötigen ca. 1 Stunde (wenn alle Test erfolgreich sind), um die 7 verschiedenen Pakete (Windows32/64, Linux32/64, OS X/32/64/PPC) zu erstellen. Wir verwenden virtuelle Maschinen, so können wir alle OS parallel zusammenstellen. | |
24. |
Wie planst du die Arbeit an den verschiedenen Bibliotheken? Einige Leute beklagen sich beim Release jeder neuen Version, warum OGRE die einzige Sache war, um die sich gekümmert oder nicht gekümmert wurde. | |
|
Das kommt darauf an – manchmal arbeiten wir an großen Dingen, die nicht mehr zum Termin fertig werden, weshalb wir sie auf die nächste Version verschieben. Was OGRE betrifft, die Arbeit wird parallel von Comtois und G-Rom ausgeführt, weshalb ich “nur“ überwache und die neuen Befehle einbinde (“wrap“) sowie die OGRE Kern-Bibliotheken update. Wenn sie also fertig sind, dann binde ich alle neuen Befehle ein und veröffentliche sie. Das ist der Grund, warum dies sehr viel sein kann. Ich habe auch eine große TODO-Liste, wo ich all die Dinge notiere, bei denen es gut wäre, diese hinzufügen. Dann schätze ich die Zeit ein, um dieses oder jenes Feature einzubauen und beginne mit der Arbeit. |
|
25. |
Ok, kommen wir zu den Anwenderwünschen („Feature requests“): Viele Leute scheinen seit Jahren die Möglichkeit zur Verwendung von mehrzeiligen Anweisungen (Zeilenfortsetzung im Quellcode) zu vermissen. Gibt es dafür einen technischen Grund, dies nicht einzubauen? |
|
|
Hier ist eine Überraschung: Dies wird es in der nächsten Version geben. Es war nicht so einfach, wie die Leute denken. Der PB-Parser ist ziemlich komplex und du kannst nicht so einfach ein solches Feature hinzufügen. Das wichtigste für mich war, eine Verschlechterung bei der Kompilierzeit zu vermeiden. Nachdem ich also kürzlich einen guten Weg dafür gefunden habe, habe ich es eingebaut – ohne Geschwindigkeitseinbußen. | |
26. |
Einige Leute beschweren sich über Feature Requests, welche bereits vor Jahren gemacht und immer mal wieder erneuert wurden, und mangels einer (positiven) Antwort von dir fühlen sie sich von dir ignoriert… Was sagst du diesen – sind einige Dinge zu schwer umzusetzen, oder gibt es andere Gründe…? | |
|
Was ich sagen kann, wir lesen alle Feature
Requests. Wir beantworten diese, weil wir nicht wollen, dass die Anwender eine
Erwartungshaltung auf eine neue Funktion haben, während wir dafür noch keinen
Zeitrahmen für die Umsetzung haben. Ein weiterer Knüller für euch: die nächste
5.10 Version wird ein spezielles „Erfüllte Wünsche“ Release. Die Beta wird zu
Weihnachten rauskommen, als ein Geschenk an die Community ![]() |
|
27. |
Welchen Kriterien folgst du bei der Entscheidung, ob ein Feature Request eingebaut wird, oder nicht? | |
|
Es gibt dabei mehrere zu beachtende Punkte: - Passt es zur PB-Philosophie? - Ist es nützlich für mehr als einen Anwender? - Lohnt sich der neue Befehl? (Wenn es auch durch Kombination von 2 anderen Befehlen bewerkstelligt werden kann, ist es das wirklich wert?) - Ist es möglich unter rechtlichen Gesichtspunkten? (z.B.: Wir haben einige Nachfragen wegen der nativen Unterstützung von Mysql-Abfragen bekommen, wir möchten es einbauen, aber die Lizenz verbietet es. Das gleiche galt seinerzeit für GIF, jetzt ist mehr oder weniger ein veraltetes Format.) |
|
28. |
Ich kann mir vorstellen, dass es schwer ist, alle Anwenderwünsche und –Anforderungen zu erfüllen – speziell die völlig unterschiedlichen Interessen der Anwendungs- und der Spiele/3D-Programmierer. Wie gehst du mit diesen Gegensätzen bei der Weiterentwicklung von PB um? | |
|
Ich tue dies durch das Lesen der „Feature Requests“, mit dem Feedback der Team-Entwickler und meiner eigenen Erfahrung. Wir versuchen immer, schnell einen brauchbaren Zustand in allen von PB unterstützten Bereichen zu erreichen. Wenn eine fehlende Funktionalität tatsächlich die (sinnvolle) Verwendung einer Bibliothek verhindert, sind die Chancen groß, dass diese bald umgesetzt wird. Bei einer neuen Bibliothek versuchen wir den Standards zu folgen, wie XML, AES, JPG etc. | |
29. |
Wäre es nicht eine gute Idee, die Anwender über die wichtigsten Features abstimmen zu lassen, welche sie (nativ) in PB eingebaut sehen möchten? | |
|
Fakt ist, dies würde Druck auf uns machen, und ich möchte dies nicht. Die PureBasic Entwicklung muss weiterhin Spaß machen, und dies wäre es nicht mehr, wenn wir alles einbauen müssten, was die Anwender möchten (und es wäre schnell ein großes Durcheinander). | |
30. |
Über die PB Community: Die PB-Foren sind ein ausgezeichneter Ort, um über die PB-Entwicklung zu diskutieren, Bugs und Wünsche mitzuteilen, und natürlich um sich gegenseitig mit dem Austausch von Tipps und nützlichen Code-Beispielen zu helfen. Somit ist dies einer der wirklichen Vorteile von PB. Weiterhin gibt es den “PureBasic Team Blog”. Was denkst du über weitere “Web2.0” Plattformen, wie einem PureBasic FaceBook- oder Twitter-Account, die helfen könnten, den Ruf von PureBasic zu verbreiten und damit die PB Community zu vergrößern / mehr Lizenzen zu verkaufen? |
|
|
Um ehrlich zu sein, ich persönlich mag Facebook nicht. Ich glaube nicht, dass es für eine Programmiersprache irgendetwas bringt. Aber ich lasse mich korrigieren, wenn du denkst, es könnte helfen, warum nicht. | |
31. |
Ich bin nicht sicher (da ich ebenfalls kein FaceBook Nutzer bin), aber ich denke, es kann sich lohnen. Aber vielleicht ist dies ein Thema, das im PB-Forum diskutiert werden könnte? | |
|
Warum nicht. |
|
32. |
Warum duldest du Diskussionen über andere Sprachen in den Foren? Siehst du das nicht als ein Problem und/oder als Werbung für andere Sprachen? Andere Forum-Moderatoren würden solche Threads umgehend löschen… du scheinst nicht besorgt darüber zu sein, oder…? | |
|
Ich mag den Wettbewerb, ich habe keine Angst vor
ihm. Wenn jemand seine Erfahrungen mit einer anderen Sprache teilen möchte,
warum sollten wir den Thread löschen? Wir sind in einem PureBasic-Forum und
somit die Chancen groß, dass der Leser bereits PureBasic registriert hat. Und
es kann auch helfen, PureBasic ist nicht perfekt für alle Aufgaben (auch wenn
wir alles versuchen, dieses Ziel zu erreichen ![]() |
|
33. |
Kennst du irgendwelche (lokalen) PB-Communities, und was denkt das PB-Team darüber? | |
|
Nein, mir wären keine lokalen PB-Communities bekannt. Aber es wäre gut, in der Tat. | |
34. |
Wird es eines Tages ein (größeres) “PureBasic Anwender Treffen” geben? | |
|
Ich weiß nicht, ein solches Treffen ist aufwändig zu organisieren! |
|
35. |
Gibt es irgendwelche “PureBasic Werbeartikel”, wie ein PB T-Shirt, welches wir vor Jahren gesehen haben? Wo können die Leute diese kaufen? Und wenn nicht durch dich selbst, würdest du eine Lizenz an einen Dritten vergeben, um solche Artikel zu produzieren und zu vertreiben? | |
|
Es ist nicht verfügbar, das T-Shirt wurde auf Nachfrage produziert :). Ich weiß nicht, ob es eine Nachfrage für solche Produkte gibt – wenn ja, werde ich sehen, was getan werden kann. | |
36. |
Die Webseite (purebasic.com) sieht immer noch recht einfach aus. Wettbewerber scheinen hier einen besseren Job in Bezug auf Marketing & Werbung (und wahrscheinlich Verkäufen) für ihr Produkt zu machen. Dieses Problem besteht seit Jahren. Irgendeine Chance, dass die Qualität der Webseite purebasic.com erhöht wird? | |
|
Das ist eine komplexe Angelegenheit, da die gesamte Website eine Menge an Code eingebaut hat, vermischt mit dem HTML-Rendering macht dies eine Überarbeitung sehr komplex. Wenn jemand motiviert ist, daran zu arbeiten, warum nicht; aber ich habe nicht die grafischen Fähigkeiten dazu. | |
37. |
Wenn jemand die weitere PB Entwicklung unterstützen möchte – was sind die Möglichkeiten? | |
|
Du kannst helfen, die Bekanntheit von PB zu steigern, zum Beispiel indem in der ’About’-Infobox oder der Dokumentation deines Programms auf „Erstellt mit PureBasic“ hingewiesen wird. Und es gibt auch einen Spenden-Knopf in deinem Online-Download-Zugang! | |
38. |
Ok, dann wäre vielleicht die Bereitstellung einiger offizieller „Done with PureBasic“-Logos auf der PB.com Website eine gute Idee? Wie wäre es mit kleinen Wettbewerben für solche Dinge wie die besten Logos, Demo-Programme (mit Quellcode), etc.? Falls erforderlich, kannst du einige Preise für die besten Einsendungen beitragen und wirst in der Lage sein, sie dann weiter zu verwenden... | |
|
Das ist eine gute Idee. |
|
39. |
Wie denkst du über „günstigere Lizenzgebühren“ für Studenten, Schulen, etc.? Dies könnte „den Weg bereiten“ in die Computer-Programmierung – speziell für jüngere Leute. Sagen wir, es gibt eine Schule mit einem Computer-Kabinett und 20 PC – sie werden niemals für jeden Schüler bezahlen, und auch kaum für jeden PC. Können sie sich an den Support für ein spezielles Angebot wenden? |
|
|
Ja, da ich einige Nachfragen erhalten habe, werde ich einen speziellen Preis für Schulen / Unternehmen in das PureBasic Bestellformular aufnehmen. | |
|
|
|
Teil 3 – die Zukunft von PureBasic: | ||
1. |
Derzeit gibt es PureBasic Versionen für das klassische Windows, Linux und MacOS werden ebenfalls aktiv unterstützt. Das ist sehr beeindruckend und im letzten Interview hast du gesagt, es gibt keine Pläne, weitere Plattformen zu unterstützen.
Dennoch, die bereits unterstützten Plattformen verändern sich kontinuierlich. Lass uns also darauf konzentrieren: - Windows 8 wurde bereits mit Unterstützung für 'Modern UI Apps' veröffentlicht und es ist für Desktop-Rechner, Tablets und Telefone mit zusätzlicher Unterstützung für ARM-Prozessoren und neue APIs (z.B. DirectX11) verfügbar. - Es gibt Gerüchte, Apple prüft einen erneuten Wechsel der Prozessor-Plattform, evtl. auf ARM-basierende Prozessoren für Desktop, Telefon und Tablets. Ähnlich wie bei Microsoft mit Windows und den Windows-Geräten. - Immer mehr Geräte sind Touch-fähig. Neue Displays/Monitore für Desktop-Computer, und “Touch-Eingabe“ (klassische Maus mit zusätzlicher Touch-Eingabe).
Wie denkst du generell über solche Innovationen und Veränderungen? |
|
|
Ich denke, dass du mit Touch-basierten Computern noch nicht ernsthaft arbeiten kannst, daher gibt es derzeit keine so großen Veränderungen. Windows 8 hat eine moderne Benutzeroberfläche (Modern UI) eingeführt, was das Design von Applikationen wesentlich schwieriger macht, da es kein modernes UI Toolkit gibt (das einzige, was ich gefunden habe, ist eine Photoshop-Vorlage, im Ernst?). Du musst all deine Schalter, Listen von Grund auf mit einem Malwerkzeug erstellen, das ist unglaublich. Aktuell kannst du deine eigene „Modern UI – App“ mit dem CanvasGadget() erstellen, dies ist das gleiche. Bezüglich ARM, dieser ist hauptsächlich für Telefone und Tablets. Wenn Apple ARM für seine Mainstream-Computer auswählt, denke ich, dass wir dann ein neues Backend hinzufügen müssen. | |
2. |
Sieht du PureBasic in der Zukunft einige der große Veränderungen unterstützen, oder möchtest du, dass PB nur für die Entwicklung klassischer Windows/MacOS/Linux Desktop-Programme (für x86/x64 kompatible Prozessoren) verwendet wird? | |
|
Wir werden dem Trend folgen, aber im Moment ist dieser für mich unklar. Deshalb werden uns auf die Dinge konzentrieren, die wir am besten können: Desktop-Entwicklung. | |
3. |
Der Mobilmarkt wächst immer noch, immer mehr Leute verwenden ihre Smartphones und Tablets für Dinge in und mit dem Internet. Ein Wettbewerber (Basic4Android) hat eine große Anwenderbasis, aber ihm fehlen die Spiele-Entwicklung und iOS. Andere (AppGameKit, BasicGL, Monkey) können Spiele produzieren, aber haben nicht genug Möglichkeiten zur Erstellung mächtiger Applikationen. Gibt es eine Chance, dass PureBasic den mobilen Markt unterstützen wird, z.B. mit einem vereinfachten Befehlssatz für Android/iOS in einer separaten “PureBasic Mobile” Version? Ich könnte mir vorstellen, dass die Leute für solch ein „Biest“ für eine zusätzliche Lizenz bezahlen würden... | |
|
Ich denke, dass es eine Unterstützung des mobilen Marktes geben kann – aber wie du bereits ansprochen hast, gibt es nicht allzu viele Gemeinsamkeiten zwischen einem Desktop-OS und einer mobilen Variante. Diese Apis sind oft sehr klein, und speziell für ‚kleine’ (in der Größe, nicht in der Auflösung) Touch-Screens designt. Damit wären es dem Grunde nach nur die Kern-Bibliotheken, und evtl. die Spiele-Bibliotheken. Der komplette GUI-Part würde fehlen. Ein weiteres Problem ist Android, bestehend aus einem Mix von Java und nativen Aufrufen, ich weiß nicht, wie wir dies einfach unterstützen könnten. | |
4. |
Wenn du über die Unterstützung weiterer OS und/oder Prozessor-Typen nachdenkst, welche haben die besten Chancen realisiert zu werden? (Windows RT, Android, iOS, ARM, andere…?) Und welche sind ein "No Way" – wegen technischer Gründe, zuviel Aufwand, oder weil du einfach nicht möchtest? |
|
|
All dies sind ’neue’ Plattformen, die jeweils eine Menge an Zeit an benötigen. Apple ändert regelmäßig seine Technologie, so dass es für Software wie PureBasic schwer zu folgen ist (erinnert euch, Carbon ist tot, PowerPC genauso, wie auch die Lizenz welche die Verwendung jeglicher Programmier-Tools von Drittanbietern verboten hat (!)). Wenn es ein Massenmarkt wäre, würden wir es wahrscheinlich machen – aber so wie es aktuell aussieht, würde PureBasic ’Mobile’ vielleicht von ein paar hundert Menschen genutzt, was es definitiv nicht wert ist. | |
5. |
Vielleicht wäre ein LLVM zum Konvertieren auf verschiedenen Plattformen eine gute Idee? | |
|
Ja, ich verfolge LLVM seit einer Weile und es wäre keine Überraschung, wenn wir uns entscheiden würden, ein Backend dafür (statt von reinem ARM zum Beispiel) hinzufügen. | |
6. |
Statt dem ausschließlichen Kompilieren in ASM, könnte es nicht einen Byte-Code – generiert für Java Virtual Machines – geben, was die Web-Entwicklung mit einem einheitlichen Syntax ermöglichen würde? | |
|
Ich denke nicht, dass das Generieren von Java Byte-Code eine gute Idee ist, da Java auf Clients fast tot ist. Niemand hat einen aktualisierten Java-Client, es ist ein komplettes Durcheinander. Aber es könnte interessant sein, JavaScript für die Web-Entwicklung zu generieren. Dies würde sogar kleine ’Mobile-Apps’ (HTML5 basiert) ermöglichen. | |
7. |
Fred, was sind deine aktuellen Pläne für den Visual Designer? Wir haben gesehen, dass ein neuer aufgetaucht ist und es gab es einige Gerüchte, dass dieser letztlich in der IDE als einheitliche Lösung integriert werden soll. Wird dies in absehbarer Zeit geschehen? | |
|
Ein weiterer Knüller: er wird in der nächsten Version integriert sein. |
|
8. |
Einige der vorhandenen Bibliotheken sind ein wenig "hinterher". Zum Beispiel unterstützen die Email- und FTP-Funktionen keine SSL-Verbindungen oder sogar Authentifizierung. Die Unterstützung für reguläre Ausdrücke erscheint begrenzt. Gibt es irgendwelche Pläne, dies zu verbessern? | |
|
Ja, es ist geplant. Vielleicht keine SSL-Unterstützung, da dies ein sehr komplexes Thema für sich ist, aber die anderen Verbesserung scheinen ok. | |
9. |
Die Cross-Plattform-Funktion (der gleiche PB-Quellcode kann nahezu immer auf allen unterstützten Plattformen kompiliert werden, solange du nur den PB-Befehlssatz verwendest) ist einer der wirklichen Vorteile von PureBasic. Aber die GUI-Abstraktion ist begrenzt und nicht up-to-date. Gibt es irgendwelche Pläne, dies durch eine Layout-Engine, automatisch eingestellte Größen von Steuerelementen/Gadgets, etc. zu verbessern? |
|
|
Ja, dies ist geplant. Die IDE verwendet selbst eine selbsterstellte Layout-Bibliothek, welche der Grund ist, warum sie auf jedem OS gut aussieht. Wir planen, diese Bibliothek nativ zu machen, was die Layout-Probleme lösen sollte. | |
10. |
Werdet ihr weitere Gadgets (z.B. ein Grid-Gadget, ein Ribbon-Trail, etc.) einbauen und weitere GUI-Features sowie native Events für die existierenden Gadgets (wie das Sortieren von ListIcons, Ermitteln eines Mausklicks in einer bestimmten Zelle, etc.) unterstützen? | |
|
Es wird ständig verbessert. Das Hinzufügen eines GridGadget() ist nicht so einfach wie es scheint. Auch die OS bieten diese nicht an. Einige Gridgadget-Bibliotheken werden für einen viel höheren Preis als das gesamte PureBasic-Paket verkauft, was dir eine Vorstellung von der zu leistenden Arbeit geben sollte. Im Grunde wäre das perfekte Grid so wie Excel, so... Ribbon-Bänder und ähnliche sind dagegen machbar – aber wir versuchen, die Crossplattform-Kompatibilität eine Realität sein zu lassen. Wenn du Ribbons verwendest, würde dies nicht auf Linux/OSX funktionieren (zumindest nicht nativ). Deshalb ist die GUI-Abstraktion ist ein bisschen einfach. | |
11. |
Derzeit unterstützt PB nativ zwei wichtige und nützliche Datenstrukturen: Listen und Maps. Können wir darauf hoffen, dass wir in Zukunft mehr davon haben werden? Die nützlichsten wären wahrscheinlich ein BST (Binary Search Tree) und vielleicht ein AVL-Tree. Wir können diese auch selbst schreiben, aber eine native Unterstützung würde es viel einfacher machen, sie mit einem beliebigen Datentyp zu verwenden, da wir nicht über einen Template-Mechanismus wie in anderen Sprachen verfügen. Das Hinzufügen einer neuen Datenstruktur dann und wann wäre allgemein großartig (Stack, Queue, Priority-Queues, Heaps, etc.) |
|
|
Das könnte interessant sein, ja. |
|
12. |
Planst du die Unterstützung für "echte" Cross-Kompilierung – was bedeuten würde, dass wir den Quellcode für MacOS / Linux auch unter Windows (und umgekehrt) kompilieren können, oder für 64 Bit auf 32 Bit-Systemen (und umgekehrt) kompilieren können? | |
|
Das ist nicht geplant, da wir das gesamte Toolkit für jedes OS brauchen würden, was riesig ist (und ich weiß nicht einmal, ob Apple die Weitergabe des Frameworks erlauben würde). Umverteilung des Rahmens ermächtigen würde). Und daneben ist PB nicht perfekt genug, um ’blind’ für ein anderes OS zu kompilieren und dann zu erwarten, dass es läuft. Dies erscheint wie eine Menge Arbeit für einen kleinen Gewinn. | |
13. |
Wir haben gesehen, dass du große Anstrengungen unternommen hast, um auch weiterhin Unterstützung für ältere Betriebssysteme zu bieten. Wird diese Unterstützung auch in zukünftigen Versionen von PureBasic beibehalten, oder wird diese letztlich eingestellt werden? | |
|
Sie wird irgendwann eingestellt werden. Sobald es zuviel Arbeit für ein älteres Betriebssystem wird, wird diese eingestellt. Zum Beispiel haben wir den AmigaOS Support seit 4.0 eingestellt. Die nächste Version wird OS X PowerPC nicht mehr unterstützen. | |
14. |
PureBasic ist eine prozedurale Sprache mit einigen Erweiterungen. Wirst du jemals "echtes" OOP unterstützen, oder weiter verbesserte / einfachere Methoden zu dessen (optionaler) Verwendung? | |
|
Nein. Der Befehlssatz ist nicht OOP und es würde sich auch nicht gut mischen. Entweder du erstellst eine prozedurale oder OOP-Sprache, aber versuche nicht beides gleichzeitig. Es endet sonst wie C++, wo saubere C++ Quellcodes selten sind. Die meisten sind Patches von C und C++. |
|
15. |
Neben der Erstellung von dynamisch gelinkten Bibliotheken (.dll, .so, .dylib je nach OS) mit PB, ist es auch möglich, eigene „User Libraries“ zu erstellen – dank 'TailBite'. Aber das ist nur eine "inoffizielle" Lösung und nicht für alle OS verfügbar, und oft funktionieren die erzeugten Bibliotheken nur mit der PB-Version, mit der sie kompiliert wurden. Denkst über das Hinzufügen der Möglichkeit zur Erstellung von PB Anwender-Bibliotheken (manchmal auch "Module" genannt) nach, um die Notwendigkeit für 3rd-Party-Tools mit all ihren Einschränkungen zu vermeiden? |
|
|
Für den Moment ist es nicht geplant. Wir haben ein Standard-SDK für C/C++, und dies ist für die Erstellung von PB-Libs gedacht. Das Problem bei mit PB erstellten 3rd-Party-Libs besteht darin, dass diese von allen internen PB-Befehlen abhängen. Wenn wir also einen dieser grundlegenden Befehle ändern, werden alle Libs nicht mehr funktionieren. Die Verwendung von C/C++ reduziert dieses Problem, da du in der Regel nur von der 'Object' Lib abhängig bist, welche stabil ist und nicht geändert werden kann (zumindest aus der Sicht der API). |
|
16. |
Ist es möglich, das PureBasic SDK mit weiteren Informationen (z.B. Dokumentation über interne Strukturen, Funktionen, ...) zu erweitern, um die Erstellung von Erweiterungs-Bibliotheken für 3rd-Party-Entwickler zu erleichtern? | |
|
Nun, du musst nur über das im SDK veröffentlichte Objekt (ImagePlugin, SoundPlugin, Object, PureLibary) Bescheid wissen. Alle anderen Informationen sind intern für jede Lib und zudem Änderungen vorbehalten, sodass es keine gute Idee ist, diese Strukturen öffentlich zu machen. | |
17. |
Nach all diesen Fragen zur OS / Prozessor-Unterstützung und weiteren spezifischen Themen kommen wir nun zu einem allgemeinen Ausblick auf die Zukunft von PureBasic:
Was sind deine Entwicklungsschwerpunkte für die Zukunft? Planst du, die Funktionalität für die Spiele-Entwicklung (3D-Funktionen) zu verbessern oder mehr für den "professionellen Einsatz" (Anwendungs-Programmierung)? |
|
|
Es wird eine Mischung aus beidem sein, wie du sicherlich bereits erwartet hast. PB ist nicht ausschließlich ein Spiele-Programmiertool, noch ein reines Werkzeug zur Anwendungsentwicklung. Die 3D-Seite wurde vor kurzem aktualisiert und es wird so weitergehen, bis wir einen ausgereiften Befehlssatz erreicht haben. | |
18. |
Was siehst du mit PB kurzfristig (in den nächsten 12 Monaten) und mittelfristig (2-3 Jahren) passieren? | |
|
Auf kurze Sicht möchten wir die meisten der
wiederkehrenden Unzulänglichkeiten von PureBasic auf den bereits vorhandenen
Plattformen angehen. Auf mittlere Sicht möchte ich gern einen anderen Ansatz
für PB erforschen – aber ich kann nicht mehr sagen, weil es sich noch in einem
frühen Entwicklungsstadium befindet und einige Zeit in Anspruch nehmen wird ![]() |
|
19. |
In der Annahme, dass es weitere PB-Versionen geben wird – weißt du bereits, welche (neue) Richtung du mit v6 und v7 gehen möchtest, oder ist das zu weit zum planen? | |
|
Ja, ich weiß grundsätzlich, was v6 bringen wird – aber wie bereits gesagt, ich kann derzeit nichts darüber sagen. |
|
20. |
Wir kennen deine berühmte "When it’s done“
(Wenn es fertig ist) Aussage, und dass du kein öffentliches Bug-Tracking,
Case-Management, etc. magst. ![]() Aber was ist deine aktuelle Meinung zu einer öffentlichen "PB Roadmap" oder anderen Arten von regelmäßigen "Entwickler-Informationen“ (z.B. zweimal im Jahr ein Ausblick über das, was hinsichtlich des Befehlssatzes, der IDE, spezifischen Werkzeugen, ... zu erweitern oder zu ändern geplant ist), zum Beispiel im PureBasic Team Blog? |
|
|
Tatsache ist, wir haben dies bereits getan, aber es hat nicht funktioniert. Wenn du eine Funktionalität auf deine Roadmap setzt, erwarten die Leute diese für die nächste Version (was logisch ist), aber manchmal ändern wir unsere Meinung oder stoßen auf ein unerwartetes Problem, und die Funktion ist verschwunden oder wird verschoben. Dann sind die Leute verärgert und niemand ist glücklich. Wir kommunizieren unsere Roadmap nicht – aber ich denke nicht, dass dies ein großes Problem darstellt, da Kern-Funktionen inzwischen stabil und ausgereift sind. Es machte Sinn zu wissen, ob 'Unicode' oder 'Double' Unterstützung jemals geplant ist, weil diese wichtige Funktionen darstellen, ohne die ernsthafte Entwicklung schwierig ist. Dies ist nicht mehr der Fall – die überwiegende Mehrheit der Dinge, die wir jetzt hinzuzufügen, sind Verbesserungen und keine Kern-Features. |
|
21. |
Es gibt den "Feature Request and Wishlist" Bereich im (englischen) PB-Forum. Dort kann jeder seine Wünsche, Anregungen, etc. posten – oft wird ein "+1" von anderen Benutzern hinzugefügt. Was hältst du von einer echten Abstimmung? Was denkst du über spezielle Aufrufe (von dir an die Anwenderbasis), um Vorschläge in einem bestimmten Bereich zu machen, zum Beispiel Befehle für Datenbanken, mathematische Funktionen, grafische Funktionen oder Compiler-Optionen, IDE-Features, etc.? |
|
|
Wir könnten Umfragen (Polls) in diesem Forum ermöglichen, ich werde sehen, ob dies machbar ist. Und warum spezielle Einladungen? Wenn jemand denkt, dass eine Bibliothek Verbesserungen braucht, dann kann er einfach im Feature-Request-Forum posten, damit jeder dazu Stellung nehmen kann. |
|
22. |
Da PB immer mehr wächst / verbessert wird: Gibt
es irgendwelche Pläne, die Lizenzgebühren zu erhöhen / Upgrade-Gebühren
einzuführen? (natürlich nicht für bereits registrierte Benutzer ![]() |
|
|
Dies sind private Entscheidungen des Unternehmens. Ich mag das „Upgrade-bei-jeder-neuen-Version“ Schema nicht, weshalb ich es auch nicht bei PureBasic praktiziere. Wenn einige Leute denken, dass PB ist zu günstig ist, dann können sie uns mehr Geld schicken, es ist immer willkommen! | |
23. |
Sollte es nicht ein besseres Marketing / Werbung für PureBasic geben, um den Kundenstamm zu erweitern und dein Einkommen für einen Vollzeit-Job mit der Arbeit an PB zu sichern (plus vielleicht einige weitere Entwickler zu bezahlen, welche sich um bestimmte Teile von PB kümmern)? Zum Beispiel könnte die gut gemachte PB 5.0 Vollversion an die Redaktionen von PC-Magazinen für einen Testbericht gegeben werden, es könnte Google Adwords genutzt werden, usw. |
|
|
Dies ist eine immer wiederkehrende Frage. Ich habe schon Adwords versucht, aber es brachte keinen signifikanten Anstieg der Verkaufszahlen (sprich: keine Erhöhung). Was das Marketing angeht, dies ist eine komplexe Angelegenheit (zumindest für mich) und ich habe nicht die Zeit, es zu tun. Auf der anderen Seite denke ich, dass PureBasic mehr und mehr populärer in der Programmier-Welt wird – aufgrund der Tatsache, dass es uns schon seit einer langen Zeit gibt. | |
24. |
Kannst du dir vorstellen, dein Unternehmen zu erweitern? PureBasic scheint prädestiniert für die Aufteilung in mehrere Unternehmensbereiche... | |
|
Nun, das wäre toll. Aber das Einkommen reicht nicht aus, um dieses Risiko einzugehen. Du kannst mir sagen, ein größeres Unternehmen würde auch mehr verkaufen. Kann sein. Kann aber auch nicht. |
|
25. |
PureBasic hatte bereits seinen 10. Geburtstag. Leute "der ersten Stunde" werden immer älter (die meisten von uns haben die 30 bereits überschritten!?), die Menschen bekommen auch völlig unterschiedliche Interessen in ihrem Leben. Siehst du eine "langfristige" Zukunft für PB, und wie sieht diese aus? Wie motivierst du dich selbst, um solange an PureBasic zu programmieren? |
|
|
Ich sehe eine langfristige Zukunft für PureBasic – und ich wette, diese wird etwas anders sein, wie mit neuen Dingen in Computern umgegangen wird. Für mich ist das Web die Plattform der Wahl für die Zukunft, so werden wir uns wohl etwas in diese Richtung bewegen. | |
26. |
Zum Abschluss eine nicht so ernst gemeinte
Frage: Wann wirst du durch Europa (die Welt) touren, so dass PB-Anwender dich
bei jedem Stopp für ein Bier einladen können? ![]() |
|
|
Haha, das ist tatsächlich eine gute Idee! Ich
werde darüber nachdenken ![]() |
|
|
|
|
Das “Ende”: | ||
Vielen Dank, Fred, für deine Zeit, für die interessanten Aussagen und offenen Worte. Genieße Weihnachten und alles Gute für das neue Jahr 2013!
Du hast das "letzte Wort" - was möchtest du der PureBasic Community sagen? |
||
Ein großes Dankeschön dafür, dass es euch gibt und ihr PureBasic unterstützt! Es ist fantastisch zu sehen, dass es nach fünf oder mehr Jahren viele Anwender immer noch gibt und sie immer noch produktive Dinge mit PB tun. Bleibt am Ball und genießt es, wir haben große Pläne für die Zukunft! |
© Dezember 2012 by PureArea.net - Alle Rechte reserviert.