Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #16977 > unrolled thread
| Started by | visualforth@rocketmail.com |
|---|---|
| First post | 2012-11-02 08:41 -0700 |
| Last post | 2012-11-29 00:16 -0800 |
| Articles | 20 on this page of 73 — 22 participants |
Back to article view | Back to comp.lang.forth
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 →
| From | visualforth@rocketmail.com |
|---|---|
| Date | 2012-11-02 08:41 -0700 |
| Subject | Windows8 |
| 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]
| From | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| Date | 2012-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]
| From | visualforth@rocketmail.com |
|---|---|
| Date | 2012-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]
| From | Jason Damisch <jasondamisch@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | stephenXXX@mpeforth.com (Stephen Pelc) |
|---|---|
| Date | 2012-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]
| From | visualforth@rocketmail.com |
|---|---|
| Date | 2012-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]
| From | visualforth@rocketmail.com |
|---|---|
| Date | 2012-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]
| From | Jason Damisch <jasondamisch@yahoo.com> |
|---|---|
| Date | 2012-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]
| From | Brad Eckert <hwfwguy@gmail.com> |
|---|---|
| Date | 2012-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-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]
| From | "Ed" <invalid@nospam.com> |
|---|---|
| Date | 2012-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2012-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]
| From | "Ed" <invalid@nospam.com> |
|---|---|
| Date | 2012-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2012-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]
| From | "Elizabeth D. Rather" <erather@forth.com> |
|---|---|
| Date | 2012-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]
| From | anton@mips.complang.tuwien.ac.at (Anton Ertl) |
|---|---|
| Date | 2012-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]
| From | mhx@iae.nl (Marcel Hendrix) |
|---|---|
| Date | 2012-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]
| From | Bernd Paysan <bernd.paysan@gmx.de> |
|---|---|
| Date | 2012-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]
| From | Doug Hoffman <glidedog@gmail.com> |
|---|---|
| Date | 2012-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]
| From | Paul Rubin <no.email@nospam.invalid> |
|---|---|
| Date | 2012-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