PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > comp.lang.php > Furthering my education in OOP - where/how can one learn professional skills?
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
Furthering my education in OOP - where/how can one learn professional skills?

Réponse
 
LinkBack Outils de la discussion
Vieux 07/11/2007, 14h11   #1
firewoodtim@yahoo.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Furthering my education in OOP - where/how can one learn professional skills?

I need some in furthering my education in OOP. I have developed
a set of PHP scripts that I use in a fairly sophisticated database
driven website, but I am not proud of the rather amateurish
programming that I used to create the functionality. Although I use
classes and objects to organize my data and their related functions,
it seems to be only marginally better than plain procedural
programming. For example, I do not use inheritance, much less
polymorphism.

The next step, it seems to me, is to become much more skilled in
analyzing a program from an OOP point of view and learning the
techniques for organizing the structure of the scripts and how to
implement them in a website. In other words, I want to move from
amateur to pro in terms of both career and technique.

Can someone point me in the direction of the right schools(online),
books, websites, example code, or other assets that I can use to
learn?

Also, is PHP the best language to use to learn and implement the full
power of OOP? If not, any suggestions?
  Réponse avec citation
Vieux 07/11/2007, 15h36   #2
Rob
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professional skills?

On Nov 7, 2:11 pm, firewood...@yahoo.com wrote:
> I need some in furthering my education in OOP. I have developed
> a set of PHP scripts that I use in a fairly sophisticated database
> driven website, but I am not proud of the rather amateurish
> programming that I used to create the functionality. Although I use
> classes and objects to organize my data and their related functions,
> it seems to be only marginally better than plain procedural
> programming. For example, I do not use inheritance, much less
> polymorphism.
>
> The next step, it seems to me, is to become much more skilled in
> analyzing a program from an OOP point of view and learning the
> techniques for organizing the structure of the scripts and how to
> implement them in a website. In other words, I want to move from
> amateur to pro in terms of both career and technique.
>
> Can someone point me in the direction of the right schools(online),
> books, websites, example code, or other assets that I can use to
> learn?
>
> Also, is PHP the best language to use to learn and implement the full
> power of OOP? If not, any suggestions?


Although I hate to say it, C#.Net is probably the best way to learn
OOP at the moment, as it pretty much forces you to write code in
the .Net way.

Personally, I couldn't get on with it at all. You needed 20 lines of
code where PHP requires just one. But, all the accomplished .Net
programmers I've worked with say it's the best thing since sliced
bread.

As far as professional certificates go, a lot of people seem to go for
the Zend courses, but I'm not sure if you can do them from home.

Rob.


  Réponse avec citation
Vieux 07/11/2007, 17h39   #3
Rik Wasmus
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professional skills?

On Wed, 07 Nov 2007 16:36:02 +0100, Rob <ratkinson@tbs-ltd.co.uk> wrote:
> On Nov 7, 2:11 pm, firewood...@yahoo.com wrote:
>> I need some in furthering my education in OOP. I have developed
>> a set of PHP scripts that I use in a fairly sophisticated database
>> driven website, but I am not proud of the rather amateurish
>> programming that I used to create the functionality. Although I use
>> classes and objects to organize my data and their related functions,
>> it seems to be only marginally better than plain procedural
>> programming. For example, I do not use inheritance, much less
>> polymorphism.
>>
>> The next step, it seems to me, is to become much more skilled in
>> analyzing a program from an OOP point of view and learning the
>> techniques for organizing the structure of the scripts and how to
>> implement them in a website. In other words, I want to move from
>> amateur to pro in terms of both career and technique.
>>
>> Can someone point me in the direction of the right schools(online),
>> books, websites, example code, or other assets that I can use to
>> learn?
>>
>> Also, is PHP the best language to use to learn and implement the full
>> power of OOP? If not, any suggestions?

>
> Although I hate to say it, C#.Net is probably the best way to learn
> OOP at the moment, as it pretty much forces you to write code in
> the .Net way.


My mother thaught me to stay away from sharp objects :P

> Personally, I couldn't get on with it at all. You needed 20 lines of
> code where PHP requires just one. But, all the accomplished .Net
> programmers I've worked with say it's the best thing since sliced
> bread.


Every tool at a developers exposal has its place. A multiuser,
rightscontrolled projectmanagment tool might very well benifit from some
OO. A simple contact form on your webpage hardly requires an a total MVC
framework. .Net is hardly my thing, though it has its uses. Creating an
intranet environment generating files/templates for MSOffice is a lot
easier for instance.

> As far as professional certificates go, a lot of people seem to go for
> the Zend courses, but I'm not sure if you can do them from home.


I'm not sure what courses Zend offers, there may . Rest assure that Zend
certification is totally useless though. I have yet to meet a possible
employer or client who has heard of it, never mind asks for it. The level
of skill required to get the certificate as low as it is
--
Rik Wasmus
  Réponse avec citation
Vieux 07/11/2007, 19h47   #4
Darko
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professional skills?

On Nov 7, 4:36 pm, Rob <ratkin...@tbs-ltd.co.uk> wrote:
> On Nov 7, 2:11 pm, firewood...@yahoo.com wrote:
>
>
>
> > I need some in furthering my education in OOP. I have developed
> > a set of PHP scripts that I use in a fairly sophisticated database
> > driven website, but I am not proud of the rather amateurish
> > programming that I used to create the functionality. Although I use
> > classes and objects to organize my data and their related functions,
> > it seems to be only marginally better than plain procedural
> > programming. For example, I do not use inheritance, much less
> > polymorphism.

>
> > The next step, it seems to me, is to become much more skilled in
> > analyzing a program from an OOP point of view and learning the
> > techniques for organizing the structure of the scripts and how to
> > implement them in a website. In other words, I want to move from
> > amateur to pro in terms of both career and technique.

>
> > Can someone point me in the direction of the right schools(online),
> > books, websites, example code, or other assets that I can use to
> > learn?

>
> > Also, is PHP the best language to use to learn and implement the full
> > power of OOP? If not, any suggestions?

>
> Although I hate to say it, C#.Net is probably the best way to learn
> OOP at the moment, as it pretty much forces you to write code in
> the .Net way.


If you hate to say it, then don't say it I know it is an expected
behaviour here
at comp.lang.php to go around saying how Microsoft's products are bad
and how all the
rest is great, but I'm not trying to do that since I try not to be
emotionally related to
something I consider only my job.

But I had some experience with C#.NET in web programming, and I must
say it only distanced me
from real programming. Like Wasmus already mentioned intranets, that
was exactly what I was working
with, and maybe because I'm "I have to know how it works in details"
fan, I hated it. The thing I was
working with most of the time was Visual Studio's design environment,
clicking on objects and
setting its properties, creating SQL connections as they call it,
relating them with data views etc.
since they try to make non-programmers programmers. I really don't see
a problem typing a few lines of
code for sake of knowing where my bug can happen to be, instead of
drawing in Visual Studio expecting it
to do most of the work for me. OK, then you enter the source and meet
those famous "phases" (I don't remember
exactly how they called them) through which the page gets until
finally parsed on the screen, where you
have to be REALLY aware what you may and what you must not put in each
"phase", which is all mentioned
in very detailed MSDN's "documentation" and is the #1 source of
bugs .NET-wise.

So, if the topic starter needs to be _forced_ to make all in classes,
then he/she can use Java. I don't
really see the reason for that since, like Wasmus said already, it is
a little bit silly to make
contact forms or other small pages with objects. There is place and
time for everything, so that's exactly
PHP (and C++, for example) philosophy - use OOP if you need it, don't
use it if you don't need it. It is
only an important thing to be able to notice that you need it, which
is another story.

I think PHP is quite enough to learn OOP, though e.g. I learned it
from C++, then Java, then PHP.

As for schools, etc. I don't know how old topic starter is, but if
they haven't outgrown college, this
is probably the best place for it. As for out of college schools,
online, tutorials etc. then it's probably
reading other people codes + experience + everything else. I don't
remember I've seen lately any good documents
online that teach *good* and involve practicing various OOP techniques
etc, except for various Design patterns
tutorials which you must make sure you've read.
http://en.wikipedia.org/wiki/Design_Patterns
http://www.csis.pace.edu/~bergin/patterns/ppoop.html
http://www.phpkitchen.com/index.php?...n-Pattern.html
etc.

  Réponse avec citation
Vieux 07/11/2007, 19h58   #5
Jerry Stuckle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professionalskills?

firewoodtim@yahoo.com wrote:
> I need some in furthering my education in OOP. I have developed
> a set of PHP scripts that I use in a fairly sophisticated database
> driven website, but I am not proud of the rather amateurish
> programming that I used to create the functionality. Although I use
> classes and objects to organize my data and their related functions,
> it seems to be only marginally better than plain procedural
> programming. For example, I do not use inheritance, much less
> polymorphism.
>


OK, so you've been doing object-based programming (instead of object
oriented programming). It's a good start, and where most people begin.

> The next step, it seems to me, is to become much more skilled in
> analyzing a program from an OOP point of view and learning the
> techniques for organizing the structure of the scripts and how to
> implement them in a website. In other words, I want to move from
> amateur to pro in terms of both career and technique.
>


That in itself requires years of work to become really adept. Even the
basics can get overwhelming at times. But it's easier if you start out
on small projects and work your way up.

Some of the things, like the organizing of scripts, are not really part
of OO (true OO designs are language-independent). But common sense
generally prevails here.

> Can someone point me in the direction of the right schools(online),
> books, websites, example code, or other assets that I can use to
> learn?
>


I haven't checked lately, but you might search amazon.com for books on
UML. There are several listed with good reviews. It's the most common
OO design technique used today amongst professionals.

But bear in mind you don't necessarily have to do a complete UML design
on everything. Many things will eventually come more naturally.

> Also, is PHP the best language to use to learn and implement the full
> power of OOP? If not, any suggestions?
>


My recommendation would be Java. It forces you into an OO framework and
supports all of the features of OO. Other languages like C++ support
OO, but allow you to write non-OO code, also. And it's easy for a
beginner to fall back into the using structured programming techniques.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

  Réponse avec citation
Vieux 07/11/2007, 23h24   #6
NC
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professional skills?

On Nov 7, 6:11 am, firewood...@yahoo.com wrote:
>
> I need some in furthering my education in OOP.
> I have developed a set of PHP scripts that I use in
> a fairly sophisticated database driven website, but
> I am not proud of the rather amateurish programming
> that I used to create the functionality. Although
> I use classes and objects to organize my data and
> their related functions, it seems to be only marginally
> better than plain procedural programming.


In fact, it is probably worse than procedural programming; using OOP
creates substantial overhead (initializing objects requires CPU cycles
and memory that would not be used if the code were procedural).

> The next step, it seems to me, is to become much more skilled in
> analyzing a program from an OOP point of view and learning the
> techniques for organizing the structure of the scripts and how to
> implement them in a website. In other words, I want to move from
> amateur to pro in terms of both career and technique.


If you want to do it in PHP, you need to start by learning the limits
of OOP. PHP developers often face a trade-off between development
time and application performance; code developed quickly (usually,
using an object-oriented framework) requires more system resources to
run, while code that runs fast has to stay away from all kinds of
abstraction, including OOP.

> Can someone point me in the direction of the right schools(online),
> books, websites, example code, or other assets that I can use to
> learn?


Read up on patterns. Note, however, that these days, most books on
patterns are written with Java in mind.

> Also, is PHP the best language to use to learn and implement
> the full power of OOP?


Definitely not. PHP is the best language to learn deficiencies of
OOP.

> If not, any suggestions?


C++ and Java.

Cheers,
NC

  Réponse avec citation
Vieux 08/11/2007, 04h29   #7
Jerry Stuckle
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professionalskills?

NC wrote:
> On Nov 7, 6:11 am, firewood...@yahoo.com wrote:
>> I need some in furthering my education in OOP.
>> I have developed a set of PHP scripts that I use in
>> a fairly sophisticated database driven website, but
>> I am not proud of the rather amateurish programming
>> that I used to create the functionality. Although
>> I use classes and objects to organize my data and
>> their related functions, it seems to be only marginally
>> better than plain procedural programming.

>
> In fact, it is probably worse than procedural programming; using OOP
> creates substantial overhead (initializing objects requires CPU cycles
> and memory that would not be used if the code were procedural).
>


Properly done, OOP does not create any significant overhead. After all,
even in procedural programming you should initialize your variables.

>> The next step, it seems to me, is to become much more skilled in
>> analyzing a program from an OOP point of view and learning the
>> techniques for organizing the structure of the scripts and how to
>> implement them in a website. In other words, I want to move from
>> amateur to pro in terms of both career and technique.

>
> If you want to do it in PHP, you need to start by learning the limits
> of OOP. PHP developers often face a trade-off between development
> time and application performance; code developed quickly (usually,
> using an object-oriented framework) requires more system resources to
> run, while code that runs fast has to stay away from all kinds of
> abstraction, including OOP.
>


PHP is not good for learning OOP. And OOP does not require any
significant additional resources, when done properly.

>> Can someone point me in the direction of the right schools(online),
>> books, websites, example code, or other assets that I can use to
>> learn?

>
> Read up on patterns. Note, however, that these days, most books on
> patterns are written with Java in mind.
>


Which isn't a bad language to learn OOP. It is, however, heavy on
resources. But that is the language - not OOP.

>> Also, is PHP the best language to use to learn and implement
>> the full power of OOP?

>
> Definitely not. PHP is the best language to learn deficiencies of
> OOP.
>


I agree it's not the best language to learn OOP. But that's because it
doesn't implement a proper OO model.

>> If not, any suggestions?

>
> C++ and Java.
>
> Cheers,
> NC
>
>



--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================

  Réponse avec citation
Vieux 08/11/2007, 04h36   #8
lawrence k
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Furthering my education in OOP - where/how can one learn professional skills?

On Nov 7, 9:11 am, firewood...@yahoo.com wrote:
> I need some in furthering my education in OOP. I have developed
> a set of PHP scripts that I use in a fairly sophisticated database
> driven website, but I am not proud of the rather amateurish
> programming that I used to create the functionality. Although I use
> classes and objects to organize my data and their related functions,
> it seems to be only marginally better than plain procedural
> programming. For example, I do not use inheritance, much less
> polymorphism.


Since you're posting to a PHP forum, I'm going to assume you've an
interest in scripting languages. So I would say you should study Ruby.
It's an elegant scripting language, and more fully OOP than PHP. If
you're focused on web related work, then study Ruby on Rails, which
is a framework for developing web site. It's a very intelligent,
elegant framework, with a graceful language that allows a high level
of abstraction.



  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 11h31.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,30077 seconds with 16 queries