Borland Releases Kylix 2
Tal Cohen writes "Borland Kylix 2 is now available. Most new features are geared at Enterprise-level developers; the Open edition is still available for free download. The CLX (cross-platform component library) is covered under both GNU and Borland's license." The new features list is interesting - a fair number of buzzwords, but it also looks like they are supporting a lot of the new stuff. The white papers have some interesting topics - including gcc vs. Kylix.
I spoke to a Borland rep at a trade show 2 weeks ago. She told me the beta would be available early next year.
Please look at http://www.borland.com/kylix/ and notice the big "Delphi Compatable" button...
I started programming with TurboC and Turbo Assembler. I'm now using Builder 5. The drag'n'drop interface is very nice, as are the make files (which are XML,btw). Borland has always had very good compilers, and the STL they use is quite nice. They also ship printed documentation, for those of us who actually rtfm. As soon as they have the C++ version done (RSN for about a year now), I'll buy it.
Best Slashdot Co
They definitely don't make it easy to "register" for the download -- first they want all sorts of personal info that really shouldn't be required (phone #, street address, etc...) - THEN, if you don't fill out EVERY field (including those not marked as required), and say "YES" to all of the spam checkboxes at the bottom, their javascript form handler balks at you.
Not to mention that you *have* to have javascript enabled to even register...
I was going to check it out -- but I *refuse* to give them free reign to spam me by phone, fax, email, and snal mail for the privilege of doing so.
Yep. Lots of people are using this. Lots. DataSnap is the new term for what Borland previously branded as their MIDAS technology, but due to trademark collisions, yada yada...
DataSnap is based around a couple of classes:
1. a TClientDataset class, which is responsible for representing an in-memory dataset which can be persisted as XML and has the capability to record offline dataset changes and post them back to the data persistence layer when necessary.
2. a TDatasetProvider, which links a TClientDataset to a persistence layer, such as a RBMS such as Oracle, MySQL, Interbase, DB2, or even (gasp) MSSQL. There is also an TXMLTransformProvider that can act as a 2 way mapping layer from a dataset to an XML document.
3. A TCustomRemoteServer descendant which supplies the remoting capability - placing the TClientDataSet and the TDataSetProvider on separate machines. These components can provide connections via HTTP, vanilla sockets, CORBA, etc. There are also load balancing helpers to distribute the load.
And then there are the Web Services. Yep. That works too. It's SOAP, plain and simple.
We've got a DataSnap app deployed today, handling payroll data for ~1400 retail outlets. Heck, the TClientDataset class itself is worth the investment, even if you never build a n-tier system with it.
meh.
I've found exactly the same thing. I program in several languages, and Delphi definititly is the fastest compile time. The IDE is also nice and allows quick development time. Also has a good debugger. It's worth the investment of 1 or 2 days to learn pascal.
Kylix used WineLibs, not wine - which are different.
Wine is to run windows applications
winelibs are to link against winelibaries during compilation - ie, you have a windows application, and you want to compile it under linux - easier porting.
Yes, in Kylix 1 the IDE was sluggish.
Kylix 2 has less dependecy on WINELIBS, but it is still there. You can see postings on borlands news server - http://newsgroups.borland.com .
Hopefully K2 IDE will be alot faster.
I've been using Borland products since the early eighties, and the most I've gotten is a few mailings telling me about events in my area, product updates, and an occasional bit of free stuff. I typically tweek my address to catch/track spammers (e.g. misspell my name), and I've never had anyone else send me something using the address I gave Borland. In short, I'd trust them.
-- MarkusQ
Am I right in assuming that this is due to the equivalent of pre-compiled headers and overall better modularization than C(++) allows? Paraphrased: is it the compiler or the language that gives opportunity for these short compile times?
Sure, there are some things about Object Pascal that make it simpler to compile than C: no macro preprocessor, module info isn't contained in huge text files that need to be compiled over and over again, syntax is generally cleaner, and so on. But there are clones of Object Pascal and they don't get anywhere near the amazing compile times that Borland gets.
The big implementation wins, as best I can tell, are:
1. They removed the need for a traditional, general linker. Modules are written to disk in a very simple format, what seems to be a binary image that just needs a small bit of patching.
2. The compiler is simple recursive descent, without separate lexing and parsing phases.
3. Much of the core of the compiler is highly optimized, with much of the critical portion written in finely tuned assembly language.
The followin site has info
Jedi code
Actually, single pass compilation makes sod all difference. A pass to scan a parsed file for declarations might take 1% of your time if that. Putting all the declarations at the top is more of a Pascal convention for declaring your interfaces than anything else.
The main compilation-time advantages Pascal has over C/C++ are a simple, elegant langauge syntax, no complex preprocessor, general avoidance of header files, and the fact that modules ("units" in OP-speak) are almost always pre-compiled into a format that makes linking quick (these also double as pseudo-header files). Add to all that the fact that Borland are simply very good compiler writers.
Of course, you lose stuff from C++ that some people (including myself) use a lot such as macros, templates, multiple inheritance etc. Whether you actually need these is debatable, but their exclusion certainly makes for a clean language that is pretty beginner and maintainer friendly.
Last time I used Borland Pascal, it was also pretty good at stuff like dead-code elimination - not sure how GCC compares there.
- The distinction between functions and procedures (the language sports an artifical difference.) The lack of parenthesis in the declaration make it difficult to quickly visually spot functions.
That's not actually an artificial difference. The choice behind two reserved words for procedures and functions allows the language's grammar to keep its LALR form, which means you can compile it much much faster. The form of Pascal's grammar is one of the biggest reason it compiles so damn fast compared to C++: there is no operator ambiguity. The same goes for the ":=" operator.
- Operators, or the lack of them (no bit shifts, scope operator, namespaces?)
bitshifts operators: "shl" and "shr". You can apply "and", "or", "not", etc to bits as well.
Namespace: You can delimit namespace by prefixing the name of the unit. Example: MyUnit.TMyClass.Create works perfectly.
Language preference is just that, a preference, but I just wanted to explain some of the features which you seemed to dislike. =)
Regards,
"I remember Y1K, every abacus had to get another bead"