[ACCEPTED]-4D - is it any good?-4d-database

Accepted answer
Score: 26

4D has been around for a long time (~25 18 years), so it's much older than e.g. MySQL. Think 17 of it as a professional version of Microsoft 16 Access: It has its own Pascal-inspired host 15 language, its own relational database engine, a 14 very mature IDE for rapid GUI development 13 and a custom runtime which allows for true 12 "write once, run anywhere" (anywhere being 11 Mac OS (X) and Windows, that is). Nowadays, it 10 also understands SQL, there's a server version 9 and even an integrated web server. It's 8 fairly powerful, so the comparison to Access 7 probably does not do it justice.

Today, I 6 believe it's mostly used for legacy apps 5 which are as old as 4D is. I don't think 4 I would learn it again today, much less 3 start new projects with it, since you can 2 get the same functionality and then some 1 by stacking up open source components.

Score: 15

I used to do some very serious 4D work, one of the systems I wrote is 49 still in use as an enterprise system about 48 16 years later. I got frustrated because 47 they were taking years to come out with 46 the new object-oriented version of the language 45 and I was writing thousands of lines of 44 code to use a third-party table control.

4D 43 delivers cross-platform, very high-performance 42 client-server systems using a proprietary 41 server. The database model is much more 40 set-oriented than SQL and pulls the sets 39 all the way into the core language. It does 38 a nice job of delivering code to the clients 37 because it compiles all procedures to native 36 code which is cached locally and updated 35 on-demand when it is out of date.

The language 34 and GUI environment have their quirks but 33 the flip-side is that there will probably 32 be a good living to be made from supporting 31 it as a legacy platform. if you can get 30 someone else to pick up the tab for the 29 tools, it may be a useful addition to your 28 consulting toolbox. You have to consider 27 how much business-specific code is gonna 26 be out there for a unique product with that 25 long a history!

An engineer for whom I have 24 huge respect was recently hired by 4D which 23 says a lot about their commitment to the 22 future, hiring this kind of guy.

I've been 21 working a lot with legacy systems recently, doing 20 a port from old Mac stuff to WPF and the 19 contrast between the mostly-unused complexity 18 of Visual Studio and old Mac tools reminded 17 me of 4D. I'm also porting my OOFILE C++ database and reporting frameworks to REALbasic - the OOFILE set-oriented 16 operations came directly from what I loved 15 about 4D and this too made me think I was 14 too harsh in this answer originally.

The 13 thing to remember about 4D is that it was 12 set-oriented from the beginning (written 11 by a mathematician) and much easier to use 10 for many things than SQL. The deployment 9 model of 4D Server is a superb combination 8 of desktop app and network provision - compiled 7 components are cached on the server and 6 automatically sent to a client when needed. There's 5 no need to shutdown or actively push or 4 deploy updates. The GUI model of 4D was 3 frustrating but looking at the site today, they 2 have solved most of the issues that I had 1 to use third party solutions for years ago.

Score: 10

Avoid it like the plague. My company uses 5 it and it's just a constant exercise in 4 frustration. It performs no where near 3 as well as the sales pitch would have you 2 believe, and documentation is either non-existent 1 or not helpful.

Score: 8

In my opinion, there is no reason to begin 25 learning 4D unless you want a simple database 24 app and are unable or unwilling to learn 23 how to create GUIs in a bigger language. The 22 main advantage that 4D has is that the built 21 in functionality between the UI and the 20 database can handle most of what is needed. If 19 you want something quick, small, and inhouse, you 18 can get by with 4D but if you need to develop 17 a powerful commercial application you will 16 run into a few walls. If you need something 15 that 4D doesn't provide automatically it 14 will be very difficult to get it working.

I consider 13 the language completely archaic. It works 12 for what it does but our product has become 11 limited by the language and database itself. We 10 keep running into weird quirks and have 9 to code our way around them.

I have experience 8 in 4D 2003 and 2004 but we haven't upgraded 7 to the latest version because of the costs. It 6 is extremely expensive. Each customer needs 5 to buy licenses for each computer that needs 4 to run the software. Our product costs over 3 $1000 for a new office because of the licenses. When 2 a new version of 4D is released every single 1 customer has to pay to upgrade their licenses.

Score: 6

After looking at https://www.4duk.com/products/ataglance.html, I'd recommend you stay 6 clear - it looks like one of those products 5 that's going nowhere.

It reminds me of the 4 time I was made use a development platform 3 called Witango - absolute nightmare to use, and 2 all apps had to be rewritten in .NET very 1 shortly afterwards.

Invest your time learning something more mainstream/employable.

Score: 6

Avoid at all cost. 4D used to be a good 7 Mac database twenty years ago but is obsolete 6 today. Extremely expensive to deploy and 5 poorly supported. I have used it for many 4 years and have since moved to Real Studio 3 for cross-platform database development, which 2 has a more modern language and a far more 1 active developer community.

Score: 5

I'll be wary of investing too much into 4 something like this. On the good side, if 3 that's what your company uses learning it 2 will pay dividends. But the skills you learn 1 will be hard to use in other places.

Score: 2

I think more than half the replies over 25 here are inaccurate. I know of more than 24 20 companies with over 1000 users. And I 23 believe there are a lot more.

With 4D v12.1 22 (www.4d.com) you can easily deploy at the 21 click of a button for single-user, client 20 server, Mac, Win. And there are easy to 19 setup plugins for integration with Flex, iPhone 18 and Android OS. Their KB and documentation 17 is very neat and comprehensive.

They have 16 a great engineering team and the support 15 from 4D and the online community is just 14 fabulous. I have been using 4D for several 13 years and I have no complaints.

4D as someone 12 else pointed out gives you a fully integrated 11 backend database and frontend. The client 10 server connections are stateful so you dont 9 need to worry about record handling and 8 client server session handling.

At less than 7 $1000 per year it is not expensive and you 6 can deploy unlimited single user apps. Which 5 other propreitory development platform gives 4 you that?

I am sure Real Software has its 3 Pros and Cons too. There are many choices 2 nowadays and there are many ways to skin 1 a cat.

More Related questions