Wrox Programmer Forums
Go Back   Wrox Programmer Forums > Wrox Announcements and Feedback > Reader Surveys
|
Reader Surveys Here is where you get to weigh in on specific questions from Team Wrox, and maybe even get a free Wrox book for your feedback.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the Reader Surveys section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
  #1 (permalink)  
Old May 20th, 2004, 03:53 PM
Authorized User
 
Join Date: May 2003
Posts: 34
Thanks: 0
Thanked 1 Time in 1 Post
Default What is the best language to learn OOP?

When learning Object Oriented Programming, what language is best used to illustrate concepts?
__________________
Chris Webb,
Executive Editor
  #2 (permalink)  
Old June 4th, 2004, 03:54 AM
Authorized User
 
Join Date: May 2004
Posts: 17
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via ICQ to myedu2k4
Default

I think the best language to learn Object Oriented Programming is Java.
This language contain all the charactor and the feature of OOP.

  #3 (permalink)  
Old June 4th, 2004, 09:34 PM
Friend of Wrox
 
Join Date: Sep 2003
Posts: 451
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via AIM to Ben Horne
Default

For starters, I think Javascript is the best way to go to learn Object Oriented Programming. Javascript has a pretty complex object hierarchy.

Ben Horne
Madison Area Technical College - Truax
3550 Anderson Street
Madison, Wisconsin 53704-2599


-------------------------
http://community.webshots.com/user/valerian114

"There are two kinds of people in the world: Those who claim to be Flash junkies and those who actually are Flash junkies"
  #4 (permalink)  
Old June 4th, 2004, 10:05 PM
Friend of Wrox
 
Join Date: Nov 2003
Posts: 1,285
Thanks: 0
Thanked 2 Times in 2 Posts
Default

I agree with Ben. Not only does JS have a complex structure, it is consistent and easy to learn.

Another great thing about JS: you need nothing but a web browser and a tutorial to get started. No downloads, no configuration, no nothing.

It also benefits the learner greatly in designing web sites, etc. It is very compatible with HTML, CSS, and web browsers, and there's no host that can't provide it.

Learning JS also contributes to learning programming server-side, with ASP (JavaScript).

Snib

<><
  #5 (permalink)  
Old June 6th, 2004, 05:20 AM
planoie's Avatar
Friend of Wrox
 
Join Date: Aug 2003
Posts: 5,407
Thanks: 0
Thanked 16 Times in 16 Posts
Default

I would have to respectfully disagree with Ben and Snib regarding JavaScript as "the" language to use to learn OOP. Javascript really doesn't have a complex object structure, it's the browser document object model that is complex. (And at that, it's really not that complex.) Furthermore, "JavaScript is an object-based but not object-oriented (it doesn't support inheritance or polymorphism) programming language..." (From this page.) You can simulate most of the features of an OOP language, but it's not true OOP code.

JavaScript really is the worse language I have used to write object oriented code. It lacks the vocabulary necessary to clearly define objects and their members. For someone who is not familiar with the theory of OOP, it seems to be to be a near impossibility to learn with JavaScript. Furthermore, JavaScript objects are "soft" objects. You can create new members on a javascript object (or a browser's document object model) simply by assigning a value to it. For example, take a browser textbox. There is nothing to stop me from doing this:

Form.txtEmailAddress.MyVeryVerboselyNamedProperty = "foobar";

This could make learning real OOP VERY confusing, because in a true OOP language, with hard objects, you can't do this.

If you are into theoretical studying, then a book on OOP theory would be the best place to start. Once you understand OOP theory, applying the knowledge becomes simply a matter of learning a language and its OOP syntax. I, however, find just reading theory fairly unproductive. My best learning technique is to just sit down and play with code to try things and see how they work. Doing so with a theory book is that much better.

With the much enhanced capabilities of the .NET platform, Visual Basic.NET is a very good language to use to put theoretical knowledge to good use. The language has a very intuitive vocabulary so that learning OOP techniques is not hampered by a language barrier. Examples of this are things like class derivation, interface implementation and member definitions:

Class Foo
    Inherits Bar
    Implements IFoo

    Public Function DoSomething()

    Public Property AValue

    Public Event
End Class

Once you have mastered the general ideas of OOP theory, applying those ideas in a new language becomes only a matter of translating to a different syntax.

In the past I have also learned much from wizard generated code. Using a class wizard to generate the shell of a class that contains methods, properties, events can be a good way to see the syntax necessary to create the members of a class.

Peter
-------------------------
Work smarter, not harder
  #6 (permalink)  
Old June 7th, 2004, 11:17 AM
Friend of Wrox
 
Join Date: Nov 2003
Posts: 1,285
Thanks: 0
Thanked 2 Times in 2 Posts
Default

Peter,

Now that I look back on my previous post, I see that there really is quite a jump between JS and OOP. JS is certainly quite simple and easy to learn compared to any .NET language or other OOP.

The closest thing it really has is the DOM, which is real small compared to Java, etc.

It's also quite limited because certain browsers only use certain methods, etc. and no browser has it all.

But, JS serves its purpose as a client-side web tool, without being an advanced language like what you're talking about.

So I suppose JS does not fit the definition of OOP completely. I suppose it might introduce OOP slightly, but it isn't really an OOP language itself.

Snib

<><
  #7 (permalink)  
Old June 7th, 2004, 09:41 PM
Friend of Wrox
 
Join Date: Sep 2003
Posts: 451
Thanks: 0
Thanked 0 Times in 0 Posts
Send a message via AIM to Ben Horne
Default

Right,

I guess if you're just STARTING to learn OOP stuff, JS would be a good place to start. Once you know a lot of stuff about JavaScript and you want to do more OOP-related work, I guess Java would be the way to go.

Ben Horne
Madison Area Technical College - Truax
3550 Anderson Street
Madison, Wisconsin 53704-2599


-------------------------
http://community.webshots.com/user/valerian114

"There are two kinds of people in the world: Those who claim to be Flash junkies and those who actually are Flash junkies"
  #8 (permalink)  
Old July 23rd, 2004, 04:46 AM
Registered User
 
Join Date: Feb 2004
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
Default

As a person new to programming, I started with PHP. I bought the book "Beginning PHP" to only find out that the book was out-dated in relation to "registered globals." My searches lead me to answers but as a person just starting out, I was totaly confused and lacking in comprehension.

I started learning JavaScript. It uses objects and I started to comprehend the basis of OOP.

I was searching the open source community for a programming language that would allow me to do more than client-side scripting. While searching the open source community, I came across a OOP language called Python. I went to the website and was pleasantly suprised to see links to many good tutorials for the "non-programmer." So I downloaded the language (free) and downloaded some tutorials. I then began my world of programming with Python. It has a very simple syntax and can be a powerful language. When I would come across a concept that I did not understand, I would go back to JavaScript and see how that language would address that issue. I could then apply the logic I learned to Python.

I guess what I am saying is that I have, as a completely newbie in the world of programming, used 2 languages to learn OOP. I am now in the process of learning PHP. It was the knowledge of JavaScript and then Python that has allowed me to work with PHP in a way that I can comprehend what the book is trying to teach and also figure out how to handle the out-dated material. JavaScript is a good beginning for programming in general. It is free, there is nothing to install and it WILL TEACH you the concepts involved in programming. Another thing about javascript is that there are many sites that you can either download and / or view the source code and look at a program and work through the programmer's logic behind the program.

I have tried Java and as a person who was completely ignorant to computer programming, was soon lost. After I become adept at PHP, I will then pursue learning Java. I do not recommend it to a person who is just starting out in programming.

Hope this helps. BTW if you are wanting more information on the Python Programming language, the web address is:

www.python.org

It is well worth anyones time if they have never programmed and want to learn a power OOP language. And again, it is free.

Good luck.

Regards,
Steve
  #9 (permalink)  
Old September 24th, 2004, 12:12 AM
Friend of Wrox
 
Join Date: Jul 2003
Posts: 128
Thanks: 0
Thanked 1 Time in 1 Post
Default

For my experience, I would say (ADO) Active Database Object in (VBA)Visual Basic Applications.

I learn first computer with application of Lotus-123 way back in the '80s. Then migrated to Excel, the Excel Macros to Access
database. To Access VBA, either (DAO) Database Active Objects or ADO, in OOP. Learning ADO, made me understand the concept of (OOP) Object Oriented Programming.

I still learning HTML, CSS, JavaScript, XML, XSLT, PHP & MySQL.
Maybe it is not for others, but as I learn more I understand that
almost all languages are leaning towards this direction.

John


  #10 (permalink)  
Old September 24th, 2004, 02:57 AM
joefawcett's Avatar
Wrox Author
 
Join Date: Jun 2003
Posts: 3,074
Thanks: 1
Thanked 38 Times in 37 Posts
Default

A few years ago I would have said Java, now I'd have to go for C#. I see very few examples of where Java has the advantage over C# in "everyday" programming situations.

--

Joe
The Following User Says Thank You to joefawcett For This Useful Post:





Similar Threads
Thread Thread Starter Forum Replies Last Post
OOP Design Prob SiliconFuRy Java Basics 1 April 6th, 2006 03:01 PM
Classes (OOP) in VBScript 6 benr Pro VB 6 12 March 13th, 2006 04:02 PM
OOP design raj_sekhar C++ Programming 1 August 23rd, 2005 11:44 AM
passing a php oop object in a form buckarette Pro PHP 2 December 24th, 2003 07:49 PM
OOP with JavaScript Moharo Javascript 3 September 29th, 2003 10:14 AM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.