September 6, 2010
An article about Goodies in XE and some thoughts about bugs being fixed and bugs being added.
This post is actually a collection of small ones (should probably start an "small tidbits" series of posts like Nick Hodges does -- congrats on the new job, by the way).
1. There is a nice article about "Goodies in Delphi XE" by Jan. Short and effective, a good read to learn why bother about XE.
2. There have been many discussions about the number of bugs in Embarcadero's Quality Central (including some long standing ones) being fixed, marked as fixes, closed and all of that. The system is not free of failures, probably also due to the fact that this is an external bug tracking different from the internal "real" one. Still, the effort they've put into clearing the bugs backlog nas been significant, much mroe than in the past. Also a number of bugs I've opened have been fixed and have been closed. Good. Of course, we'd want more...
3. Another interesting issue related with bugs is that soon after shipping XE, a user noticed a memory-draining bug in the IDE, as you can read in this thread... and in a very short time R&D members mentioned having a a patch ready for internal testing. No software product is bug free, but acting on a report promptly is what matters most, in my opinion.
4. My last blog post on BlackFIsh SQL raised many interesting comments. Seems SQLite is getting very popular among Delphi developers... Will probably blog again on this.
posted by
marcocantu @ 1:50PM | 10 Comments
[0 Pending]
10 Comments
Goodies and Bugs in Delphi XE
Marco:
I look forward to your blog about SQLite as I will
soon be adding an embedded database into my Delphi
program. I am actually thinking about DISQLite3, so
if you could compare it, that would be great, with
speed being my number one criteria. I understand Nick
Bradbury uses DISQLite3 in FeedDemon and is very
happy with it.
For discussion, see also:
http://stackoverflow.com/questions/222699/which-
embedded-database-to-use-in-a-delphi-application
Comment by Louis Kessler
[http://www.lkessler.com]
on September 6, 15:41
Goodies and Bugs in Delphi XE
"No software product is bug free, but acting on a
report promptly is what matters most, in my opinion."
When, despite claims to the contrary, 8 year old bugs
languish in QC and new bugs are introduced in areas
that have old bugs, the fact that such a significant
bug can find it's way into the product, and be so
easily discovered in the field, DESPITE the supposed
attention to quality that this release has enjoyed...
... whatever matters most, this is not a good look,
and tends to suggest that large numbers of items
"closed" in QC does not necessarily correspond to
"fixed".
XE is a hugely disappointing release. There is simply
no avoiding that fact.
Comment by Jolyon Smith
[http://www.deltics.co.nz/blog]
on September 6, 20:50
Goodies and Bugs in Delphi XE
Hello!
Regarding SQLite and Delphi. Here is a complete and free
translation of SQLite API for Delphi:
http://www.indasoftware.com/sqlite/
Hope it will be useful for you.
Comment by Ivan on September 7, 10:12
Goodies and Bugs in Delphi XE
I was disappointed with the lack of 64-bit tools in XE,
and even more so - with how that specific piece
information was presented in the previews and the
forums.
I am not disappointed by the quality of the DXE release.
Comment by Lars Fosdal
[http://delphi.fosdal.com]
on September 8, 13:09
Goodies and Bugs in Delphi XE
Hey, thanks for the shout out, Marco. Started the
new job yesterday, and so far so good.
Comment by Nick Hodges
[http://www.nickhodges.com]
on September 8, 20:26
Goodies and Bugs in Delphi XE
Hello everyone.
This is a long comment, I know, but please read it
all. PLEASE.
SQLite is one of my pet peeve's just don't do it.
It does not have a proper type system, just storage
classes. Read on to understand why this is *BAD* in my
opinion. More, there's no date/time type.
I mean, date/times are so fundamental types... you
can't rely on a string or a double please!
I know that mostt times it will ultimately translate
in floating point values, but I was once told, many
years ago, that internal storage is a very different
thing compared to outside publishing ;-)
Again, you don't have "real" datatypes, just storage
classes. While the documentation says the two terms
can be used interchangeably, reading details will tell
you they're by far two different things.
This is why you can store a value of any storage
class in any column except the integer primary key
(as per documentation).
I don't know how the peers perceive it, but my
impression is that this SQLite is *FAR WORSE* than
MySQL used to be(and still is to a large extent).
If anyone bothered to actually *READ* the
documentation on SQLite datatypes, he/she would find
this gem well hidden(it's a bit long, bear with me):
"When text data is inserted into a NUMERIC column, the
storage class of the text is converted to INTEGER or
REAL (in order of preference) if such conversion is
lossless and reversible. For conversions between TEXT
and REAL storage classes, SQLite considers the
conversion to be lossless and reversible if the first
15 significant decimal digits of the number are
preserved. If the lossless conversion of TEXT to
INTEGER or REAL is not possible then the value is
stored using the TEXT storage class. No attempt is
made to convert NULL or BLOB values."
Ok I know it's a bit long, but it's necessary to make
a point. That text is basically saying that, yes, you
CAN STORE the string 'Bozo' in a numeric field and
it'll yeld *NO ERROR*. Get it? *NO ERROR!*
How sick is this? Don't even get me started on what
data integrity apparently means for these pals!
And if you think these infos are taken from some hater
and uninformed website, here's the link where I found
this and you can check for yourself:
http://www.sqlite.org/datatype3.html
Now what?
Please, *PLEASE*, stop this SQLite madness!
It makes no sense and imho it's gaining acceptance
over and over just because some programmers can't be
bothered to store integers in integer fields and
strings in string fields or make some app level type
checking to make sure they're not adding rubbish!
It remembers me of the first days of MySQL where
hordes of enthusiasts could finally write database
software without foreign keys... and the results are
afore us!
Heh...
Call me old school, but I prefer to receive an error
if I put a string in an integer field!
Cheers,
Andrew
Comment by Andrea Raimondi on September 9, 05:26
Goodies and Bugs in Delphi XE
Responding to Andrew's comments on SQLite, what
alternative is there at this stage ? Sometimes we have
to use the best of the worst to get the job done and as
long as we know what the deficiencies are, we can
program around them. I have no problem validating data
and type thereof at app level prior to writing to the
database, isn't that good practice anyway ? As to date
fields, they are a problem in virtually any database
anyway so it is not going to make it much worse than it
already is. If I am going to be wrong about going with
SQLite then it looks like I am going to be in good
company, Apple, Skype, Firefox, Google etc. But I do
appreciate the post as I am starting to look for such a
product and it was food for thought.
Comment by John on September 11, 12:02
Goodies and Bugs in Delphi XE
@John:
How about for instance NexusDB? It comes in an
embedded free version and can be used in commercial
software.
More, you could use SQLMemTable from AidAim which also
lets you use SQL and memory tables on the fly.
Full(well, not full full, but you get the idea) SQL
with no external libraries.
How about kbmMemTable(dunno if it comes with SQL tho)?
Even the client dataset can be used, but it's a bit
limited if you want to do really nifty stuff.
Also, there's a lot of free components who do DBFs for
instance or if you want a "real" database, how about
FirebirdSQL? Embedded and C/S versions are both free
for commercial use!
As to the companies you named that use SQLite, please
keep in mind that their *MAIN BUSINESS* is not linked
to db management, i.e. they don't do bespoke business
applications if you know what I mean.
Hence, it's like comparing apples and oranges imho.
These are the ones off the top of my head :-)
Rgds,
Andrew
Comment by Andrea Raimondi on September 15, 08:25
Goodies and Bugs in Delphi XE
Hi Andrew,
Thanks for your comments. NexusDB looks interesting and
I will have a look at the others as well.
Cheers,
John
Comment by John on September 16, 07:57
Goodies and Bugs in Delphi XE
@John:
You welcome :-)
If you want to bring this discussion on, my email
address is: firstname dot lastname at google mail dot
com .
Regards,
Andrew
Comment by Andrea Raimondi on September 17, 07:03
Post Your Comment
Click
here for posting
your feedback to this blog.
There are currently 0 pending (unapproved) messages.