Seite 1 von 4

Wünsche ('important Feature requests') für Purebasic

Verfasst: 08.08.2007 15:28
von Rings
Aus eigenem aktuellem Anlass würde mich mal so interessieren
was so alles in Purebasic fehlt, was man unbedingt
mal da haben möchte.
Ich habe die frage extra ziemlich allgemein gehalten , nicht
auf Games oder Appz spezialisiert.Kann als auch zusatztools
etc. betreffen .
Ich bitte hier in diesem Topic bitte nur kurz und Knapp
eure wünsche zu posten, und bitte kein flame und sowas.

__________________________________________________

Keine Diskussionen, jeder nur ein Posting.
wer was nachtragen will möge editieren.

alles überflüssige fliegt raus.
hier wird mit der Sense moderiert.


- Kaeru

Verfasst: 08.08.2007 15:40
von ZeHa
Ich hatte PB damals "verstoßen", als ich gehört habe, daß in Version 4.0 kein OOP reinkommt und wohl auch nie kommen wird.
Ich benutze PB zwar weiterhin, aber es ist nicht mehr meine Haupt-Plattform.

- OOP wäre sehr wünschenswert, allerdings würden sich dadurch wieder einige Dinge an den Libs ändern müssen (z.B. GetGadgetState(), SetGadgetText() usw), wodurch es vielleicht sinnvoll wäre, zwar PB 5.0 als die Zukunft zu bezeichnen, die alten Versionen aber weiterhin Legacy-mäßig zu unterstützen (ähnlich wie bei VB.NET und VB 6.0, oder den ganzen Blitz-Sachen).

- 3D-Engine sollte endlich gescheit eingebunden werden, vielleicht würde das mit OOP-Unterstützung sogar noch besser funktionieren (weiß nicht ob OGRE prozedural oder objektorientiert ist, daher ist das nur mal so dahergelabert)

- nicht nur TIFF und TGA lesen, sondern auch schreiben können

- kein OnePass-Compiler mehr, sondern erstmal alle Source-Files analysieren. Dürfte heutzutage nicht mehr allzu lange dauern, und ein intelligentes Build-System müßte das auch nur dort machen, wo sich was geändert hat. Mir fallen keine Nachteile dieser Möglichkeit ein, und es würde lästiges Declaren und Rumsortieren der Funktionen ersparen.

- Crosscompiler, damit ich auch für Mac kompilieren kann. Natürlich muß auch immer noch getestet werden, wofür man jemanden aufsuchen muß, der einen Mac hat, aber sollte man später 'ne Kleinigkeit ändern wollen (die keinen Plattform-Test erfordert), muß man nicht jedesmal zu 'nem Mac-Besitzer rennen. Wenn Crosscompiling fürs erste zu viel ist, wäre ich auch über eine Online-Version glücklich, die dann eben auf Freds Mac läuft oder so.

Verfasst: 08.08.2007 15:41
von DarkDragon
Compiler:
- WinAPI/OpenGL mit 64bit Parametern vollständig unterstützen
- Etwas mehr OOP
- Cross-Platform-Compiling: Erzeuge Linux Binaries unter Windows
- Vollständiger RGBA (nicht nur RGB) support in den Libraries.

Zusatztools:
- Headerfile converter(Lebt der noch?): Wenn der ein bisschen besser parsen könnte und z.B. Klassen/Interfaces aufnehmen würde wär ich froh. Hätte ihn gern benutzt um JNI Header umzuwandeln.

IDE:
- Refractoring wie in anderen IDEs (Variablen, Strukturen, eben alles Umbenennen oder Verschieben oder ...).
- IDE und Compiler sollten mehr zusammenarbeiten, sodass die IDE alle Fehler rot unterstreichen oder irgendwie anders markieren kann. Lösungsvorschläge für Fehler wären auch nicht schlecht.

Mehr fällt mir gerade nicht ein, aber sicher gibts da noch einiges. Ich bearbeite einfach diesen Beitrag wenn noch was dazukommt.

Verfasst: 08.08.2007 15:42
von DrShrek
Wünsche:
- Mehr Datentypen (unsigned)
- native Objektorientierung (OOP)
- Unterstützung einer 3D Engine like BlitzBasic
- ...


@Rings,
Was wünscht Du Dir?

Verfasst: 08.08.2007 15:52
von ts-soft
OOP mit Vererbung, Overload usw.
MultiModule Programming (mehrere Sourcen, die einen extra Scope haben)
Erzeugen statischer libs, sowie von PB supportete Erstellung von UserLibs.
Native Datenbankunterstützung für SQLite, MySQL, DBase/(XBase
Mehr Datentypen (alle Signed und Unsigned)
Boolsche Expression
Crossplattform Compiling und

Schnelle Umsetzung meiner Wünsche :lol:

// Nachtrag:
Eine GadgetLibrary im Umfang von JEDI Visual Component Library
http://homepages.codegear.com/jedi/jvcl/ oder mehr :mrgreen:

// Nachtrag 2:
Zeilenumbruchsoperator (Zeilenfortsetzungszeichen)
EscapeSequenzen (Optional an- und abschaltbar)
Einzeiliges If (Then!)

// Nachtrag 3:
DataGadget, welches man mit einer Datenbank verknüpfen kann, natürlich
auch entsprechende Möglichkeit andere Gadgets mit Tabellen einer
Datenbank, die mit DataGadget verknüpft ist, zu verknüpfen, so das die
Daten autom. angezeigt werden.

Pause ...

Verfasst: 08.08.2007 15:55
von milan1612
Compiler:
-Möglichkeit Static Libraries erstellen zu können (EDIT: so wie TS-Soft über mir)
-(wie DarkDragon) Cross-Platform-Compiling
-OOP (aber nur optional nutzbar, die PB-Libs bleiben so wie sie sind)
-(EDIT1) Möglichkeit auszuwählen ob der Compiler nach Größe oder Geschwindigkeit optimieren soll

IDE:
-Integrierter Window Designer (aber halt wirklich in die IDE integriert,
wie in VisualStudio: (EDIT2) Mit Möglichkeit die Fenster nachträglich zu editieren)
-Projekt Management: (EDIT3) Aber bitte optional
-(auch wie DarkDragon) Refractoring
-Möglichkeit die erzeugte Assembler Datei in der IDE zu editieren und wieder zu assemblieren

to be continued...

Verfasst: 08.08.2007 15:58
von Vermilion
Spontan gesagt:
- Alpha Unterstützung in Images und normalen Sprites (also nicht nur 3DSprites).
- Eine andere 3D Engine (mein Vorschlag: Dreamotion3D, ansonsten IrrLicht)

Anderes wurde schon genannt

Verfasst: 08.08.2007 16:10
von Rubiko
Endlich eine CreateSuper3DMMORPG() Funktion :D

Spaß beiseite...
Eine andere 3D Engine würde mich auch mal interessieren und vorallem OOP

Verfasst: 08.08.2007 16:29
von Kurzer
Ich hatte mal im englischen Forum was gepostet such... wühl... (ich bitte mein schlechtes englisch zu entschuldigen):

Code: Alles auswählen

*** 
It would be beautiful, if the IDE would break up an individual instruction over several lines. 
If necessary by using of a special character "_" or so.   

Example:
OpenWindow(#PB_Any, 0, 0, 659, 329, "Testprogramm",  #PB_Window_SystemMenu | #PB_Window_MinimizeGadget |_
  #PB_Window_MaximizeGadget | #PB_Window_SizeGadget | #PB_Window_TitleBar )

*** 
I miss a function to show a list of well defined constants, variables etc. which were never used in the source.   

*** 
[EDIT: Oh, das wurde ja schon umgesetzt! :)]
If you want to move whole procedures within the SOURCE, you can only do it by unfold the procedure and move the
entire text (e.g. with cut/paste).  It would be really fine, even if you could move a folded procedure simply
by marking the single line and performing cut & paste.
If you perform this action momentarily on a folded procedure, then
  a) the procedure will be displayed unfolded immediately and
  b) only the first line, the procedurehead will be cutted out. 
It would fine, if you could edit a folded procedure like an individual line and the
automatic unfolding at any edit on a procedurehead will be disabled.

*** 
The searchfunction in the IDE stops with a find in such a way that the founded line always is the first line
in the sourcewindow. It would be better, when those founded line is displayed centrically in the sourcewindow.
So you can recognize, what's up and down of this line in the source without scrolling up first.

*** 
If a project consists of a main file and several Includes and the active sourcewindow is a include, you cannot
use "compile to .exe". An error message is indicated "errors in the main file... blah...". Even if the
mainsource is correctly defined in the Compileroptions.
Only if the mainsource is the current active sourcewindw the "compile to .exe" function works fine.

*** 
If you use the tool "variable list" on the right side of the IDE, the focus/cursor will be lost in the sourcecode
if you use this tool.
Example: You are in line 33, row 24 and you doubleclick on a variablename in the tool "variable list", then
the variable will be inserted into your source - cool! But if you want to continue writing your source, then
you have to click at first at line 33, row 24 (+ varlenght). The focus is in the toolpanel after the doubleclick.

That disturbs the workflow. It would be better, if the focus and the cursor position in the editor window
would be reactivated after the doubleclick.

*** 
"Splitscreen" in the editor would be fine. That means the current sourcearea could be spitted in serval
independent editareas using an splittergadget. The goal is to overwiew more than one locations of the same
sourcefile. Maybe you know this "splittscreen" from M$ Word.

Example now: 
+---------------------------------+ 
| ......... source text ......... | 
| ....blah 1 .................... | 
| ....blah 2 .................... | 
| ....blah 3 .................... | 
| ....blah 4 .................... | 
| ....blah 5 .................... | 
| ....blah 6 .................... | 
| ....blah 7 .................... | 
| ....blah 8 .................... | 
+---------------------------------+   

Example my wish: 
+---------------------------------+ 
| ......... source text ......... | 
| ....blah 1 .................... | 
| ....blah 2 .................... | 
| ....blah 3 .................... | 
|============== *** ==============| < - Splittergadget 
| ....blah 53.................... | 
| ....blah 54.................... | 
| ....blah 55.................... | 
| ....blah 56.................... | 
+---------------------------------+

***
An Option "Automatic loading of Includefiles" would be cool.
That means, if this Option is set and you load the main sourcefile, all included files which are a part of
the mainfile will be loaded automaticly into new TABs in the IDE.

***
A little extend of the IDE-funktion "Autocomplete" (german: Autovervollstaendigen).
(I know it from some SQL-Tools which I use at work)
It would be fine, if you could enter a delay in the preferences for the autocomplete window.
That means the autocomplete window will only appear, if you stop typing for this time.

At the moment the Window appers immideately after entering x characters or (if the automation
is disabled) the window opens only if you press CTRL-SPACE. So, now I'm hitting confused
ESC on every PB keyword or I disable the automation and have to press CTRL-SPACE, on a
unknown keyword.

The workflow will be less disturbed if this window appears only automaticly when you stop
typing for x seconds.

example:
1) You type:      MyXVar = Win [wait for e.g. 1.5 seconds]  -> the autocomplete window pops up.
2) You type fast: MyXVar = WindowX() [no confusing window pops up, because you wrote
                  faster than 0.75 chars per second. ;)

***
Commenting huge blocks of code using an start- and endkeyword
Today the only way to comment large part of sourcecode is to mark all the text and using
CTRL-B. This puts a ';' on the beginning of each line.
It would be great, if you could comment large blocks of source using a "start- and
endcommentor" like this (the second example):

; I'm a normal PB comment
; I'm too
; Hey, I'm also a comment

/*
Wow...
now we
are all
comments
only by
editing
two lines!
*/
PS:
"MultiModule Programming (mehrere Sourcen, die einen extra Scope haben) "
ts-soft, was meinst du in dem Zusammenhang mit scope?

Gruß Markus

Verfasst: 08.08.2007 16:47
von PMV
Ich weis nicht ... mir gefällt PB so wie es ist ... ich finds einfach geil. Weis
auch nicht warum, aber wirklich etwas ändern will ich eigentlich nicht.
OOP ist für mich nicht so wichtig, auch größere Projekte können mit dem
richtigen Mangement auch erstellt werden. Zumindest meine Meinung,
weis das so ziemlich jeder lieber OOP hat ... ich hab jetzt 1 Jahr Java-
Programmierung und demnach auch OOP erfahrung ... so ein bischen
OOP schein ich in PB auch zu wollen, aber Interfaces funzen ja prima <)
... aber ist eigentlich auch egal, Fred hat gesagt, es wird nie kommen also
wird es wohl auch so sein.

Also ich werd weiter mit dem Arbeiten was PB hat ohne auf irgend welche
neuen Features zu hoffen. Obwohl, eins wäre da vielleicht doch ... die
allgemein gewünschte brauchbare 3D-Engine ... ich glaub, wenn PB die
hat wäre das so wie Weihnachten, Ostern, Geburtstag, Namenstag,
Helloween, Karnevall, usw. ... auf ein mal :lol:

Aber mit der Ausnahme freu ich mich auf alles, was dazu kommt ohne
etwas zu erwarten. :wink: ... gut 64-Bit-Compiler wäre da auch noch
*lol* ... aber das wars dann auch wirklich :D

für Rings noch mal zusammen gefasst :D
- gute 3D-Engine
- 64-Bit-Compiler


MFG PMV