Yokemate of Keyboards
Posts: 2122 from 2003/2/24
From: po-RNO
Quote:
connor wrote:
Why I don’t like Hollywood programs: they are always much fatter and slower than programs in C or E or Pascal or so. e.g. because they have huge sizes compared to every other language program (even when the *hws must still be added to the directory). They are at least 10 or often 100 times bigger than comparable not Hollywood programs.
The core Hollywood interpreter is a bit over 2MB in size and it's included in the compiled executables, so you can't avoid that. The actual code doesn't make it that much bigger, but if you embed some resources into the executable (like images, audio, plugins, other external stuff) then it grows just like executables on any other language too. I don't think the 2MB is that big issue with nowadays mass storage and memory sizes.
What do you mean by "hws"? .hws is a script code file which is embedded in an executable and not visible for users. Or do you mean .hwp plugin files? The plugin files are like libraries and you don't have to keep them in the program directory, you can move them to Libs:Hollywood/ if you want. I just like to bundle them with my programs so that users don't need to do anything to launch the programs, because as said, I think HD space isn't an issue nowadays.
Quote:
This is how Hollywood is constructed in general, it has nothing to do with the skills of a programmer.
But how that 2+ megabytes executable size affects to the speed? At least on our PPC platforms Hollywood programs start immediately unless you have veeery slow and fragmented HD? When I talked about skills of a programmer I meant generic speed when using the programs, not about something that would be affected by an executable size.
Quote:
Then especially MUI programs are so much slower when I change the window size or move them around or switch tabs etc. The window laggs when I move it around or change the size ONLY for Hollywood programs. No other MUI program has that issue. Even not ARexx MUI programs. So it is because of Hollywood.
Hmmm.. window moving is done by OS (Intuition) and nothing in Hollywood should affect to that. And MUI GUI is handled by MUI of course... I don't understand why there would be difference in speed, unless programmer himself decided to do something when there will be a notification about resizing or switching tabs... can you give a more exact example which Hollywood program has a slower window handling? Only thing that I could think it that if a MUI window has a Hollywood display embedded in it and it scales with resizing realtime.. graphical scaling is CPU heavy process, RNOEffects is probably slow becasue of this. But if it only has standard MUI objects on it, I don't understand why it would be slower... does it make full CPU load or something like that or is it just refreshing slower?
Quote:
And then that they are only MUI 3.8 programs and not make use of the newest MUI features on MOS.
That's not entirely true. While all the latest features might not be supported yet, you still can use MUI4+ features. There's the
mui.IsVersion4 function too, which I have been using in my programs to change the GUI features depending on the platform.
Quote:
And also that when there is an error the whole program crashes immediately.
It doesn't crash, but exits cleanly without taking the whole OS with it. I think it's the best feature in Hollywood, because if there's a fatal bug in the code, it informs about it and quits nicely. You can then make a bug report to the developer then and it even tells the line where the error occured, what could be better! When you make a similar bug in C, it very likely trashes memory and breaks something that you don't see immediately, or crashes other software or the whole OS immediately. Hollywood programs are very safe to run in that regard! This is especially useful on our systems that don't have memory protection, and I rather choose stability than forcing a program to run in a broken state.
But that said, a programmer can also disable the internal error handler in Hollywood if wanted (permanently or temporarily) and let the mess escalate, or write your own error handling function. For example, I have made my own error handling function in RNOPublisher, and if a fatal error occurs, it doesn't quit immediately but writes a backup file of the current project before exiting, and informs a user about it.
Quote:
Many more reasons but those are heavy enough that I don’t want to use Hollywood programs.
I still think that most bad experiences are because of inexperienced coders rather than the language itself... and I think that it's good to have easier higher level languages too.