• 0

OOP object oriented programing - web development


Question

I do not know much about programing but it seems that it will be my career in the next years for some reasons.

I read that OOP is a plus before start programing.

Goggle make it difficult due to zillions of search result.

I'd like to know what OOP part I should know if I am gonna dig into web development (php based).

13 answers to this question

Recommended Posts

  • 0

There isn't a "part" of OOP that you should know, you need to know the whole concept. Think of OOP as a programming theory or "law." Its a concept that was designed to make programs easier to write and manage by creating reusable code, and many modern languages implement it or force it (Java.)

I would recommend learning the basics of programming/PHP before diving into OOP concepts. I.E. Learn about variables, loops, functions, etc.. (if you haven't already)

A good book after you know a good deal about how PHP works, "PHP Object-Oriented Solutions" by David Powers.

  • 0

PHP is one of the worst languages to wrap your head around OOP and programming in general. There's too much inconsistencies and structure problems. Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), but I wouldn't start with it. Stay away from PHP as a learner.

  • 0

PHP is one of the worst languages to wrap your head around OOP and programming in general. There's too much inconsistencies and structure problems. Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), but I wouldn't start with it. Stay away from PHP as a learner.

I couldn't agree more. PHP is the go to language for web development, but learning OOP with it is a nightmare. However, PHP 4.4 and 4.5 have made good strides. Learning a language like Java first, would give you a very strong foundation of OOP.

  • 0

There isn't a "part" of OOP that you should know Thanks for the tip.

you need to know the whole concept. hum ... please more details about this statement :)

Think of OOP as a programming theory or "law." Its a concept that was designed to make programs easier to write and manage by creating reusable code, and many modern languages implement it or force it (Java.) Please I do not understand completely :)

I would recommend learning the basics of programming/PHP before diving into OOP concepts. I.E. Learn about variables, loops, functions, etc.. (if you haven't already) I did tried to study php but found terms such these you already mentioned that I do not understand and when I goggled for it more I've found many mentioned that it is part of the OOP and this is the reason for my post here.

A good book after you know a good deal about how PHP works, "PHP Object-Oriented Solutions" by David Powers. Ok, I will goggle for it. But please I have a problem with learning php.

PHP is one of the worst languages to wrap your head around OOP and programming in general. Please more information about this statement too because I've found that most CMS nowadays like Drupal, Joomla, Wordpress are using php.

There's too much inconsistencies and structure problems. I think this is a ibit advanced for me to understand.

Of course, one can dream to make it all right by making one's own layer on top of it (which mostly everyone at least attempts to do, with variable degrees of success), Adavced too.

but I wouldn't start with it. Stay away from PHP as a learner. Please advise what shall I do then?

It is probably best to understand the basics of procedural programming. Until you've fought with that, learning OOP might be lost on you.

I read this excellent book years ago on OOP in PHP 5: PHP 5 Objects, Patterns, and Practice

Ok, I will check it also and read it :)
I couldn't agree more. PHP is the go to language for web development, but learning OOP with it is a nightmare. However, PHP 4.4 and 4.5 have made good strides. Learning a language like Java first, would give you a very strong foundation of OOP.

And will it be logically to go for java 1st then php?
  • 0

Inconsistencies of PHP:

* OOP is not fully realized, big part is still procedural, so it's a mixed bag

* Procedural part has many naming conventions - something that OOP is supposed to fix

* Returned values mean one thing for this function and another thing for other function

* Parameter order is ambiguous for some functions, of the same group

* In attempt to go OOP now there's too many ways to do the same thing

Different clients (browsers), different web-servers, different settings, different PHP versions - it all takes the toll. Also, security is of utmost importance and is often neglected.

Most web content management systems are more or less structured collections of wrappers around all these troubles of PHP. They do it for you. And also troubles of XHTML and Javascript (and jQuery), so you don't have to bother. You can use them to build sites right away - it's meant to be easy. But sooner or later you'll have to fix something underneath and, therefore, understand what's underneath, too.

If you just want to take a stab at it, some might argue that understanding OOP isn't even necessary - in most cases all code ends up being unmaintainable clusterfsck, anyway, so just go with it.

If you do want to understand OOP, perhaps consider Ruby. It's a kind of a hipster language, that, but at least it has OOP principles at its core.

Other options are Java and C#. They are universal, more robust than any single web-oriented thingamajig will ever be.

Go Java if you lean towards Android, for example. Go C# if you lean towards larger wallet *cough*

And in any case, I'd suggest Code Complete: http://www.amazon.co...n/dp/0735619670

  • 0

I'd start with Java, it's an easy language that gets you going with Object-Oriented Programming pretty fast.

In September 2011 I started my uni course in software development, the first thing we did was Object-Oriented Programming in Java. It's a great way to learn to program, and after you know OOP you probably wouldn't want to do anything else. I'm sure I don't.

We've now been doing OO PHP and whlie it was awkward at first you get used to it.

  • 0

You mean I should learn c++ 1st ?

No. C#. C++ is problably one of the best languages but requires a steep learning curve while C# doesn't (note that you might lose some things along the way...)

I'd start with Java, it's an easy language that gets you going with Object-Oriented Programming pretty fast.

I completely disagree and its people like you that keep putting these ****ty programmers out (Its not against you personally Ambroos as I understand you just want to help the OP)

Java needs to die. Its one of the worst languages in the world. Id recommend C++'s steep learning curve before Java.

  • 0

Object-oriented programming and web development are orthogonal concepts. The web is a platform (like Windows or Android) with its set of tools, languages and rules. Object-orientation is a general programming technique that revolves around types. You can learn one without the other.

The biggest two web programming languages, Javascript and PHP, don't lend themselves to OOP very well however. If you want to properly learn OOP you should learn a classical OO language such as C#, Java or Python. These are general-purpose languages that are used for web development but not exclusively.

C++ would be a poor choice as it's not typically used for web development and is not a good example of an OOP language. It has all sorts of quirks that no other language has like multiple inheritance, private/protected/virtual inheritance, static polymorphism, etc.

  • 0

You're all making this sound more complicated than it is.

The most important thing to know is: coding isn't as hard as people make it out to be. Don't be intimidated. Once you know one language, its easy to learn another. Its easy to go from C# to PHP to JavaScript to VB. May take learning a few extra things to get C++ but that won't take long either.

OOP isn't a complicated theory or philosophy or paradigm or methodology whatever else, it just means coding using objects. Objects meaning representations of information, just like you'd expect it to mean.

The reason OOP makes things easier is because it structures your code, instead of being one big long mess, that's all. Just like you'd expect -- representations of information organize them versus leaving them organized.

In choosing a language to start learning, just choose a language that is more pleasant to use, over one that's more useful. PHP is useful for web development, it isn't the most pleasant to use, that's all. C# or Java. Universities will teach in Java over C# mainly because its cross-platform and they don't want to use proprietary tech, that's all. I think C# is better.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Apple is expanding Private Cloud Compute beyond its own data centers by Pradeep Viswanathan At WWDC 2026, as part of the improved Apple Intelligence capabilities, Apple today announced that it is expanding Private Cloud Compute (PCC), its privacy-focused cloud infrastructure for Apple Intelligence, beyond its own data centers for the first time. Private Cloud Compute was designed to handle Apple Intelligence requests that are too complex to run fully on-device. The PCC system does not store user data and does not allow Apple or anyone else to access user requests. Last year, Apple also expanded its Security Bounty program with rewards of up to $1 million for researchers who could find serious vulnerabilities in PCC. Until now, Apple's PCC data centers were using Apple's own silicon. As part of the expansion, Apple is working with Google and NVIDIA to run new Apple Intelligence workloads on Google Cloud systems powered by NVIDIA GPUs. Apple will be using this new infrastructure to execute more demanding AI tasks while maintaining the same privacy and security guarantees of PCC. The new implementation uses NVIDIA Confidential Computing with NVIDIA GPUs, Intel CPUs with TDX, and Google’s Titan chip. Apple says it has worked with Google to build additional protections beyond a traditional confidential computing deployment. Despite the expansion to third-party data centers, Apple claims that its core PCC requirements remain unchanged, including stateless computation, no privileged runtime access, non-targetability, and verifiable transparency. The company highlighted that it will continue to control the PCC software stack, and Apple devices will only trust PCC software that has been cryptographically approved by Apple. To take security to the next level, Apple mentioned that it is maintaining an append-only ledger of Google Cloud hardware that is part of the PCC fleet. The company claims this will help reduce the risk of supply chain attacks. In addition to AI infrastructure, Apple also worked with Google to use technologies behind the Gemini family of models to build the next generation of Apple Foundation Models to power Apple Intelligence features across on-device and cloud workloads. As expected, for more demanding AI tasks like agentic tool use and complex reasoning, Apple will rely on the expanded PCC infrastructure running on Google Cloud. The expansion of PCC on Google Cloud will gradually ramp toward the full set of protections during the summer preview period. As before, Apple will also publish binaries for public inspection, provide research tooling, and give researchers access to live PCC nodes in research mode through the Apple Security Bounty Program.
    • my problem with outlook (new) is that it connects only to outlook.com. all connections to external providers goes through there. Got your mail server and want to use imap directly? no way... it adds a connector on outlook.com. last bug; if your email on an external provider if the same as principal email of your microsoft account, it doesn't work...
    • It's the only reason I finally have an iPhone (for work) and enjoy using it so much that I'm tempted to move from android next time I need to replace my own device
    • So is Russia, China, Iran, North Korea, just to mention a few. What's your point? Everyone is a threat from their enemies' perspective. I'd say that Israel is only a threat to their immediate enemies like Hamas, Hezbollah and the Iranian regime, not to anyone else.
    • The government is not the good guy either. You propose 99% of people require that the government overreach and govern their freedom of information and privacy, while ignoring the government is made up 100% of people, of which 99% are (as you described) brain dead. You can't have both. The reality is Signal is absolutely right and the government is doing what it has always done. Ignoring that we are their boss and grabbing all the power they possibly can to make sure we aren't. Your (societies) ###### parenting is not reason enough as to why I can't have a safe platform for my data/information. Thinking the government is helping is precisely what they are targeting psychologically to take suckers like you for a ride. "Think of the children" was, has, is, and will always be a mechanism of control. In the rare occasion it's actually essential the mass consensus has always been there and it doesn't become a debate.
  • Recent Achievements

    • Very Popular
      Captain_Eric earned a badge
      Very Popular
    • One Month Later
      amusc earned a badge
      One Month Later
    • One Month Later
      DJC50PLUS earned a badge
      One Month Later
    • Week One Done
      DJC50PLUS earned a badge
      Week One Done
    • Proficient
      Eric Biran went up a rank
      Proficient
  • Popular Contributors

    1. 1
      +primortal
      509
    2. 2
      PsYcHoKiLLa
      222
    3. 3
      ATLien_0
      92
    4. 4
      +Edouard
      86
    5. 5
      Steven P.
      81
  • Tell a friend

    Love Neowin? Tell a friend!