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/