tags:

views:

729

answers:

12

Our business uses 4D as our database and dynamic web server (and has been for at least the last 8 years). I understand that 4D used to be rather big as a all-in-one solution for serving web applications on the Mac in the past, but I don't see evidence of much continued use of it nowadays. Everybody seems to have moved on to any combination of things like PHP, Ruby on Rails, MySQL, Postgres, .NET, SQL Server, and the like.

Our 4D developer says that 4D is still big and the best tool for the job, but I haven't seen any evidence of that.

Is 4D still alive and kicking? Is it still comparable to newer web technologies and database solutions?

Wikipedia: http://en.wikipedia.org/wiki/4th_Dimension_(Software)
Official Site: http://www.4d.com

+16  A: 

I never heard of 4D (this is mostly here for people to vote on) -- also, I have never heard of it.

Lou Franco
lol, never heard of them either.
Simucal
I'd love to know why this has so many up votes - it's not as if this is adding anything constructive.
middaparka
The original questioner is asking if 4D is big, and asking if there is any evidence. I only meant this answer as a place for people to express that they never heard of it so that the questioner would know that there were some of us here who never heard of it. I'm not just saying I don't know it, or don't use it -- but literally have never heard of it -- and doubt its "bigness" -- but not necessarily that it isn't a good tool.
Lou Franco
+14  A: 

It doesn't matter at all what the status of 4D is, the question you should ask yourself, is

"Is my developer producing what I need by using 4D ?"

If the answer is yes, then provided that 4D as a company still actively develop and support their product range (which they appear to), then all is sweet and you should be happy.

How often does your developer say, "Sorry, but we can't do that because of 4D?"

How often does your developer say, "Not a problem I can get that done by the end of the day/week".

Just remember a developer's worst nightmare is having to move away from a platform that they know inside out, for no valid technical reason, i.e. just because it's not flavour of the month...

Richard Harrison
Also worth remembering that, for *some* developers, their worst nightmare is moving away from a decrepit old antique that they know inside and out, *despite* there being a whole host of valid technical reasons to do so. They're rare, but those types do exist.
Sherm Pendley
Yup - that's our company in a nutshell!
neezer
+2  A: 

Never heard of it either. Sounds like ColdFusion: one of those proprietary all-in-one frameworks that no-one's ever heard of, that nevertheless enjoys an obscure following. In many ways, CF is hopelessly behind the times, but often it works and gets the job done. You might have a hard time finding another developer, if you ever have to, and you might have a hard time integrating with or migrating to other technologies. But either way, if it's working for you: great.

cadabra
my interest in the tool has been repiqued recently, too .. it's been around a loooong time: my dad's company was using it back in the good ole days of the Mac IIci machines :)
warren
+1  A: 

There are still some old school "Mac guys" out there, who feel threatened by the change to a Unix-based OS. They're scarce and getting scarcer, but there's a few of them still around. It sounds like your "4D developer" might be one of them, and trying to rationalize a decision that's based more on fear of change than on logic.

Sherm Pendley
+5  A: 

Obviously 4D doesn't have a large market share. My only concern would be if your unicorn of a 4D developer should ever leave, you will be stuck holding the bag on a non-standard database/webserver to maintain. Searching for a replacement developer might prove difficult.

I would want the peace of mind that I could select from many, many developers who know a popular platform should the need arise. If I needed to bring on more help or replace the current dev it wouldn't be a huge ordeal.

In many ways this developer is smart in securing his/her position ;).

Simucal
+2  A: 

4D is a very strong DB. They just release version 11 last fall and will be all over the place in the next few year.

You don't work for them by any chance?
Pies
+2  A: 

There are still quite a few dbs out there using 4D. I think it has a bigger footprint in Europe and asia. I have been a 4D developer for nearly 20 years. 4D has definitely moved up and I currently maintain some pretty decent size apps for several rather large clients on the west coast (windows, mostly).

I am very excited about RoR and been working on picking it up for the last few months. 4D uses standard SQL CRUD. I don't see why RoR should have a tough time communicating with 4D. With 4D's seriously well developed tools for back end reporting, seems like a very cool setup... anybody doing it?

it does seem to be a lot bigger in EMEA and APAC - then again, it's a French company :)
warren
+2  A: 

As Far as I know NASA, Boing, Auto Trader and many more big companies use 4D in their solution needs. There is a solid 4D developer community spread out all over the World. as a Gentlemen says up here; As long as you are happy with what you get with 4D, so it is a right platform for you. and you don't have to be concerned.

Check this web site out ; www.4dtoday.com

+1  A: 

4d may or may not be great (I don't know... but I doubt it "is still big and the best tool for the job," unless you are doing something super niche that 4d happens to be great at....), but if your business' local talent pool doesn't include 4D developers, you're in for a world of hurt when your developer decides to leave.

Giovanni Galbo
+3  A: 

8 years of development is a lot to throw away, as discussed by Joel Spolsky in Things You Should Never Do.

Maybe there is a migration path where new development can be done in a new environment but you don't have to rewrite the old stuff that has 8 years of knowledge in it and is providing business value.

Chris Latta
4D has enough quirky/productive unique takes on how to handle databases and do UI that migration from 4D is almost certainly a complete rewrite from the ground up, using the existing working system as a design guide only
Andy Dent
+4  A: 

I've been programming in 4D for about 3 years. I work on a 4D structure that has about 12 years of development -- thousands of methods and no documentation. We have about 3,000 daily users.

There are a lot of nice features in 4D. You can develop applications and prototypes very quickly because it is a high level 4th generation language. For small projects or projects with just a few programmers it can be easily managed.

Probably the biggest problem with 4D is managing a large project when all the programmers have to work on the same structure at the same time.

Another problem with 4D is the lack of documentation compared to other languages. There are no 3rd party books, training classes, seminars, etc. 4D has a "Knowledgebase" on their website and some sparse documentation, most of which is many years old as exemplified by the screen shots from mid 1990's Mac displays. The best book on 4D is out of print.

Another problem with 4D is the lack of source control. 4D has an integrated IDE with no source control mechanism. Imagine 8-10 developers working on the same file with no realistic way to checkin/checkout or merge source code. Bad habits are hard to break.

The new version of 4D, called v11, has support for SQL and has a new database engine. It supports 65,000 tables (not sure why you would want to use that many).

+2  A: 

To say 4D code is "a high level 4th generation language" is pushing it a bit. Syntacticly it's extremely close to Pascal.

Comparing it to other databases is usually tricky too as it's not "just a database" in as much as that it provides access to system resources such as client user's local filesystem for example. 4D is the user level application front end, as well as the DB level back end.

I'd say the closest like-for-like alternative is FileMaker.

The comment by D Porter about 4D putting in "the same file" is bang on the money. Everything non-data - all methods, functions, event handlers, user interface, users, groups, EVERYTHING is stored in one proprietary binary file.

I disagree. Yes the scripting language is close to Pascal but the set-oriented model and the high-level binding definitely puts it in the 4G category, speaking from a perspective of 25+ years development including several years doing big 4D systems
Andy Dent