Thoughts from Dan Miser RSS 2.0
 Wednesday, April 28, 2004
Borland has posted an updated license for Delphi 8. This new license explicitly allows the Borland.Delphi.dll assembly to be redistributed, which is especially important to component developers.
Wednesday, April 28, 2004 8:14:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Delphi
 Monday, April 26, 2004
Marc Rohloff posted a pretty nice list copmaring and contrasting Delphi and C#. Feel free to add comments on other things here. I'll keep a running list going here.
Features C# has that Delphi doesn't
===================================
1) foreach
2) operators using, lock, checked and unchecked
3) block scoped variables
4) case statements with strings
5) assembly internal classes
6) namespaces can span code units
7) implicit array dimensioning: int[] a = new int{1,2,3};
8) ternary operator ( ? : )
9) can use classes from namespaces without importing the whole namespace
10) circular references are possible
11) try..catch..finally
12) assignment operators (+=, ++, -=, etc)
13) multi-file assemblies
14) You don't need to distribute Borland.Delphi.dll
15) Compiler warnings can be emitted if you omit XML documentation

Features Delphi has that C# doesn't
===================================
1) sub-range types
2) enums and sets are first-class types
3) class type support
4) virtual constructors
5) virtual class methods
6) nested procedures
7) non-default index properties
8) can defines constant arrays and records
9) resourcestring s
10) default parameters
11) variants
12) arrays with non-integral subscripts
13) sets with more than 64 elements
14) message handlers
15) unions (variant records)
16) untyped parameters
17) const parameters
18) class helpers 
19) smart linker 
20) named constructors 
21) array properties 
22) unmanaged exports 
23) super fast single pass compiler, compiling any project faster than C#, using less memory at the same time.

Edited to bring the comments up to the main page. Thanks for the input everyone!
Monday, April 26, 2004 2:10:00 PM (Central Standard Time, UTC-06:00)  #    Comments [53] -
Delphi
This messsage is from Andrew Conrad, on the ObjectSpaces team:
ObjectSpaces is not participating in Whidbey beta 1, however, it remains 
part of the Whidbey/Yukon wave and will be made available as a downloadable 
add-on pack for the .NET Framework Whidbey shortly after Whidbey ships. 
This additional development and stabilization period will be focused on 
improving the overall ObjectSpaces programming experience and providing 
tighter integration with WinFS, the next generation file system in 
Longhorn. The schedule for the ObjectSpaces mapping tool is also being 
adjusted accordingly.
So not only is Whidbey being delayed, but now ObjectSpaces is delayed beyond that delay. While I like the promise of OS, I think it's time to do some in-depth digging for code that can do more than OS can - and can do it today.
Monday, April 26, 2004 2:01:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -

 Tuesday, April 13, 2004
I've seen some people bemoaning the "lack of innovation" from Borland. That got me thinking a bit, and that's never a good thing. :-)

The main argument people seem to make when arguing "lack of innovation" is something along the lines of "Delphi 7 isn't anything more than Delphi 6 with a bunch of 3rd party software packed with it" or "Even the MDA work Borland is doing was done via acquisition". While this is provably false, even if it were true, I don't see the problem. If a company looks at the develop vs. acquire decision (a logical extension to the build vs. buy decision) and comes to the conclusion that it is more cost-effective to acquire, then it is the smart thing to do. By recognizing that you are finite, and allocating your resources accordingly, you make wise business choices. To develop technology yourself despite a cost-effective alternative is nothing more than pride to the point of hubris.

Secondly, if one company - be it Borland of Microsoft - continually adds features to their product that are addressed by existing third parties, then they will cause a collapse in the third party market. After all, why should a third party innovate when they know that a company with deeper pockets will just come along and implement the same thing in their core product (more on this later). In addition, the same people that argue that Borland has just been acquiring technology argue that Borland should reinvent that exact same technology and bundle it into the core product. So they are effectively advocating that one company should address all needs for all developers. I would rather have choice and competition in the market to spur the industry to greater heights. Besides, making both of the first two arguments in the same post is illogical. Either you think a company should innovate everything, or it should innovate nothing. If you argue in between, then you are just arguing with which things got bundled in.

Lastly, innovation is only innovation in the short-term. In the long-term, the first product to market rarely gets a stranglehold on the market no matter how good it is. For examples look at Macintosh, IBM DOS, MIDAS, and countless other technologies. They were ahead of their time, but were not immediately accepted. Instead, they served as the thing that others wanted to "emulate". After the innovation had time to mature, another company came along and "borrowed" from that innovation. Typically, people who pish-poshed a technology (e.g. Delphi or MIDAS), come around and extoll the virtues of the new technology (e.g. .NET FCL or ADO.NET). So it isn't as much about innovation as it is about marketing or brand allegiance.

Tuesday, April 13, 2004 8:07:00 AM (Central Standard Time, UTC-06:00)  #    Comments [5] -
Delphi
 Thursday, April 08, 2004
Interview with Clippy is a hilarious read. Great satire.
Thursday, April 08, 2004 1:05:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -

 Monday, March 29, 2004
Steve Trefethen just posted this little tidbit on how to have Windows Search find your Delphi files. While I seem to recall seeing this behavior some time ago, I didn't dig into it and kept using my trusty grep to find text in files. Maybe this is what I needed to start using a GUI instead!
Monday, March 29, 2004 2:28:00 PM (Central Standard Time, UTC-06:00)  #    Comments [1] -
Delphi
 Wednesday, March 24, 2004
I'm not sure which entry in Anders Ohlsson's blog is more interesting: Bill Gates stops by the Borland booth or C#Builder wins "Best Development Tool
Wednesday, March 24, 2004 2:26:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -

 Tuesday, March 23, 2004
Some posts in the Borland newsgroups have got me thinking about what a professional programmer's responsibility is when a bug occurs in code that is not theirs. The result is this list of guidelines and principles. The main thrust of this list assumes that a programmer is a technical person by nature. They do not need to be coddled and led by the hand.
  • Most bugs that are perceived to be bugs in a vendor's codebase, are usually not the vendor's fault. The first Maxim of Debugging is: The bug is most likely in your code.
  • Make the effort to work with the vendor of the bug to provide a clear, minimized, reproducible test case that demonstrates the bug. Expecting the vendor to fix a bug that they don't know about is just silly. If the bug is important to you, report it in a thorough manner.
  • If the bug is a true show-stopper (a term that is much over-used, in my opinion), then find a work-around. There are always other ways to express what a program should do. Rarely is a bug so serious that you can - in good faith - throw your hands up in the air and claim defeat. A professional programmer looks at this as an opportunity to distinguish themselves. If you code the work-around in a non-intrusive way, you can remove it easily when the vendor does fix the problem.
  • If you have source code for the library, debug it. It will help you understand exactly what the bug is, and hopefully, help you down the road by preventing you from making the same mistake. This can also help in bug reporting and finding a work around.
  • If you don't have source code, you can still make assumptions about what part of the black box isn't working and write a test case to prove that. If your assumptions are wrong, modify the test case.
While bugs are an inevitable fact of life, it's how you deal with them that truly defines what kind of programmer you are. Everyone has deadlines, but taking time out of your schedule to work with your vendors to resolve problems is part of your responsibility as a professional programmer.
Tuesday, March 23, 2004 9:30:00 AM (Central Standard Time, UTC-06:00)  #    Comments [6] -

 Wednesday, March 17, 2004
I've been playing with ObjectSpaces (OS) lately. I like the idea and the implementation is pretty good. The main limitations I see are:
  • For the foreseeable future, it will only talk to MSSQL (and it's various flavors). If they're writing an Object Persistence Framework (OPF), shouldn't someone have mentioned that they should probably abstract out the DB-specific stuff? I understand this is 1.0, but please, that is so limiting that it almost makes OS unusable. Do I really want to have DB lock-in to MSSQL? I don't think so.
  • It is tied to Whidbey. With the delay shipping Whidbey, this means that we won't see a production-capable version of ObjectSpaces until Q1 of 2005! That is a long time to wait to get OPF. Microsoft should find a way to unbundle certain pieces of the PDC preview - such as ASP.NET 2.0 and OS - and deliver them on a schedule that is independent of an IDE release.

At any rate, here is some good material to help get up to speed on OS:

I plan on writing some articles detailing my experiences (good and bad!) with OS, discuss alternative OPFs, including ECO (available in C#Builder and Delphi 8), and flesh out some best practices when using this kind of technology.

Wednesday, March 17, 2004 2:16:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Delphi
Navigation
Archive
<April 2004>
SunMonTueWedThuFriSat
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Dan Miser
Sign In
Statistics
Total Posts: 305
This Year: 20
This Month: 1
This Week: 0
Comments: 601
All Content © 2008, Dan Miser
DasBlog theme 'Business' created by Christoph De Baene (delarou)