Re: masm32 - Hutch



randyhyde@xxxxxxxxxxxxx wrote:

>> PowerBASIC seems like a cute toy,
>>
>> It doesn't support static libraries, so if you want to
>> link with external code, you're stuck with DLLs (which
>> means additional work when other people provide static
>> libraries and no DLLs).
>
> IIRC, Visual BASIC has this same problem.

Most likely, yes. It's worth keeping in mind, though, since
it *is* a limitation... and since hutch has often flamed RosAsm
for not supporting static libraries, while he doesn't see it
as a limitation in the case of PowerBASIC.

>> It's not all too flexible, in the sense that you can't
>> get rid of the runtime library code. Granted, the
>> default runtime library footprint is rather small in
>> PowerBASIC, but you can't get rid of it to produce *very*
>> small executables.
>
> Then again, who really cares?
> If you're writing BASIC programs (or any HLL program for that matter)
> is size really your primary concern?

It's not a big concern for me (within resonable limits; delphi/BCB
with static linked VCL, or static linked MFC programs, are more
than I care for). Again, it seems to be a concern of hutches, since
he often talks about "code bloat" in C/C++. Yet he neglects the fact
that you're forced to include the runtimes with PowerBASIC, whether
you use them or not.

> HLLs are designed for developing *large* applications. If all the
> applications we write were small, there would be no need whatsoever to
> use HLLs -- assembly language would be fine. No matter what the size
> of a run-time library is, it has a fixed size which you amortize over
> the size of the entire application.

Exactly. If you're doing a hello-world application, there's a lot of
"bloat" from the runtime; if you write a real-world application, you
tend to use most of the included runtime facilities, and thus it's no
longer bloat. Yet another reason why "hello world" applications are
silly to benchmark in any way.

> For tiny applications, yes, the RTL takes up a significant amount of
> space. For larger applications, though, you amortize the cost away.
> If someone is writing a lot of tiny apps in a language that has a huge
> "must be included" RTL, then they've misused that language if size is an
> issue to them.

Exactly.

> However, I suspect that size (particularly the sizes we're talking about
> here) isn't an issue to most PB, C/C++, Java, etc., programmers.

Except some of them ;)

I like the fact that the C++ platforms I use allow me to produce anything
from a 1kb (or even smaller, if I don't care about supporting all win32
versions) hello world application, to heavy multithreaded client/server
systems. It's certainly not the end-all-be-all, and some tools are better
suited for some tasks - but it works pretty well for most things I do.

>> But if you don't care much about executable size and speed,
>> like the BASIC language, and need a tool to quickly
>> prototype things, PB might be the right thing for you.
>
> That's generally why people use it, yes.

Which is a perfectly fine reason to use it. Just keep in mind the claims
that it has good code generation etc. are wrong.

>> It's a lot faster to set up windows and dialogs with their
>> proprietary system, than it is to go through all the trouble
>> of RegisterClass+CreateWindow , writing a WndProc, et cetera.
>
> Absolutely. That's why VB is probably the #1 language in use today.

Lots of bad things can be said about VB, but it gets the job done
fast... if it wasn't for my "professional pride" and dislike of the
BASIC language, I'd probably have used it for a couple of projects
where it would have made a lot more sense than coding it in lower
level languages.


.



Relevant Pages

  • Re: Reading great code
    ... not aware of any mission-critical applications that use .NET, ... and libraries) or no operating system at all (except perhaps ... The C language, for example, can't be used ... more than Java is a prototyping platform. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Surprise
    ... as the main systems programming language in addition to assembly on many ... The main language used for all sorts of applications, ... The applications written in Fortran included number-crunching forecast ... maintaining routing libraries and so on. ...
    (comp.lang.fortran)
  • Re: masm32 - Hutch
    ... > It doesn't support static libraries, ... > link with external code, ... HLLs are designed for developing *large* applications. ... use HLLs -- assembly language would be fine. ...
    (alt.lang.asm)
  • Re: Windows Service - The Best Choice?
    ... services as they trend to run longer than other applications) ... But if you have to use libraries that uses callback functions, ... Can anybody tell me which language is the better choice for creating ...
    (microsoft.public.dotnet.languages.csharp)
  • [LONG] Re: Why code completion and early error checking are needed
    ... > the programmer who wants such features. ... the guiding principles in the evolution of the c++ language should be ... the problem with this is that ide must first be able to assume ... libraries to find the type declaration. ...
    (comp.lang.cpp)

Loading