Board index » delphi » Re: Which Delphi Version To Buy

Re: Which Delphi Version To Buy


2008-05-14 04:46:24 AM
delphi53
Rudy Velthuis [TeamB] writes:
Quote
>Not against .Net, but I avoid the use of VM in my projects.

OK, so it is an irrational dislike of VMs. <g>
Irratinal is you think that everyone should think like you.
I do not convict who uses VM, and I use when is necessary, I only
prefer avoid to depend that in my projects,
if you must know, is there others Operating Systems in the world, not
only MS Windows,
and do not matter if the market is not bigger enough for you or
CodeGear, it can be enough for me and others,
and I want to reuse my code there.
"Market share of Mac is ~%5, as is Mercedes Benz in the car world,
would you like to be the Mercedes Benz in the software business?"
"Steve Jobs"
--
Cesar Romero
blogs.liws.com.br/cesar
blogs.liws.com.br/cesar/
 
 

Re: Which Delphi Version To Buy

Cesar Romero writes:
Quote
Rudy Velthuis [TeamB] writes:

>>Not against .Net, but I avoid the use of VM in my projects.
>
>OK, so it is an irrational dislike of VMs. <g>

Irratinal is you think that everyone should think like you.
That would be very irrational indeed. I am a dentist. I know many people
don't like me. <g>
Quote
I do not convict who uses VM, and I use when is necessary, I only
prefer avoid to depend that in my projects
In your projects, that is fine. But this is Delphi, not one of your
projects.
--
Rudy Velthuis [TeamB] www.teamb.com
"We all agree that your theory is crazy, but is it crazy enough?"
-- Niels Bohr (1885-1962)
 

Re: Which Delphi Version To Buy

Cesar Romero writes:
Quote
>In your projects, that is fine. But this is Delphi, not one of your
>projects.

Please point me where I wrote that .NET should be removed from Delphi?
<sigh>
You asked:
<<
You mean that the .Net part cant be rewrite for win32?,
Why not?
CG staff dont have enough skills?
Quote
>
If that didn't mean you wanted CodeGear to remove .NET dependencies
from Delphi, then I wonder why you asked that.
--
Rudy Velthuis [TeamB] www.teamb.com
"To err is human, but to really foul things up you need a
computer." -- Paul Ehrlich.
 

Re: Which Delphi Version To Buy

Rudy Velthuis [TeamB] writes:
Quote

If that didn't mean you wanted CodeGear to remove .NET dependencies
from Delphi, then I wonder why you asked that.
It was to show him that what he told can be interpreted in a different
context,
as he told that remove .Net will cause "unintended, unsupported
consequences"
I want to say, Why? If CG decide to remove .Net, ofcource will have a
good win32 replacement.
Dont they have enough skills?
As my mother tongue is not english, maybe I wrote something wrong.
--
Cesar Romero
blogs.liws.com.br/cesar
blogs.liws.com.br/cesar/
 

Re: Which Delphi Version To Buy

Cesar Romero writes:
Quote
Rudy Velthuis [TeamB] writes:

>
>If that didn't mean you wanted CodeGear to remove .NET dependencies
>from Delphi, then I wonder why you asked that.

It was to show him that what he told can be interpreted in a different
context,
as he told that remove .Net will cause "unintended, unsupported
consequences"

I want to say, Why?
That was about people single-handedly removing the .NET parts of the
existing products, before or after installation, not about CodeGear
rewriting their product. If people remove parts of the product that are
inherent to it, they do that on their own risk, since it can have the
mentioned unintended unsupported consequences.
--
Rudy Velthuis [TeamB] www.teamb.com
"Nothing is wrong with California that a rise in the ocean level
wouldn't cure."
-- Ross MacDonald (1915-1983)
 

Re: Which Delphi Version To Buy

Rudy Velthuis [TeamB] writes:
Quote
That was about people single-handedly removing the .NET parts of the
existing products, before or after installation, not about CodeGear
rewriting their product. If people remove parts of the product that
are inherent to it, they do that on their own risk, since it can have
the mentioned unintended unsupported consequences.
Thank you, for the explanation.
I have full Rad Studio installed here, and in a VM BDS2006 + Delphi 7 + D6.
--
Cesar Romero
blogs.liws.com.br/cesar
blogs.liws.com.br/cesar/
 

Re: Which Delphi Version To Buy

Cesar Romero writes:
Quote
I want to say, Why? If CG decide to remove .Net, ofcource will have a
good win32 replacement.
Dont they have enough skills?
Sure, we could do that. Plenty, plenty, plenty of skills.
But I can not imagine a reason why we'd want to.
It is not unreasonable to view .Net as just a bunch of DLL's that
provide functionality as part of Windows. Sort of like USER32.DLL and
GDI.DLL and the Windows kernal. Why this becomes a problem is a
mystery to me. ;-)
--
Nick Hodges
Delphi Product Manager - CodeGear
blogs.codegear.com/nickhodges
 

Re: Which Delphi Version To Buy

Cesar Romero writes:
Quote
Not against .Net, but I avoid the use of VM in my projects,
AFAIK, .NET isn't a VM. The code is (JIT-) compiled to native, and
calls into a lot of DLL:s just like the rest of Windows.
You could have the same irrational fear of all the MSVCxxx.DLL:s that
have accumulated in your Windows\System32\ folder. Or KERNEL.DLL, that
evil monster at the core of Windows...
--
Anders Isaksson, Sweden
BlockCAD: web.telia.com/~u16122508/proglego.htm
Gallery: web.telia.com/~u16122508/gallery/index.htm
 

Re: Which Delphi Version To Buy

On 2008-05-13, Brion L. Webster <XXXX@XXXXX.COM>writes:
Quote
>Could you rephrase that from the perspective from a basic win32 development
>install of D2006 of say a Turbo Delphi?

No matter how you try to dismember the IDE, you have to remember that the
Borland/CodeGear/(presumably) Embarcadero team that has been working on
this IDE since Delphi 7 has intrinsically planned on it using both native
Win32 and .NET and whatever else they determine will make their job of
delivering a compelling IDE easier.
Maybe.
Quote
You taking out stuff is explicitly working against them.
Actually I don't, I just said that I had seen a reference that did. The
problem being mainly that doing that still requires .NET to install, one of
the main reasons why I'd do that in the first place (to quicker deploy
Turbo Explorer, which we routinely install on the machine's that we sell
during customization to debug problems with customizations)
(for major devel we use BDS 2006)
Quote
No matter which version of the IDE you're talking about, whether it is C#
Builder, Delphi 8, 2005, 2006, 2007, or 2008, .NET is involved in the way
the IDE is intended to work. Removing it will have unintended,
unsupported consequences.
Why would I care how it is intended to work? I only care about how I need it
to work, because that how I make money. Intentions don't buy me anything.
 

Re: Which Delphi Version To Buy

On 2008-05-13, Cesar Romero <XXXX@XXXXX.COM>writes:
Quote
>No matter which version of the IDE you're talking about, whether it's
>C# Builder, Delphi 8, 2005, 2006, 2007, or 2008, .NET is involved in
>the way the IDE is intended to work. Removing it will have
>unintended, unsupported consequences.

You mean that the .Net part cant be rewrite for win32?,
Why not?
CG staff dont have enough skills?
Probably they can, but it is a cost issue, or maybe it hampers integration
with the .NET compiler. (if they use .NET based parsers for the .NET
languages)
 

Re: Which Delphi Version To Buy

Marco van de Voort writes:
Quote
Probably they can, but it is a cost issue, or maybe it hampers
integration with the .NET compiler. (if they use .NET based parsers
for the .NET languages)
No. Again, this is completely wrong. The Delphi for .NET compiler is a
Win32 app, and the CodeDOM used in parsing for refactoring is .NET for
both Win32 and .NET Delphi. So there is no difference between Delphi
for .NET and Delphi for Win32 in this respect.
--
Craig Stuntz [TeamB] ?Vertex Systems Corp. ?Columbus, OH
Delphi/InterBase Weblog : blogs.teamb.com/craigstuntz
How to ask questions the smart way:
www.catb.org/~esr/faqs/smart-questions.html
 

Re: Which Delphi Version To Buy

On 2008-05-14, Craig Stuntz [TeamB] <XXXX@XXXXX.COM>writes:
Quote
Marco van de Voort writes:

>Probably they can, but it is a cost issue, or maybe it hampers
>integration with the .NET compiler. (if they use .NET based parsers
>for the .NET languages)

No. Again, this is completely wrong. The Delphi for .NET compiler is a
Win32 app, and the CodeDOM used in parsing for refactoring is .NET for
both Win32 and .NET Delphi. So there is no difference between Delphi
for .NET and Delphi for Win32 in this respect.
Ok, thanks for the info.
 

Re: Which Delphi Version To Buy

Marco van de Voort writes:
Quote
On 2008-05-13, Brion L. Webster writes:
Actually I don't, I just said that I had seen a reference that did.
I remember that being posted for D2006
Quote
The
problem being mainly that doing that still requires .NET to install, one of
the main reasons why I'd do that in the first place (to quicker deploy
Turbo Explorer, which we routinely install on the machine's that we sell
during customization to debug problems with customizations)
Just out of curiosity, why not use Remote Deubgger? RDEBUG should be
included in even the Pro edition of BDS, IIRC. I appreciate the slimming
down of Turbo Explorer, that is a novel reason I haven't come across
before, although I question whether you have redeployment rights of the
Turbo Explorer package itself. Sounds like a unique license from Borland.
Quote
(for major devel we use BDS 2006)

>No matter which version of the IDE you're talking about, whether it is C#
>Builder, Delphi 8, 2005, 2006, 2007, or 2008, .NET is involved in the way
>the IDE is intended to work. Removing it will have unintended,
>unsupported consequences.

Why would I care how it is intended to work? I only care about how I need
it
to work, because that how I make money. Intentions don't buy me anything.
Perhaps not you, specifically, but the casual developer, or stereotypical
institution, may not want to spend time trying to figure out whether a bug
is because of the IDE itself or because they pulled .NET out of it.
You're way more advanced on this topic than most people would be, I think.
--
-Brion
There's no such thing as 'one, true way;'
- Mercedes Lackey
 

Re: Which Delphi Version To Buy

Johnnie Norsworthy writes:
Quote
It probably never would have been considered baggage if MS simply
called it a service pack for Windows XP and developers simply
required service pack X+. I could even believe people would be more
e{*word*277}d about "service pack X+ has a JITer in it that VS can use",
than, we have a new platform we want you guys to move to.
Agreed -- I think at this point it is purely a psychological issue,
really.
--
Nick Hodges
Delphi Product Manager - CodeGear
blogs.codegear.com/nickhodges
 

Re: Which Delphi Version To Buy

Anders Isaksson writes:
Quote
Cesar Romero writes:

>Not against .Net, but I avoid the use of VM in my projects,

AFAIK, .NET isn't a VM.
"Virtual machine" has acquired pejorative overtones due to historical
and social reasons that are probably too emotive to go into.
I think you need an agreed definition for what a VM is before you can
say what is and isn't a VM.
The way I see it, a virtual machine is a software implementation of an
abstract machine with a closed-by-default set of semantics.
Let's take that definition apart:
* software implementation: Here, I *don't* mean that the machine
*cannot* be implemented in hardware. Rather, I mean that if it is going
to be "virtual", it is usually implemented in software, which gives rise
to certain characteristics, which in turn imbue "virtual machine" with
extra shades of meaning. It turns out that software implementation is
better than implementing in hardware, largely because of flexibility.
* abstract machine: Every programming language has an abstract machine
implicit or explicit in its definition, or otherwise its promised
semantics are meaningless - you need a machine at some point to actually
*do* things, and have effects. So, the abstract machine bit isn't
controversial; it is its qualities that matter. Note that I differentiate
between two different abstract machine concepts: a language's abstract
machine, which it uses to model effectful operations, and a platform as
an abstract machine. A CPU (+ memory + etc.) specification is an
abstract machine, and a platform; the physical device, however, is a
real machine, running on the laws of physics.
* closed-by-default semantics: Here, I mean that at the abstraction
level of the abstract machine in question, undefined behaviour is
outlawed. In defining our machine, we humbly accept our human frailties,
and do our best to prevent "unknown unknowns" becoming a problem by
reducing the scope of the problem domain. We limit the power of the
machine, in other words.
Since we do, eventually, want to be able to talk to hardware, legacy
software and the rest of the real world, there do need to be carefully
controlled holes and conduits built-in. But they're opt-in, not opt-out.
Let's look at some of the ramifications of this conception of VMs.
* Software implementation delivers a tremendous amount of flexibility.
Some examples: runtime metaprogramming (e.g. runtime code generation,
eval); dynamic live optimization (e.g. Hotspot JVM [1]); auto-tuning
garbage collection; run-time type-aware linking (solving the template
instantiation code-bloat problem); rich error diagnostics (e.g. break
into REPL in dynamic languages).
* Abstract machine: Developments in programming language fashions have
made object orientation come to the fore (perhaps even too much to the
fore). However, our physical machines map much closer to procedural code
and a separation between code and data than the trends in language and
architecture design.
In other words, the platforms that historically popular type-unsafe [2]
languages (like C++ and Delphi) have targeted aren't a close match for
those languages' abstract machines. When they want to interoperate,
either with other modules or with modules written in different
languages, they face barriers, because their common denominator is the
abstraction of the physical CPU. Hence C-level APIs being de facto
industry standards, along with limited attempts to raise the abstraction
level with COM (largely defined at the binary level in terms of C,
explicitly referring to vtable concepts that are otherwise just hidden
implementation details of other languages).
So, moving the abstraction level of the target machine closer to the
average language abstract machine makes compiler implementation easier,
reduces interoperation barriers, and provides more semantic content for
the (typically) software implementation to work its flexibility magic.
* Closed-by-default eliminates whole categories of bugs. Type-safety can
be guaranteed by the platform. Never again [3] have a random memory
overwrite that shows up as a crash 5 minutes or 5 hours later. It also
improves security [4] by having a well-defined whitelist of operations,
rather than trying to wall things in with blacklists and conventions
("this structure is opaque, only pass to these methods" etc.).
Quote
The code is (JIT-) compiled to native, and
calls into a lot of DLL:s just like the rest of Windows.
So, after going through all that, it is my position that the CLR is
indeed a virtual machine (by my definition of VM), and the fact that the
code is compiled using a JIT merely makes it even more of a VM (a
software implementation doing optimization at runtime).
In fact, I will go further. I will say that the fact that the CLR is a
virtual machine is what makes it *valuable* to program against, as
opposed to the raw machine. If the CLR wasn't a VM, it would be
pointless bloat.
Quote
You could have the same irrational fear of all the MSVCxxx.DLL:s that
have accumulated in your Windows\System32\ folder. Or KERNEL.DLL, that
evil monster at the core of Windows...
[1] Some notable optimizations that become feasible when the program is
running live include virtual method inlining, lock hoisting and removal,
redundant null-check removal (think about argument-checking at different
levels of abstraction), etc. Steve Yegge's latest blog post, while
rambling, covers many optimizations that apply equally to static
languages running in a virtual machine and to dynamic languages (but of
course he's interested in promoting them as the apply to dynamic
languages):
steve-yegge.blogspot.com/2008/05/dynamic-languages-strike-back.html
[2] Any language that has dynamic memory allocation that it expects to
be reclaimable (i.e. no infinite memory) and doesn't have a GC isn't
type-safe. A single dangling pointer to deallocated memory kills your
type safety: if a value of a different type gets allocated at the same
location, you have a type violation.
[3] Unfortunately, RAM may occasionally flip bits due to cosmic rays
etc. So, we want to use ECC RAM and checksum critical structures when it
matters. Edge case nit.
[4] IMO, the capability-based security model is the best of those
available, ideally including eliminating ambient authority.
en.wikipedia.org/wiki/Capability-based_security
Guess what: you need a type-safe virtual machine to make some strong
guarantees about capabilities, otherwise someone could come along and
steal all your capabilities by scanning your memory.
See Capability Myths Demolished for more info:
srl.cs.jhu.edu/pubs/SRL2003-02.pdf
-- Barry
--
barrkel.blogspot.com/