×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
 
Kelly Cookson wrote:
A nice feature of running PHP as an interpreted language is the flexibility in variable typing. Variable type in PHP depends on context. You don't get that when you compile a program. Compiled programs require that you define variable types in advance and they can't change. 
  
I'm staying out of this from a pure "Why use PHP?" standpoint, because 
everybody knows my opinion.  But this is an excellent observation and 
one which really touches the core of my beliefs in programming.
Dynamic typing is the nuclear medicine of programming.  In very specific 
situations under rigorously controlled conditions it can do a couple of 
things that no other technique can do.  It is, however, extremely 
dangerous and should be used only by highly trained professionals.
Unfortunately, the folks who most want to use it are often the ones 
least qualified.  And that's when you get into incredible pain and 
suffering.  In Java, I know that a field of type Customer contains a 
Customer object.  And even in RPG, I know that a 6.0 field is not going 
to contain an email address.  In dynamically typed languages, all bets 
are off.  And when you combine that with ADGA (Agile Development Gone 
Awry), you end up with code where it's nearly impossible to tell what is 
in a variable at any given time.
Careful, careful attention paid to variable naming and strict coding 
standards can ameliorate some or even most of the problems, but very few 
shops have such standards, and RPG shops in particular tend to have 
nothing in place for their PHP development.  And the time it bites you 
is when you find yourself with an unexpected error in a not-particularly 
well commented program where you're not even sure what's supposed to be 
in the variable that's causing the error.  Add to that the fact that 
most scripting languages have very little in the way of solid impact 
analysis and that's why they fare much better in prototyping and proof 
of concept than in production development.
Dynamic typing makes it easy to throw together stuff quickly, but it 
doesn't really get aroudn the maxim that you can have something done 
fast or well, but not both.  That's why static typing is 60% of 
programming today and gaining share.
Joe
As an Amazon Associate we earn from qualifying purchases.