Jump to content
Larry Ullman's Book Forums
Sign in to follow this  
Christopher

Learn C# To Get A Better Understanding Of Oop, Then Learn Oo Php Become Easier?

Recommended Posts

Guys,

 

I want to get a better understanding of OOP, and start to learn C#(especially the OO part). I guess learning C# or Java will lay a solid foundation for OOP, after that if I want to use OOP in PHP, it would be much easier.

 

the modern history of OOP is C++ --> Java --->C#, these are the main languages for implement the idea of OOP, so I plan on choosing C#. (At the same, of course, I could read PHP OO and do some coding exercises.)

 

Any suggestions?

Share this post


Link to post
Share on other sites

Sorry for the delayed reply. Getting better with OOP is a great idea, as is learning more than one language. As for which language... Personally, I never took to Java. C++ is something I like, and C# is a good language, too. 

 

When pursuing new technologies, I try to think of what I'd do with it, which helps guide the decision. 

Share this post


Link to post
Share on other sites

Larry,

 

Thanks for the reply. I am learning C# because it's easier than C++, and C++ today is losing its ground in the IT industry. Also I will focus on C#, coz it's actually a modern version of Java.

 

What I'd do with C# is mainly two things:

1. Since I have being learning PHP(your book), JS(your book), CSS & HTML, I can later also use ASP.NET to create websites. And many concepts and skills that I learned from PHP suite will also serve ASP.NET;

2. I want to develop some mobile apps for iOS and Android, using C# Mono, because I am interested in mobile development too.

3. Because I love playing video games, in the future I might take a look at the game engine Unity 3d, which use C# or JS to develop.

 

Just feel that JS is becoming increasingly powerful, not a web font-end language anymore, but a general purpose script language.

Share this post


Link to post
Share on other sites

I don't really agree with you that C++ is losing ground. When performance is key, there's often no better suit than C++ or even C itself. Professional programmers are most likely using the language best suited for the job, and OOP is not always the perfect fit for everything. Especially in graphic intensive programs, like games, C/C++ is still going really strong. They still do teach C/C++ in universes here in Oslo, Norway, along with C# and Java.

 

I agree with you that learning a fully object-oriented language can be a good way to learn. I have a Java background myself, and it definitely made me a better programmer. That said, what really gave me some solid programming experience was learning about Algorithms and data structures. That is language-agnostic knowledge you can bring to every language you must write in. Design patterns is also one of those words that fly around from time to time. However, learning best-practices and having a solid understanding of how to solve most programming problems is invaluable in my experience. I'm not yet a professional programmer, but I'll be looking for jobs shortly.

 

To kind of summarize, I suggest you find a good book about Algorithms and data structures in your language of choice. If that's C#, I recommend you do that. Keep in mind that knowing that specific language itself won't help you in the long run, but learning how to program in general will. As I've said, I learned using Java, but have helped friends writing C# without any experience in the language. The reason why I've been able to do that is general programming knowledge.

  • Upvote 1

Share this post


Link to post
Share on other sites

I agree with Antonio. I don't have a Java background, but just through being indirectly exposed to Java on a daily basis at my current job, I have learned it very quickly because I understand key programming concepts (including OOP).

Share this post


Link to post
Share on other sites

Thanks for all the suggestions!

 

I know the importance of algorithms and data structures, and currently I allocate some time to 'read-code-debug' a algorithms book. The book uses Java, but it doesn't bother at all - after reading and coding the java code in the book, I do it again in C#(almost no change as it is almost evidential to Java) or C or PHP.

 

The mental training here is about 'thinking like a computer' or 'algorithmic thinking and problem solving', this is valuable no matter what programming one uses. I must master it now.

 

For OOP, I read C# book first, then read some relative chapter in OO PHP and I feel comfortable when following this sequence.

Share this post


Link to post
Share on other sites

Larry,

 

Thanks for the reply. I am learning C# because it's easier than C++, and C++ today is losing its ground in the IT industry. Also I will focus on C#, coz it's actually a modern version of Java.

 

What I'd do with C# is mainly two things:

1. Since I have being learning PHP(your book), JS(your book), CSS & HTML, I can later also use ASP.NET to create websites. And many concepts and skills that I learned from PHP suite will also serve ASP.NET;

2. I want to develop some mobile apps for iOS and Android, using C# Mono, because I am interested in mobile development too.

3. Because I love playing video games, in the future I might take a look at the game engine Unity 3d, which use C# or JS to develop.

 

Just feel that JS is becoming increasingly powerful, not a web font-end language anymore, but a general purpose script language.

 

I am using C# too for andriod development with MonoDevelop but i do have the option of using Java as well. But i do prefer the syntax of C# its generally easier to follow. I don't know which is better though never really done enough coding in either.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...