forum.vdsworld.com Forum Index forum.vdsworld.com
Visit VDSWORLD.com
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


How important is runtime size?
Goto page Previous  1, 2, 3  Next
 
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Miscellaneous
View previous topic :: View next topic  
Author Message
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Fri Oct 15, 2004 7:04 am    Post subject: Reply with quote

FreezingFire wrote:
One thing I find bad about extracting the runtime is that if the program is on a CD etc., then it won't be able to extract it, since it is read-only.


Then make it so that it will extract to the Windows\system32 directory by default... Smile

_________________
[ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial!
Back to top
View user's profile Send private message
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 8:26 am    Post subject: Reply with quote

SnarlingSheep wrote:
VDS is a $99 language and the developer is worried about the extra work it would take to implement a feature that most of the customers want..
Not to mention the extra work it'd take to fix bugs already in the language.
Just one of the many reasons VDS will be crushed by it's competitors.

You obviously haven't noticed that Visual Basic doesn't have an integrated runtime option, or that a lot of development tools with many more users than VDS (Symantec's products, Watcom's products) have ceased to be, or that there are continued rumours about Borland's continued viability. The fact that there is still an interest in continuing to develop VDS should be a matter for celebration. But, since it isn't being developed in someone's spare time as a hobby, you also must accept that there are constraints on the amount of time and money that can be spent on it.

I don't believe that most VDS users as a whole want an integrated runtime option. Emmanuel has never mentioned this to me as an important requirement. Many applications that people write use extensions, and everyone accepts that they can't be integrated. A handful of people in this forum have stated that they want this, but I have never seen anyone give a reason why it is needed, or why the solution that already exists - Alloy - is not acceptable.

The purpose of opening this discussion was simply to find out what people most want from a new version of VDS, if such a thing were to be developed. The price it sells for is only one half of the equation: the other is the number of buyers. The fact is that VDS is a niche product, it has a limited number of users, and therefore the amount of money available for development is also limited. Therefore the features to be included must be prioritised.

In this forum, I have the title "VDS Developer" which is slightly misleading because I am not the owner of VDS, nor an employee of Commercial Research and I do not have any say on how much money is spent nor is it up to me what features should or should not be included (though they obviously listen to my advice on it.) I won't continue to participate in this discussion if people decide to criticise me for decisions that are not mine to make in the first place.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 8:39 am    Post subject: Reply with quote

PGWARE wrote:
For a 'self-contained' runtime couldn't you do this Julian:


Take the stub exe; include the runtimedll as a binary resource and have it extract out the dll with a TFileStream. It would do this at the very beginning of execution before running the SCRIPT portion; if the runtime is already within the system/current dir then do not extract.


The stub contains a small handful of API calls, it knows nothing about things like TFileStream. So you would have a much bigger stub to start with, to include that Delphi run-time code. Then you have the problem of finding a suitable extraction path that is guaranteed to be writeable in all situations (different media, different user privilege levels) and also in the search path for finding the DLL.

Probably the problems could be overcome, if people were to accept the overhead of possibly a 200K stub plus the runtime in every EXE. But my question, once again, is: isn't this what Alloy does? My objection to this suggestion is simply: why waste scarce VDS development resources duplicating functionality that already exists in a third party product?

If people can demonstrate a) why integrated EXEs are essential and b) why Alloy doesn't meet this requirement, then I can argue a stronger case for this feature. But contributions along the lines of that made by SnarlingSheep won't do anyone any favours.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 8:40 am    Post subject: Reply with quote

Skit3000 wrote:
FreezingFire wrote:
One thing I find bad about extracting the runtime is that if the program is on a CD etc., then it won't be able to extract it, since it is read-only.


Then make it so that it will extract to the Windows\system32 directory by default... Smile


But non-administrative users won't have permission to write to the System32 directory.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
marty
Professional Member
Professional Member


Joined: 10 May 2001
Posts: 789

PostPosted: Fri Oct 15, 2004 11:04 am    Post subject: Reply with quote

I think to have self contained EXE with runtime is not a BIG must have, since like you said there is Alloy. And when I mentionned using Delphi 6 would bring more features to VDS, again I should have said that most components could be used like you said.

Some features of VDS I would like to see in the future:

- ActiveX support (were we could use ActiveX features like Flash, Windows Media Player, IE Browser, Mozilla Browser, and so many more...)

- XML Support (Reading/Writing)

- RichEdit Object integrated (Basic functionnality)

- DirectX functionnalities : Audio, Video, DVD...

Also there is many API functionnality from windows that could be added,
Blending, calendar, and more...

I think CR should add more default extensions if they dont want to grow the runtime too much. For example having the Browser DLL included was a great idea. I think more DLLs should be include for different purposes.

Anyway just ideas...

Cool
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 12:51 pm    Post subject: Reply with quote

ActiveX support would be very nice, but I don't know how to add it in VDS because it's an interpreter. I don't actually use ActiveX in my Delphi programs, but I think that when you do, you provide Delphi with a type library and it creates an object for the particular ActiveX you're using, which you then compile into the EXE. I don't think there is any kind of generic ActiveX support that could be compiled into VDS that would allow the VDS programmer to use any ActiveX object of his choosing. Another problem is that ActiveX uses typed variables whereas all VDS variables are strings. So if you could use ActiveX, it would be a bit like using the API, where you have to use int:x and bool:y to get the data converted into the right type. I think the solution to this is to create extensions which are wrappers to ActiveX objects that allow VDS to interface with them in an easier manner, just as VDSBRW50.DLL is a wrapper for the web browser ActiveX component.

XML support is something I thought VDS 5 should have, but I didn't have any ideas on how it should be done since I have never actually used it. I think this is something that could be included if people who actually use XML and want it in VDS 6 come up with a specification for how it should be implemented.

A RichEdit dialog element is certainly a possibility. I tended to avoid it because the rich edit control in Windows had a reputation for being somewhat buggy.

I think DirectX, like the IE Browser control, needs to be kept separate from the runtime because there are so many different versions around and they are not all compatible. If Microsoft releases a new version of DirectX you don't want to wait for the next version of VDS to take advantage of it.

Certainly I think a lot of the user interface enhancements that are currently only available in extensions or by API calls could be incorporated into the runtime. But I wouldn't rule out the possibility of new VDS commands and functions being implemented as DSUs that can be included in the applications that need them.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
CodeScript
Moderator Team


Joined: 08 Jun 2003
Posts: 1060
Location: India

PostPosted: Fri Oct 15, 2004 1:51 pm    Post subject: Reply with quote

Well first thing is we should all be happy about a new version coming up. I guess it wasn' so easy a decision to take for CR.
If the runtime size is gonna increase then may be a one can consider integrating an option to create setups in the IDE itsef(alt arguments may be - there are too many third party utilities for this, we have a open source project etc). IMO this may reduce the burden of the final package and makes the VDS language complete in all respects. May be optionally one can consider allowing download of the runtime from a remote location specified by the user although I don't know if this can be done with a small setup stub in delphi(Unlikely).


Another consideration I wud second marty is Simple Active X stuff (either integrated or as an extension) although CR needs to consider the development costs/time invloved for this non-newbie feature.


Another thing is ready made "DSU" for Entry level users.


Also ability to make a simple dll (written in VDS) instead of DSUs wud be worth a consideration. The dll should be having a VDS extension interface so that in principle it is same as a DSU for the usual users but it can also be used for other langauges/applications etc like any win32 dll.


Ability to have mulitple threads is another one that may be on low priority.

DirectX may not be cost/time effective considering the intricacies involved and the large number of game development software already around.

It is hard for me to think of suggesting more features as the langauge is already rich in features needed by most of the developers.

Edit: I have seen many of the above has been already replied by Julian while I was typing tjis offline.

_________________
Regards
- CodeScript
Arrow Give your application a professional look with the VDSGUI Extension
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 2:28 pm    Post subject: Reply with quote

Commercial Research had a VDS-based setup called V-Setup, but I don't know if it was ever updated for VDS 5. I personally never used it.

As you say, there are already many setup utilities, so there isn't much need for another. If size is a concern, I've been using Agentix Installer (http://www.agentix.org) which is quite inexpensive, but I recently learned that it barfs when run on Japanese Windows. I recently ran across another very small one, but I forget what it was now. The obvious solution is to create a self extracting Zip archive with a very small stub, which extracts everything (including the VDS runtime) to a temporary folder and then runs a VDS script to do the setup. I think that's pretty much what V-Setup did. It would probably add less than 30K to the size of the zip file. I doubt if it could be done in less than that if the facility was integrated into the runtime.

So why isn't there already a nice VDS-based setup script that could be run from an SFX in the manner I just described? Very Happy

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 2:44 pm    Post subject: Reply with quote

The ability to create VDS extensions in VDS was something I thought about a while back, but after we had the DSU facility I couldn't really see the point of it. It would open up the possibility of creating DLLs that could be called from other programs, but the extension interface isn't designed for calling from other languages and it's far from ideal. I'm not sure that many people would want to do this.

The suggestion of making VDS multi-threaded arose when I wanted to create some servers in VDS. I have written a POP3 and a SMTP server in VDS but because they can only handle one connection at a time they aren't much practical use. The question is, whether many VDS users are interested in creating servers? The other benefit of multi-threading would be to allow multiple dialogs to work independently, which is hard to do without having one event loop for the whole program, which is usually a recipe for disaster. But perhaps this isn't considered much of a limitation either?

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Fri Oct 15, 2004 3:24 pm    Post subject: Reply with quote

jules wrote:
The suggestion of making VDS multi-threaded arose when I wanted to create some servers in VDS. I have written a POP3 and a SMTP server in VDS but because they can only handle one connection at a time they aren't much practical use. The question is, whether many VDS users are interested in creating servers? The other benefit of multi-threading would be to allow multiple dialogs to work independently, which is hard to do without having one event loop for the whole program, which is usually a recipe for disaster. But perhaps this isn't considered much of a limitation either?


For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people... Smile The only downside of this is that every new copy has to be loaded in memory, so when serving 300 clients, you need a lot of RAM... Smile But, I think that the same happens if VDS really supports multitasking... Rolling Eyes

_________________
[ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial!
Back to top
View user's profile Send private message
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Fri Oct 15, 2004 3:40 pm    Post subject: Reply with quote

Skit3000 wrote:
For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people... Smile


I'd be interested to see how you did this, if you have, because I tried it and I couldn't get it to work. The problem seemed to be that the socket ID that you get when the listening socket receives a connection isn't valid when used by another program.

Skit3000 wrote:
The only downside of this is that every new copy has to be loaded in memory, so when serving 300 clients, you need a lot of RAM... Smile But, I think that the same happens if VDS really supports multitasking... Rolling Eyes


It shouldn't do that. It shares the same memory, or it can do. In fact, I wrote an extension that spawns a separate thread running a copy of the script from a specified label. I was amazed that it worked at all, and even more amazed that when the spawned copy tried to display information on a dialog, it did so on the main thread's copy of the dialog. So the issue with making VDS capable of multithreading is mostly one of changing global to local variables, except for things you realy only want one instance of for the whole program. Which is not as trivial as that sentence may make it sound, as the VDS runtime is like a finely tuned Swiss watch and any slight change can cause problems that only come to light much later. Rolleyes

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
Skit3000
Admin Team


Joined: 11 May 2002
Posts: 2166
Location: The Netherlands

PostPosted: Fri Oct 15, 2004 3:48 pm    Post subject: Reply with quote

jules wrote:
Skit3000 wrote:
For the people who really want multitasking support, you can just create one "real" server, which handles incoming events, etc., and which lets other copies of itself handle the real proccessing. I think you can compare it with a company at which the receptionist takes the phone, and forwards the caller to the proper people... Smile


I'd be interested to see how you did this, if you have, because I tried it and I couldn't get it to work. The problem seemed to be that the socket ID that you get when the listening socket receives a connection isn't valid when used by another program.


The program I made, was a little webserver which was able to parse a simple kind of script-files, just like PHP does. But because the routine I used, it was too slow to let the server do both handling the incoming connections, as running the script-file. That's why I decided to let other copies of the program do this, so that the main program could concentrate itself on getting in- and output. Because of this, and because I used Prakash' VDSIPP dll to create a HTTP web server, it was only able to send text files to the end user because sending files/images would really slow things down on the server program itself. If the client's browser requested an image, I just sended a HTTP header back which forwarded the browser to a real webserver which holded the files/images.... Smile So I guess you can say I was cheating... Rolling Eyes Smile

_________________
[ Add autocomplete functionality to your VDS IDE windows! ]
Voor Nederlandse beginners met VDS: bekijk ook eens deze tutorial!
Back to top
View user's profile Send private message
SnarlingSheep
Professional Member
Professional Member


Joined: 13 Mar 2001
Posts: 759
Location: Michigan

PostPosted: Fri Oct 15, 2004 8:29 pm    Post subject: Reply with quote

My use of the word developer was also slightly misleading, when I really meant the people that have a say in and/or program what is added and fixed.
_________________
-Sheep
My pockets hurt...
Back to top
View user's profile Send private message Send e-mail
jules
Professional Member
Professional Member


Joined: 14 Sep 2001
Posts: 1043
Location: Cumbria, UK

PostPosted: Sat Oct 16, 2004 10:19 am    Post subject: Reply with quote

All registered users have a say. There is nothing to stop anyone emailing CR with feature requests. I also suggested the idea of creating a wishlist on VDSWorld where people could suggest ideas and everyone could vote for them.

If I state that I don't think a particular idea is worth the effort of development, it's just an opinion. But I do have more knowledge of how much work a particular enhancement is likely to take than anyone else. What might seem like a simple improvement could actually be more work than adding several new dialog elements.

_________________
The Tech Pro
www.tech-pro.net
Back to top
View user's profile Send private message Visit poster's website
Serge
Professional Member
Professional Member


Joined: 04 Mar 2002
Posts: 1480
Location: Australia

PostPosted: Sat Oct 16, 2004 3:11 pm    Post subject: Reply with quote

hi jules,

what about an idea i raised last year (?) about vds compiling a custom dll according to the needs of the vds program written, and this dll will be distributed with our program or compiled into the 1 exe?

or something like Euphoria where there are libraries that you call before you can use the functions and commands you want to use, and the whole thing compiled into 1 exe ?

i find it a bit wasteful to include a run time that could be 1 Mb when i might only use some of the functions and commands - especially when there are programs out there that do what some of mine do but are a lot smaller

also, when your idea of a wish list forum becomes a reality, perhaps people could post their definite wish and folks can vote on them so as to give commercial research some idea of what their users want

or perhaps even a mailout to all the folks registered at vds?

serge

_________________
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    forum.vdsworld.com Forum Index -> Miscellaneous All times are GMT
Goto page Previous  1, 2, 3  Next
Page 2 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum

Twitter@vdsworld       RSS

Powered by phpBB © 2001, 2005 phpBB Group