Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #16977 > unrolled thread

Windows8

Started byvisualforth@rocketmail.com
First post2012-11-02 08:41 -0700
Last post2012-11-29 00:16 -0800
Articles 20 on this page of 73 — 22 participants

Back to article view | Back to comp.lang.forth


Contents

  Windows8 visualforth@rocketmail.com - 2012-11-02 08:41 -0700
    Re: Windows8 Brad Eckert <hwfwguy@gmail.com> - 2012-11-02 11:12 -0700
    Re: Windows8 visualforth@rocketmail.com - 2012-11-06 09:05 -0800
      Re: Windows8 Jason Damisch <jasondamisch@yahoo.com> - 2012-11-12 07:10 -0800
        Re: Windows8 stephenXXX@mpeforth.com (Stephen Pelc) - 2012-11-12 17:27 +0000
      Re: Windows8 visualforth@rocketmail.com - 2012-11-21 17:48 -0800
    Re: Windows8 visualforth@rocketmail.com - 2012-11-07 20:44 -0800
    Re: Windows8 Jason Damisch <jasondamisch@yahoo.com> - 2012-11-12 07:15 -0800
      Re: Windows8 Brad Eckert <hwfwguy@gmail.com> - 2012-11-12 07:59 -0800
      Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-12 07:55 -1000
        Re: Windows8 "Ed" <invalid@nospam.com> - 2012-11-14 20:04 +1100
          Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-14 17:01 +0000
            Re: Windows8 "Ed" <invalid@nospam.com> - 2012-11-18 11:14 +1100
              Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-19 14:25 +0000
                Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 08:09 -1000
                  Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-20 09:55 +0000
                    Re: Windows8 mhx@iae.nl (Marcel Hendrix) - 2012-11-25 10:56 +0200
                      Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-25 16:46 +0100
              Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 16:21 -0500
                Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 13:46 -0800
                  Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:05 -0500
                    Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:14 -1000
                      Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:30 -0800
                        Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:53 -1000
                      Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:44 -0500
                        Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:52 -0800
                          GC (was Re: Windows8) Doug Hoffman <glidedog@gmail.com> - 2012-11-26 11:44 -0500
                            Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-26 11:44 -0800
                              Re: GC Doug Hoffman <glidedog@gmail.com> - 2012-11-28 06:35 -0500
                                Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-29 11:58 -0800
                                  Re: GC albert@spenarnc.xs4all.nl (Albert van der Horst) - 2012-11-30 01:46 +0000
                                    Re: GC Paul Rubin <no.email@nospam.invalid> - 2012-11-29 21:14 -0800
                    Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 14:42 -0800
                      Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 17:56 -0500
                        Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 15:14 -0800
                          Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 18:45 -0500
                            Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 14:18 -1000
                            Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-19 16:18 -0800
                          Re: Windows8 Doug Hoffman <glidedog@gmail.com> - 2012-11-19 19:01 -0500
                      Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-19 12:58 -1000
                      Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-20 02:23 +0100
                        Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-20 10:48 +0000
                          Re: Windows8 Alex McDonald <blog@rivadpm.com> - 2012-11-20 07:56 -0800
                            Re: Windows8 anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2012-11-21 15:03 +0000
                          Re: Windows8 Hugh Aguilar <hughaguilar96@yahoo.com> - 2012-11-23 05:58 -0800
                      Re: Windows8 Mark Wills <forthfreak@gmail.com> - 2012-11-20 02:13 -0800
                        Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-20 08:57 -0800
                          Re: Windows8 "David N. Williams" <williams@umich.edu> - 2012-11-20 16:56 -0500
                        Re: Windows8 mhx@iae.nl (Marcel Hendrix) - 2012-11-25 11:20 +0200
      Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-14 16:36 -0500
        Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 12:12 -1000
          Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-14 17:46 -0500
            Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 13:12 -1000
              Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-14 18:12 -0800
              Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-15 13:55 -0500
                Re: Windows8 RR <freedomspyder@gmail.com> - 2012-11-15 16:03 -0800
                  Re: Windows8 rickman <gnuarm@gmail.com> - 2012-11-15 21:54 -0500
                    Re: Windows8 RR <freedomspyder@gmail.com> - 2012-11-15 19:26 -0800
                    Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-15 19:27 -0800
                      Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-16 17:45 +0100
                        Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-16 09:10 -0800
                          Re: Windows8 Bernd Paysan <bernd.paysan@gmx.de> - 2012-11-16 22:34 +0100
                        Re: Windows8 Andy Valencia <vandys@vsta.org> - 2012-11-16 18:06 +0000
                          Re: Windows8 Paul Rubin <no.email@nospam.invalid> - 2012-11-16 11:09 -0800
                            Re: Windows8 Spam@ControlQ.com - 2012-11-16 15:18 -0500
          Re: Windows8 visualforth@rocketmail.com - 2012-11-15 00:19 -0800
            Re: Windows8 "Elizabeth D. Rather" <erather@forth.com> - 2012-11-14 22:55 -1000
            Re: Windows8 albert@spenarnc.xs4all.nl (Albert van der Horst) - 2012-11-15 12:20 +0000
              Re: Windows8 visualforth@rocketmail.com - 2012-11-15 08:32 -0800
              Re: Windows8 kenney@cix.compulink.co.uk - 2012-11-16 04:51 -0600
                Re: Windows8 stephenXXX@mpeforth.com (Stephen Pelc) - 2012-11-16 13:46 +0000
                Re: Windows8 visualforth@rocketmail.com - 2012-11-16 08:12 -0800
    Re: Windows8 the_gavino_himself <visphatesjava@gmail.com> - 2012-11-29 00:16 -0800

Page 1 of 4  [1] 2 3 4  Next page →


#16977 — Windows8

Fromvisualforth@rocketmail.com
Date2012-11-02 08:41 -0700
SubjectWindows8
Message-ID<f0a3136f-5724-46cc-819f-07dfef343b2a@googlegroups.com>
Reading a review on Windows8 tells me that Microsoft now has divided the MS-Computerworld into two parts: 
Windows8 for the Consumer-World and Windows7 for the Professionals,
and to make it worse, the Professionals have to deal with two types of hardware: the Intel-line and the ARM - that means different assembler code, or no assembler code any more.

Windows8 is not suited for Professionals until there is a Windows7-App or WindowsXP-App available, because only two Apps can be open at the same time. 

The era of windows, where you could open as many windows as you like, is over with Windows8. That's why I wrote Windows8 is for Consumers only.
May be you get multiple windows back if you buy and install a bunch of touch screen monitors.

Interesting is that traditional Windows programs may run, but in case of a crash Windows8 recovers only Windows8 apps - all other apps have to be reinstalled manually. A second option wipes everything off, including your personal settings, and you get a fresh Windows8 again as it was delivered from factory.

May be there is a Windows8 upgrade soon.
It's strange that people don't recognize that Windows8 isn't good for windows anymore. 

Sources: 

10 Things You Can Get From Windows 8 That Windows 7 Just Doesn't Have
http://www.hrsolutionjournal.com/launchpage.aspx?CID=347277&NUOSID=102246572

Windows 8 launch is a non-event for businesses
http://www.networkworld.com/community/blog/windows-8-launch-non-event-businesses

What about Forth?
Will there ever be a Forth for Windows8?

[toc] | [next] | [standalone]


#16986

FromBrad Eckert <hwfwguy@gmail.com>
Date2012-11-02 11:12 -0700
Message-ID<bac63a1f-4806-41d0-8917-fd20dd11a61c@googlegroups.com>
In reply to#16977
On Friday, November 2, 2012 8:41:12 AM UTC-7, visua...@rocketmail.com wrote:
> 
> What about Forth?
> Will there ever be a Forth for Windows8?

I think Win8 is mostly about copying Apple's closed software distribution model. If you develop an app, you have to distribute it through the app store. This is a hassle for consultants: http://www.techrepublic.com/blog/project-management/what-windows-8-closed-app-distribution-means-for-consultants/5168

I can see why MS wanted to do this, with the constant bombardment of malware against Windows systems. I see it as being akin to the launch of New Coke back in the 80s. 

[toc] | [prev] | [next] | [standalone]


#17083

Fromvisualforth@rocketmail.com
Date2012-11-06 09:05 -0800
Message-ID<a198d314-1b6a-4f2c-ac48-14154f4193c3@googlegroups.com>
In reply to#16977
On Friday, November 2, 2012 11:41:12 AM UTC-4, visua...@rocketmail.com wrote:
> Reading a review on Windows8 tells me that Microsoft now has divided the MS-Computerworld into two parts: Windows8 for the Consumer-World and Windows7 for the Professionals... 

Today I read another article on Windows 8 - there it says:

"Windows 8 supports every major and most minor programming languages"

We'll see

"The big challenge is that users are likely to have need to use more than one platform."

That's just what I wrote!

Source: 

Windows 8 Changes Are More Than Skin Deep
http://electronicdesign.com/article/embedded/windows-8-skin-deep-74613

Turning to the past to power Windows' future: An in-depth look at WinRT
http://arstechnica.com/features/2012/10/windows-8-and-winrt-everything-old-is-new-again

[toc] | [prev] | [next] | [standalone]


#17234

FromJason Damisch <jasondamisch@yahoo.com>
Date2012-11-12 07:10 -0800
Message-ID<3b2e0080-3817-4134-acc7-af1288a90c59@googlegroups.com>
In reply to#17083
> "Windows 8 supports every major and most minor programming languages"

Will they bend over backwards to make sure that Forth is not one of them?

Well, I have no burning desire to write Windows 8 programs.

Jason

[toc] | [prev] | [next] | [standalone]


#17237

FromstephenXXX@mpeforth.com (Stephen Pelc)
Date2012-11-12 17:27 +0000
Message-ID<50a13135.38634006@192.168.0.50>
In reply to#17234
On Mon, 12 Nov 2012 07:10:52 -0800 (PST), Jason Damisch
<jasondamisch@yahoo.com> wrote:

>> "Windows 8 supports every major and most minor programming languages"
>
>Will they bend over backwards to make sure that Forth is not one of them?

VFX apps already run on Windows 8.

Stephen


-- 
Stephen Pelc, stephenXXX@mpeforth.com
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 (0)23 8063 1441, fax: +44 (0)23 8033 9691
web: http://www.mpeforth.com - free VFX Forth downloads

[toc] | [prev] | [next] | [standalone]


#17480

Fromvisualforth@rocketmail.com
Date2012-11-21 17:48 -0800
Message-ID<eac7da1b-c944-4d88-b28f-7a498e3b39bd@googlegroups.com>
In reply to#17083
On Tuesday, November 6, 2012 12:05:27 PM UTC-5, visua...@rocketmail.com wrote:
> "The big challenge is that users are likely to have need to use more than one platform." 

Here some confirmation:

William Wong wrote about
"KDE, Windows 8 And The Changing User Interface"

"I use a wide variety of operating systems in the lab from Linux to Windows. In general, switching between systems used to require a minor adjustment to adapt to the user interface for each one. That was a couple years ago. These days the variety can be confusing and Microsoft's new Windows 8 has a new user interface too...
Windows 8 was more of a shock when I tried out the beta awhile back. The Start screen is made up of tiles that are easy to click on. It is great for a touch interface on devices like tablets and smart phones. There is even the usual Windows desktop behind it but even there it lacks a Start button...
So how are you faring with all these new user interfaces? Are you finding it as frustrating as I do having to learn a new UI just to make use of the latest operating systems? The problem we all encounter is that new software and updated software is targeting the latest operating system."

Source:  http://electronicdesign.com/blog/altembedded-6/embedded/kde-windows-8-changing-user-interface-74676

His remark "The problem we all encounter is that new software and updated software is targeting the latest operating system" is a chance: we don't have to target the latest operating system. Looks like we are doing a favor to a lot of people when our software is still working on Windows XP. We should do this as a unique selling point.

When recognizing that Windows 7 sometimes doesn't like TI's LaunchPad drivers, and Windows 7 tells me with a popup "The best driver software for your device is already installed - Windows has determined the driver software for your device is up to date", I decided to ignore this ignorance and stay with Windows XP for flashing 4E4th onto the LaunchPad - with 4E4th running on the target, only a Terminal or a Terminal emulator is needed to work with it.

[toc] | [prev] | [next] | [standalone]


#17139

Fromvisualforth@rocketmail.com
Date2012-11-07 20:44 -0800
Message-ID<f52c93d4-85bc-48db-b4f6-3effd9f0afaa@googlegroups.com>
In reply to#16977
WIRED shows how Windows 8 looks like, and looks at Windows 8 from a consumers perspective: http://www.wired.com/gadgetlab/2012/10/the-10-best-features-in-windows-8?pid=3892&viewall=true

Here an excerpt:

Refresh and Reset
... The refresh option is especially useful when you find your PC acting slow or buggy. In a one-click or one-tap move, you can refresh the PC without changing any of your files, Windows Store apps, or personalization settings. 
... you will lose any desktop programs since those are not synced with your Windows Account. 
Reset, on the other hand, is great for when you want to hand off your old PC to a new owner. If you want to make sure that everything is wiped, this is your go-to button. No more having to delete individual files or go through manufacturer-specific programs to figure it out.

And there are a lot of comments, like this one:

As a life-long Mac user, I find Window's new direction intriguing. They're shaking things up, while at this point, both OSX and iOS are feeling a bit staid...

Source: http://www.wired.com/gadgetlab/2012/10/the-10-best-features-in-windows-8 

[toc] | [prev] | [next] | [standalone]


#17235

FromJason Damisch <jasondamisch@yahoo.com>
Date2012-11-12 07:15 -0800
Message-ID<b32b1e7a-d63f-4e15-b462-498dda42ae37@googlegroups.com>
In reply to#16977
> Refresh and Reset
> ... The refresh option is especially useful when you find your PC acting 
> slow or buggy. In a one-click or one-tap move, you can refresh the PC 
> without changing any of your files, Windows Store apps, or personalization
> settings.
> ... you will lose any desktop programs since those are not synced with 
> your Windows Account. 

Why can't they just write an OS which works correctly most if not all of the time?  Could it be that the very idea of garbage collection is fundamentally flawed?

[toc] | [prev] | [next] | [standalone]


#17236

FromBrad Eckert <hwfwguy@gmail.com>
Date2012-11-12 07:59 -0800
Message-ID<fefc97ee-4491-4dd4-bf1a-cd037f1eb4f9@googlegroups.com>
In reply to#17235
On Monday, November 12, 2012 8:15:00 AM UTC-7, Jason Damisch wrote:
> Why can't they just write an OS which works correctly most if not all of the time?  Could it be that the very idea of garbage collection is fundamentally flawed?

Google "software decay". Microsoft's rush to market saddled millions of Windows programmers with a highly complexified API that just got more crufty with time. Software just gets old and dies, unless it's kept on life support.

[toc] | [prev] | [next] | [standalone]


#17238

From"Elizabeth D. Rather" <erather@forth.com>
Date2012-11-12 07:55 -1000
Message-ID<r6adneVRDaG_pTzNnZ2dnUVZ_s2dnZ2d@supernews.com>
In reply to#17235
On 11/12/12 5:15 AM, Jason Damisch wrote:
>> Refresh and Reset
>> ... The refresh option is especially useful when you find your PC acting
>> slow or buggy. In a one-click or one-tap move, you can refresh the PC
>> without changing any of your files, Windows Store apps, or personalization
>> settings.
>> ... you will lose any desktop programs since those are not synced with
>> your Windows Account.
>
> Why can't they just write an OS which works correctly most if not all of
 > the time?  Could it be that the very idea of garbage collection is
> fundamentally flawed?
>

Ding ding ding ding we have a winner. That is why we never use it in 
embedded systems that have to run forever without occasional reboots to 
fix all the allocation issues. Personally, I don't like it at all, 
though I realize there's a need for it in general-purpose OSs.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#17264

From"Ed" <invalid@nospam.com>
Date2012-11-14 20:04 +1100
Message-ID<k7vmsc$df3$1@speranza.aioe.org>
In reply to#17238
Elizabeth D. Rather wrote:
> On 11/12/12 5:15 AM, Jason Damisch wrote:
> >> Refresh and Reset
> >> ... The refresh option is especially useful when you find your PC acting
> >> slow or buggy. In a one-click or one-tap move, you can refresh the PC
> >> without changing any of your files, Windows Store apps, or personalization
> >> settings.
> >> ... you will lose any desktop programs since those are not synced with
> >> your Windows Account.
> >
> > Why can't they just write an OS which works correctly most if not all of
>  > the time?  Could it be that the very idea of garbage collection is
> > fundamentally flawed?
> >
>
> Ding ding ding ding we have a winner. That is why we never use it in
> embedded systems that have to run forever without occasional reboots to
> fix all the allocation issues. Personally, I don't like it at all,
> though I realize there's a need for it in general-purpose OSs.

Does the same apply to ALLOCATE FREE RESIZE ?

I ask this because I've noted a trend where every computer ill seems
to be blamed on "memory leaks".  At the same time I note Forthers
are increasingly using dynamic memory in routines - I assume because
it's in ANS and not through any particular need.  Should we trust
ALLOCATE FREE RESIZE - or accept that it may not be foolproof?
I won't even mention MARKER :)


[toc] | [prev] | [next] | [standalone]


#17277

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2012-11-14 17:01 +0000
Message-ID<2012Nov14.180148@mips.complang.tuwien.ac.at>
In reply to#17264
"Ed" <invalid@nospam.com> writes:
>Elizabeth D. Rather wrote:
>> On 11/12/12 5:15 AM, Jason Damisch wrote:
>> > Why can't they just write an OS which works correctly most if not all of
>>  > the time?  Could it be that the very idea of garbage collection is
>> > fundamentally flawed?

Given that most popular OSs don't use GC internally, their correctness
problems are obviously not due to GC.

More generally, the idea of GC is not fundamentally flawed.  GC has
some benefits and some limitations.

>> Ding ding ding ding we have a winner. That is why we never use it in
>> embedded systems that have to run forever without occasional reboots to
>> fix all the allocation issues. Personally, I don't like it at all,
>> though I realize there's a need for it in general-purpose OSs.
>
>Does the same apply to ALLOCATE FREE RESIZE ?
>
>I ask this because I've noted a trend where every computer ill seems
>to be blamed on "memory leaks".

Memory leaks are a problem in some long-runnung programs, but most
"ills" I experience are from other kinds of bugs.  It's harder to FREE
all dead memory explicity than to eliminate all references to dead
memory, so memory leaks are more common with FREE than with GC.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

[toc] | [prev] | [next] | [standalone]


#17345

From"Ed" <invalid@nospam.com>
Date2012-11-18 11:14 +1100
Message-ID<k899a1$rb2$1@speranza.aioe.org>
In reply to#17277
Anton Ertl wrote:
> "Ed" <invalid@nospam.com> writes:
> >Elizabeth D. Rather wrote:
> >> On 11/12/12 5:15 AM, Jason Damisch wrote:
> >> > Why can't they just write an OS which works correctly most if not all of
> >>  > the time?  Could it be that the very idea of garbage collection is
> >> > fundamentally flawed?
>
> Given that most popular OSs don't use GC internally, their correctness
> problems are obviously not due to GC.
>
> More generally, the idea of GC is not fundamentally flawed.  GC has
> some benefits and some limitations.
>
> >> Ding ding ding ding we have a winner. That is why we never use it in
> >> embedded systems that have to run forever without occasional reboots to
> >> fix all the allocation issues. Personally, I don't like it at all,
> >> though I realize there's a need for it in general-purpose OSs.
> >
> >Does the same apply to ALLOCATE FREE RESIZE ?
> >
> >I ask this because I've noted a trend where every computer ill seems
> >to be blamed on "memory leaks".
>
> Memory leaks are a problem in some long-runnung programs, but most
> "ills" I experience are from other kinds of bugs.  It's harder to FREE
> all dead memory explicity than to eliminate all references to dead
> memory, so memory leaks are more common with FREE than with GC.

Are you saying there is an inherent flaw in FREE - or simply a failure
on the part of programmers to FREE memory? i.e. is dead memory
avoidable or inevitable?  Elizabeth's comment above sounds a note
of warning but it's unclear whether she's talking about GC specifically
or dynamic memory generally.

If dynamic memory can only be relied upon to work when there is
an abundance of memory, then it begs the question why use it.



[toc] | [prev] | [next] | [standalone]


#17375

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2012-11-19 14:25 +0000
Message-ID<2012Nov19.152505@mips.complang.tuwien.ac.at>
In reply to#17345
"Ed" <invalid@nospam.com> writes:
>Anton Ertl wrote:
>> Memory leaks are a problem in some long-runnung programs, but most
>> "ills" I experience are from other kinds of bugs.  It's harder to FREE
>> all dead memory explicity than to eliminate all references to dead
>> memory, so memory leaks are more common with FREE than with GC.
>
>Are you saying there is an inherent flaw in FREE - or simply a failure
>on the part of programmers to FREE memory? i.e. is dead memory
>avoidable or inevitable?

In theory it's avoidable and memory leaks (as well as other
FREE-related bygs) are a failure on the part of the programmer.

However, FREE is an error-prone feature, so you might also say that
it's an inherent flaw in FREE.

There is also the problem of external fragmentation (unallocated
pieces of memory that are too small to be useful for allocation),
which is pretty inherent in FREE, but I think it's more a theoretical
than a practical problem.  For some implementations of ALLOCATE/FREE
it may also be a practical problem, but that's not inherent in the
concept of ALLOCATE/FREE.

>If dynamic memory can only be relied upon to work when there is
>an abundance of memory, then it begs the question why use it.

Well, it depends on the application.  In many cases I just allocate
(with ALLOCATE or ALLOT, whatever is convenient), and never free it.
For libraries where I don't know how it is used, I FREE ALLOCATEd
memory, so that the library is more generally useful.  For some
applications, limiting oneself to using ALLOT is appropriate.  Horses
for courses.

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

[toc] | [prev] | [next] | [standalone]


#17386

From"Elizabeth D. Rather" <erather@forth.com>
Date2012-11-19 08:09 -1000
Message-ID<Xu2dnXkyHdtF6DfNnZ2dnUVZ_u2dnZ2d@supernews.com>
In reply to#17375
On 11/19/12 4:25 AM, Anton Ertl wrote:
...
>> If dynamic memory can only be relied upon to work when there is
>> an abundance of memory, then it begs the question why use it.
>
> Well, it depends on the application.  In many cases I just allocate
> (with ALLOCATE or ALLOT, whatever is convenient), and never free it.
> For libraries where I don't know how it is used, I FREE ALLOCATEd
> memory, so that the library is more generally useful.  For some
> applications, limiting oneself to using ALLOT is appropriate.  Horses
> for courses.

If you're not going to bother to FREE ALLOCATEd space, why are you using 
ALLOCATE? Why not just ALLOT? Using ALLOT means you have full control 
over your memory map.

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

[toc] | [prev] | [next] | [standalone]


#17423

Fromanton@mips.complang.tuwien.ac.at (Anton Ertl)
Date2012-11-20 09:55 +0000
Message-ID<2012Nov20.105552@mips.complang.tuwien.ac.at>
In reply to#17386
"Elizabeth D. Rather" <erather@forth.com> writes:
>On 11/19/12 4:25 AM, Anton Ertl wrote:
>> Well, it depends on the application.  In many cases I just allocate
>> (with ALLOCATE or ALLOT, whatever is convenient), and never free it.
>> For libraries where I don't know how it is used, I FREE ALLOCATEd
>> memory, so that the library is more generally useful.  For some
>> applications, limiting oneself to using ALLOT is appropriate.  Horses
>> for courses.
>
>If you're not going to bother to FREE ALLOCATEd space, why are you using 
>ALLOCATE? Why not just ALLOT?

SwiftForth i386-Linux 3.2.1 28-Dec-2009 
100000000 allocate throw  ok                                                   
. -248688632  ok

SwiftForth i386-Linux 3.2.1 28-Dec-2009 
100000000 allot Dictionary full

- anton
-- 
M. Anton Ertl  http://www.complang.tuwien.ac.at/anton/home.html
comp.lang.forth FAQs: http://www.complang.tuwien.ac.at/forth/faq/toc.html
     New standard: http://www.forth200x.org/forth200x.html
   EuroForth 2012: http://www.euroforth.org/ef12/

[toc] | [prev] | [next] | [standalone]


#17540

Frommhx@iae.nl (Marcel Hendrix)
Date2012-11-25 10:56 +0200
Message-ID<11799310928435@frunobulax.edu>
In reply to#17423
anton@mips.complang.tuwien.ac.at (Anton Ertl) writes:
> "Elizabeth D. Rather" <erather@forth.com> writes:
>>On 11/19/12 4:25 AM, Anton Ertl wrote:
>> Well, it depends on the application.  In many cases I just allocate
>>> (with ALLOCATE or ALLOT, whatever is convenient), and never free it.
>>> For libraries where I don't know how it is used, I FREE ALLOCATEd
>>> memory, so that the library is more generally useful.  For some
>>> applications, limiting oneself to using ALLOT is appropriate.  Horses
>>> for courses.
>>
>>If you're not going to bother to FREE ALLOCATEd space, why are you using 
>>ALLOCATE? Why not just ALLOT?
>
>SwiftForth i386-Linux 3.2.1 28-Dec-2009 
>100000000 allocate throw  ok                                                   
>. -248688632  ok
>
>SwiftForth i386-Linux 3.2.1 28-Dec-2009 
>100000000 allot Dictionary full

What about (untested) 

  : ALLOT  DUP UNUSED U> IF 2* ALLOCATE THROW DP ! ELSE ALLOT ENDIF ;

Does this work for the existing Forth implementations?

gForth needs a small amount of work:

Gforth 0.7.0, Copyright (C) 1995-2008 Free Software Foundation, Inc.
Gforth comes with ABSOLUTELY NO WARRANTY; for details type `license'
Type `bye' to exit
: ALLOT  DUP UNUSED U> IF 2* ALLOCATE THROW DP ! ELSE ALLOT ENDIF ; redefined allot with ALLOT   ok
unused . 3980094  ok
8000000 allot  ok
dp ? 2108882952  ok
here 80 dump
7DB30008: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30018: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30028: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30038: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30048: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
 ok
unused ?
:6: Invalid memory address
unused >>>?<<<
Backtrace:
here 80 dump
7DB30008: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30018: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30028: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30038: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30048: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
 ok
s" hello" here place  ok
here 80 dump
7DB30008: 05 68 65 6C  6C 6F 00 00 - 00 00 00 00  00 00 00 00  .hello..........
7DB30018: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30028: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30038: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
7DB30048: 00 00 00 00  00 00 00 00 - 00 00 00 00  00 00 00 00  ................
 ok
: .hello cr ." Hello, world!" ;
:10: Dictionary overflow
: >>>.hello<<< cr ." Hello, world!" ;
Backtrace:
$7EBA5F6C throw
$7EBA5FE0 allot
$7EBA62CC ,
$7EBA6338 header,
$7EBA7958 header

-marcel

[toc] | [prev] | [next] | [standalone]


#17552

FromBernd Paysan <bernd.paysan@gmx.de>
Date2012-11-25 16:46 +0100
Message-ID<5714862.hF354XdnUG@sunwukong.fritz.box>
In reply to#17540
Marcel Hendrix wrote:
> unused ?
> :6: Invalid memory address
> unused >>>?<<<

Unused returns a value, not an address.  But then, of course you can't 
just set dp to some region and expect unused and the dictionary full 
check to work.

usable-dictionary-end

is a deferred word that does return the actual end of the dictionary.  
Use that if you want to use allocate to get more dictionary.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

[toc] | [prev] | [next] | [standalone]


#17390

FromDoug Hoffman <glidedog@gmail.com>
Date2012-11-19 16:21 -0500
Message-ID<50aaa2e4$0$293$14726298@news.sunsite.dk>
In reply to#17345
On 11/17/12 7:14 PM, Ed wrote:

> Are you saying there is an inherent flaw in FREE - or simply a failure
> on the part of programmers to FREE memory?

As others have indicated that would be a failure on the part of the 
programmer to FREE memory.

> i.e. is dead memory avoidable or inevitable?

Quite avoidable, certainly.

> If dynamic memory can only be relied upon to work when there is
> an abundance of memory, then it begs the question why use it.

It can be relied on to work.  Use ALLOCATEd memory for dynamic needs. 
Strings are a good example.  Consider:

: foo'
  string+ >heap locals| s |
  s" ABCd" s !: ." the character " 0 s at: emit
  ."  is the first character of " s p:
  s" EFG" s add: cr s p: ."  after adding EFG"
  false to case-sensitive?
  s" cde" s search: if s delete: then cr s p:
  ."  is what's left after a search and delete for cde "
  s <free ;

foo'
the character A is the first character of ABCd
ABCdEFG after adding EFG
ABFG is what's left after a search and delete for cde ok

The (itself temporary) string will expand and shrink automatically 
without concern for string buffer sizes and so forth.  The case 
insensitive search involves some behind-the-scenes automatic memory 
allocation and freeing as well.  The above example has no memory leak 
and uses ALLOCATE FREE RESIZE quite a bit.

-Doug

p.s., about 30 lines of support code needed, not counting the string class

[toc] | [prev] | [next] | [standalone]


#17391

FromPaul Rubin <no.email@nospam.invalid>
Date2012-11-19 13:46 -0800
Message-ID<7xy5hx466p.fsf@ruckus.brouhaha.com>
In reply to#17390
Doug Hoffman <glidedog@gmail.com> writes:
> As others have indicated that would be a failure on the part of the
> programmer to FREE memory.

Calling it a programmer "failure" is kind of an incomplete description.
To FREE memory you first have to know that the memory is no longer in
use, which can require careful bookkeeping in the program if the memory
is (e.g.) shared between multiple objects.

That bookkeeping is error-prone to start with, and it expands programmer
effort (i.e. development budget) even when it works.  If you have the
machine resources to take a moderate efficiency hit in the running
program, and if you're using dynamic memory in any more than trivial
way, GC can be quite a big win for programmer productivity.  FREE seems
to have gone out of style even in C++, which now (C++11) prefers
reference-counted pointers that are handled sort of invisibly by the
standard library, for heap-allocated data.

[toc] | [prev] | [next] | [standalone]


Page 1 of 4  [1] 2 3 4  Next page →

Back to top | Article view | comp.lang.forth


csiph-web