A new IDE for Swordfish Basic

Discuss the Integrated Development Environment (IDE)

Moderators: David Barker, Jerry Messina

Do you need a new IDE for Swordfish Basic ?

No the actual IDE is sufficient for me
7
37%
Yes but the new IDE must provide a lot of additional features
10
53%
I do not care
0
No votes
It's really a waste of time
2
11%
 
Total votes: 19

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

A new IDE for Swordfish Basic

Post by octal » Fri Nov 09, 2007 3:45 pm

Hi,
I'm posting here to know your opinion and your needs when using Swordfish Basic.

I do not want to start a "sterile" debate. The actual IDE of Swordfish basic is extendable using the powerfull Plugin Engine and let users add a lot of features.

I started recently working on a new IDE for the command line version of the compiler. The IDE I'm trying to make target really advanced users (altough begginers will find it very user friendly) with a lot of stuff like code completion, automatic documentation generation tool, ... tools for managing projects life cycle, some code refactoring possibilities ...

What I want is to know is:
1- your opinion about getting an IDE (mutlilanguage French+English+ more languages if I find users who'll accept to do translations) for the Command Line version of Swordfish

2- The features you would like to see in it

3- How much would you accept to pay for such tool if it's done. (of course it will not be free).

Please, do NOT just answer the poll !!! Feel free to give your real opinion. I really need your opinion, even if you find all such developments a waste of time.

PS. Please, try to answer the 3 questions :wink:
Best regards
octal

Doj
Posts: 362
Joined: Wed Apr 11, 2007 10:18 pm
Location: East Sussex

Post by Doj » Fri Nov 09, 2007 5:28 pm

Hello Octal, this is a subject that interests me greatly, I have tried to use the command line parameters but have never suceeded, what is the exact syntax?

I agree the current IDE is very usable, but there are several functions that I would like to see as options:-

Block comment, using single quotes(as PDS IDE) and not the {} which I find is very poor in actual use in a large program.
Block TAB(as PDS IDE).
Collapsing of routines and statement block(as VB)
Multi language(compilers not spoken).

These are what comes to mind, and would be what I would implement if I wrote an IDE, which I would like to if I could get the command line working!

TimB
Posts: 262
Joined: Wed Oct 04, 2006 7:25 am
Location: London UK

Post by TimB » Fri Nov 09, 2007 6:35 pm

1 Not sure what you mean but I can barely speak English so French or what ever is of little use to me.

2 I have been away from serious coding for a few weeks so my mind is blank on what is needed. Really it would be stupid things like offset lookup table generation but that could be handled by a plug in now.

3 £20-30 would be ok

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Fri Nov 09, 2007 9:21 pm

Hi Doj,
Doj wrote: I would like to see as options:-
Block comment, using single quotes(as PDS IDE) and not the {} which I
- Already done. you can choose in the options which kind of auto-comment style: Single Quote " ' " or Double Slash "//" or "{...}" blocs.
In case of SingleQuote or "//" these characters will be repeated for each line.
Uncomment function do the reverese of course. It parses the code, detects the comment style automatically and removes the comment.
Doj wrote: Block TAB(as PDS IDE).
Already done. May be I misunderstand you, but this already works in the actual SF IDE (as in PSD IDE). Selecting a block and typing TAB indents it, and Shift+TAB unindents it.
Doj wrote: Collapsing of routines and statement block(as VB)
This is called code folding. Already done ;) I have to correct some bugs ... but it's almost already usable.
Doj wrote: Multi language(compilers not spoken).
Latter I think to target other compilers (mostly "C"). Actually everything is done in a way that the IDE is highly language independant. But for advanced features, it will for sure need to interact with the language details. This is unavoidable. my aim is not to make a generalist editor. UltraEdit do it very well and is in the market for more than 10 years. My aim is not to provide such ide with 2992828272727288 features from which the user use really 10 features. My aim is to make an IDE that makes the user really more productive with his compiler/language. For that, I can not avoid to make the IDE language dependant. I have to make a full parser to let the IDE analyse in background threads (task) your code, and to build special internal structures (AST). This background analysis makes the IDE aware of your actual code structure, and let him provide tools like code completion. If the IDE does not analyse the code you are actually typing, he can not give you in the proposition lists your OWN procedures and variables names. If the IDE does not analyse your code, he can not give you some tools like for example code refactoring (renaming of variables automatically in a procedure, or in whole program) ...
For this to become really useful, we can not avoid making the IDE language dependant.

I think to support more compilers, but not by making a generalist IDE, but a specialized IDE for each language, or by making language specifics a special kind of macro-PLUGIN that the ide initilizes at startup to let you deal with your code.
I hope to show something working (maybe flash video) soon ;)

Regards
octal

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Fri Nov 09, 2007 9:30 pm

TimB wrote:1 Not sure what you mean but I can barely speak English so French or what ever is of little use to me.
:o :o barely or "beer-ly" :o I know that you speaks ASM better than English Tim ;) I personnaly speaks French better than English but prefer use english GUI (and versions) on all my dev tools (even Delphi I own an English version) because sentences and labels are really shorter than french one and the French translation for some computer-science sentences and words is really meaningless in French (Désolé les gars!!!).

What I mean is that the IDE will have a GUI (captions + erros messages) translated to French (or other languages. The IDE is built from ground up with multilanguage support (Unicode ;) if you want to help me translate it to Thaï...).
TimB wrote: Really it would be stupid things like offset lookup table generation but that could be handled by a plug in now.
Yes a full plugin engine is already in mind for such tasks. I would like to make it very similar to SF IDE Plugin engine to let users develop plugins and adapt them easily for the two environments. (especially for me, I would like to continue to provide plugins for SF without having to fully rework them for my IDE).
TimB wrote: £20-30 would be ok
:o if you remove the dash "-" between the two numbers it would be fine :lol:

Regards
octal
Last edited by octal on Fri Nov 09, 2007 9:37 pm, edited 1 time in total.

Mast
Posts: 65
Joined: Wed Aug 29, 2007 6:24 am
Location: France

Post by Mast » Sat Nov 10, 2007 7:01 am

hi octal,
i waiting for, cause i need a lot for a IDE. if you want a list i can write in french.

Mast

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Sat Nov 10, 2007 7:58 am

Mast wrote:hi octal,
i waiting for, cause i need a lot for a IDE. if you want a list i can write in french.

Mast
Yep ... come on! write your list (even in French) please :)

regards
octal

Mast
Posts: 65
Joined: Wed Aug 29, 2007 6:24 am
Location: France

Post by Mast » Sat Nov 10, 2007 8:09 am

ok, apres tu traduit mes demandes. Donc je veux :

possibilité de voir plusieurs fichiers en meme temps style cascade ou mosaique, de couper le meme fichier en deux afin de voir en haut et en bas. Recherche et visu de parentheses (style UE ou NP++).
Colorisation et mots clés colorisés a souhait, donc personnalisable avec en prime le choix de police (italic ou pas, gras ou pas, etc...)

auto formation des blocs: IF THEN ENDIF, genre decalage auto.
Passage de la souris avec infos en temps reel.

Et plein d'autres choses encore, et la je te fait confiance.

Mast

xor
Posts: 286
Joined: Sun Nov 05, 2006 1:15 pm
Location: NYC
Contact:

Post by xor » Sat Nov 10, 2007 4:00 pm

I'm a straightforward user and don't get too excited about lots of bells and whistles. The part I miss is the ability to debug the source code. It would be great to see it built into the compiler IDE, but I will accept COF file generation to work in Proton or another such utility.

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Sat Nov 10, 2007 5:00 pm

Hi xor,
thank you.
I already said it. The actual IDE is really very fine and complete, and can also be extandable with plugins. This is very fine.

The only thing that my IDE will really bring is multilanguage IDE (which is not that usefull for you I guess), and perhaps some usefull shortcuts for users already accostumed to other IDEs.
What I try to add are some usefull additions that makes code navigation and analysis easier when you have somewhat long programs (>400 lines of code) with a lot of subs/funct. Theoretically, with my editor you'll write about 10% to 30% less code than with the actual IDE, which is not too much for programs with of about 200 lines of code or less.
The IDE will have also support for MPASM ASM editing (a bit more than actual IDE does). This will be fine for resuling ASM code tuning or modifications.

This is why I'm making for this poll on this forum, just to know if there is real interrest in such piece of code or no.

As I expected, I see (from the number of view of the this post) that not too much users are interrested.

Anyway, I'll still go on because I need my IDE for other purposes. It will be published once I got something really working (at least partially).

Regards
octal

Doj
Posts: 362
Joined: Wed Apr 11, 2007 10:18 pm
Location: East Sussex

Post by Doj » Sat Nov 10, 2007 6:13 pm

Hello Octal, you are correct about the block TAB, I never saw it as it was not on the toolbar, not keen on using the keyboard so never even looked, my fault.

Collapsing of code(as its called in VB 2005 and 8) is a superb method of tidying up an IDE when you have many routines that have to be in a single include, and the option to change the block comment is very good.

I would love to BETA them to death with my current 70k sized program!! which has 20 includes and several thousand lines of code.

How easy would it be to enable a user to add their own compiler?
I have to use BASCOM for 8051 use, the compiler is good but the IDE is not to my own liking(but perfectly usable) and I think it is sensible to have a common front end like you seem to be trying to do for all work as it makes it easier to switch between the different compilers.

As for cost, a basic version with improvements over the existing(and largely very good) £20 to £30, for an all singing and dancing fully user configurable version, maybe upto £50 if it was really top grade.

You did not answer the main question(for me) which was what is the syntax for the command line use of the compiler?

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Sat Nov 10, 2007 8:51 pm

Doj wrote: How easy would it be to enable a user to add their own compiler?
I have to use BASCOM for 8051 use, the compiler is good but the IDE is not to my own liking(but perfectly usable) and I think it is sensible to have a common front end like you seem to be trying to do for all work as it makes it easier to switch between the different compilers.
I can easily add support for BASCOM (or let users add their own compilers), but you must understand that some functionnalities heavily depends on the manipulated language, for exampel code folding will word differently between SF and a C compiler, and will not work for BASCOM because it's a flat compiler (may be you can use it for folding structures like IF/THEN/ELSE/ENDIF, ...).
I'll try to analyse that in more details later!!! Actually, most of the functionnalities I"m adding are for SF users in order to make them really more productive !!!

As for BASCOM, MCS is really strange company. I asked them one month ago if they accept to help in adaptation of GLCD Font Creator to their tools, in order to give AVR developers access to big fonts on GLCD.
1- They never answered my mails.
2- On their public forum I found 1 day somebody asking for Fonts Creation for BASCOM. One user asked him to go on GLCD Font Creator web site, and download the demo version and do tests to see if generated code is compatible with BASCOM or not.
3- I registered on the forum and ansnwered that actually GLCD Font Creator generated sources are not compatible with BASCOM for now, but that if I find volonteers, I would be gald to do adaptation (without giving any commercial advertisement!!!!)

Guess what: 1 hour later I visited the forum and the post was fully deleted (and not only my answer), and they banned me from the forum. I sent a mail to them and they did answered that they answer only mails from their customers :) very cool and very fine way to do business.
Doj wrote: You did not answer the main question(for me) which was what is the syntax for the command line use of the compiler?
No command line params. I simply call the compiler with the main program bas file as a param. :)

regards
octal

Doj
Posts: 362
Joined: Wed Apr 11, 2007 10:18 pm
Location: East Sussex

Post by Doj » Sun Nov 11, 2007 4:03 am

About BASCOM, what you describe seems to me a reaction to piracy, look how closely users keep SF and PDS guarded, I own licenced BASOM and have to say the support for problems has been good, no where near as good as PDS and SF which are quite unusually superb, I do understand their idea that they will only work with their customers even if it seems harsh.

I understand that there is no panacea, but if options can be made available with minimum effort(on your part) and maximum benefit to a user then that is great, but no doubt you will have to create a form that is good for you and not all wishes of users can ever be fullfilled.

As for the command line, I must be really stupid but I just do not know what you mean, please can you just write the syntax of an example you use to compile a file using run in the start menu?

User avatar
octal
Registered User
Registered User
Posts: 586
Joined: Thu Jan 11, 2007 12:49 pm
Location: Paris IDF
Contact:

Post by octal » Sun Nov 11, 2007 11:01 am

Doj wrote: As for the command line, I must be really stupid but I just do not know what you mean, please can you just write the syntax of an example you use to compile a file using run in the start menu?
:o Quite easy Doj.
Assume you are in C:\Program Files\Mecanique\Swordfish\ folder under dos and you want to compile the file mySfProg.bas in the same dir.
You have to do :
at dos prompt you have
C:\Program Files\Mecanique\Swordfish\ >

type (what's in red)

C:\Program Files\Mecanique\Swordfish\Swordfish.exe mySfProg.bas
Now if you want to launch compilation from any other tool (from the run command of Windows Start menu for example), you have to take care to the spaces in the path name. in this case you have to put the full name in double quotes "..."
for example this will NOT work
C:\Program Files\Mecanique\Swordfish\Swordfish.exe test.bas
because beteween "Program" and "Files" there is a space, so the RUN command think that the command is the first bloc before first space .. (here "C:\Program" and he will search for "C:\Program.exe" and gives as param to it all the rest, here "Files\Mecanique\Swordfish\Swordfish.exe" and "test.bas"
Assuming that "test.bas" is also in a folder with a space in its name, for example "c:\folder For test", you have to do the same, and the syntax will be
The correct syntax should be
"C:\Program Files\Mecanique\Swordfish\Swordfish.exe" "c:\folder For test\test.bas"
to make blanks more visible, here is the same command with blanks (spaces) replaced with "<SPACE>"
"C:\Program<SPACE>Files\Mecanique\Swordfish\Swordfish.exe" <SPACE>"c:\folder<SPACE>For<SPACE>test\test.bas"

Regards
octal

Doj
Posts: 362
Joined: Wed Apr 11, 2007 10:18 pm
Location: East Sussex

Post by Doj » Mon Nov 12, 2007 2:23 am

A perfect example Octal, thank you very much, exactly what I was looking for, I now understand.

Post Reply