On Jun 22, 2011, at 7:19 PM, Peter Jakobsson wrote:

> Object oriented environments are 'nice' - especially when you're doing low 
> level development or writing games where you need to reproduce the same alien 
> on the screen 20 times with different behaviors.
> 
> But they're not so handy when it comes to writing high level objects in 
> business systems. The amount of redundant plumbing involved is massive.
> 

I'm sure not an expert on OOP, but after you use it a little, you dread going 
back to something else. I really don't consider 4D a "real" programming 
language, just some frenchman's premature wet dream.

        No precedence,based on numbers for everything (tables, field) with 
names as an after-though. Based on Pascal but a poor implementation($1,$2,$0). 
The whole structure thing with limited capability of doing programming in the 
large - can't do version control without major hoops. And a hole bunch of other 
things that probably have not changed much since silver surfer!

It just kind of proves you can write business logic in about anything. Maybe 
you should look at a few of the concepts being used in modern frameworks that 
builds the code from defining tests for your business logic.

I know it works - and I've actually used worse (AFOLDS Air Force On Line Data 
System). My major point referred to the Web use. If you need the client-server 
GUI, it works. Active4D makes using 4D almost bearable, but half the code I've 
seen in the pubic looks more like 4D code than what uses the tools and 
techniques Active4D provides.

> With well managed use of globals you can implement object based architectures 
> in 4D. They can be a lot more flexible than in many object oriented 
> environments simply because it's easier to evolve the delineations between 
> modules using naming conventions rather than formally declared structures.

Yea, naming conventions  $PageNum_i with putting typing in the name - always 
loved that Mob mentality that seems to be implanted by 4D programmers.

> 
>> Postgresql is free and will run rings around 4D.
> 
> 
> That's not really the point. Database engines are 10 a penny nowadays and 
> most applications use just a fraction of their capacity and diversity. What 
> matters is the completeness of the final solution. That's the main reason 
> many people chose 4D. None of the technologies you mention represent a 
> coherent development environment from top to bottom - for a start they are 
> all short of a either a front end or a back end that has to be purchased from 
> another vendor and 'welded' on.

I only have seen the code on about four 4D systems but it seems I see an awful 
lot of Area List Pro, Foundation, etc, etc -third party products that fix the 
missing things from 4D. Again, if you are doing the client server thing, that 
is your thing - but it could be done on the web. Look at Oracle products 
(financials) - although their code (a lot of bad javascript) sucks.
> 
> Secondly, they all use SQL as the query language - that fact alone justifies 
> the use of 4D for me. On a scale of 1 to 10 in terms of productivity, object 
> oriented language rates about 2 whereas getting away from SQL (which is a 
> user interface, not a programming language) rates about 9 IMHO.

Most modern frameworks only use SQL as a background language. Rails 
ActiveRecord is an example that mixes an object oriented language with SQL and 
you end up with something that is elegant and understandable.

        contact = Contact.where(:id => params[:id])   // get a record

        account = contact.Account.name  // get name of parent account

        addresses = contact.addresses // get an array of addresses
                addresses.each (|address] .....)


Again, my major point was - If you are just building a web application that 
does not have a bunch of employees using client/server to crunch numbers (or 
figured out how to put those processes on the web or a background process), 4D 
is a horrible choice IMHO. 

Steve





_______________________________________________
Active4D-dev mailing list
[email protected]
http://mailman.aparajitaworld.com/mailman/listinfo/active4d-dev
Archives: http://mailman.aparajitaworld.com/archive/active4d-dev/

Reply via email to