Re: Teaching OO



Responding to Malik...

After all the other respondants responded with truly impractical languages, I suggest that you consider teaching OO with either C# or Java. You can download perfectly servicable programming environments with either one for free. Both are capable and easy to learn (in fact, they are very similar to each other). Both are based on the C/C++ syntax, and both have legions of developers that you can ask questions from. Ample jobs exist for developers who can program in one of these languages (unlike Smalltalk).

I'm afraid I have to strongly disagree. As you point out, C# and Java are both based on C++ syntax, which is the problem! Those languages are much closer to the hardware computational models than other "pure" OOPLs like Smalltalk. As a result it is much easier to map 3GL procedural paradigms onto OOP, especially if they are converting from procedural development. IOW, such syntax is an invitation to developing bad OO habits, which results in C or FORTRAN programs with strong typing. IMO, much of the awful OO code around is a direct result of converts from procedural development trying to learn OO directly by "playing" with such OOPLs.


Also, the OP's context was to /learn/ the OO paradigm so the "practicality" of the language really isn't the issue. C#, Java, and C++ can easily be learned once one has mastered OOA/D. In the OP's career a dozen or more languages will probably be learned and used, so I don't see learning one more to shorten the OOA/D learning curve as being a big deal -- especially since the novice doesn't need to become an expert in its use; it's just a learning tool.


************* There is nothing wrong with me that could not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions  -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH



.



Relevant Pages

  • Re: Head-in-the-Sand Liberals (LA Times Columnist)
    ... You claimed to have known several computer languages, ... If you lie about knowing computer languages, ... of the programming loop for a functional ... You also don't know Java. ...
    (rec.org.mensa)
  • Re: How come Ada isnt more popular?
    ... Most programming languages were terrible at that time, ... And we talked about "Why isn't Ada more popular?". ... Adopting Java ...
    (comp.lang.ada)
  • Re: performance question
    ... that let me mix different programming styles more freely. ... When I started learning Java, my biggest problem was that I ... I've noticed that people often prefer to take shortcuts when writing code - ... deficiencies in the model and/or the existing languages that implement ...
    (comp.lang.java.programmer)
  • Re: Bloody Java again
    ... I passed my Java exams last year but really have ... Erlang's concurrent programming is rather abstract and high-level. ... He is not being asked to grade umpteenth different languages. ... Student: "It's all in the program, ...
    (comp.lang.functional)
  • Re: Static vs. Dynamic typing (big advantage or not)---WAS: c.programming: OOP and memory management
    ... >>A few years ago I started learning Smalltalk. ... >>features in alternative languages. ... > know that there is widespread ignorance about programming language features ... eiffel developers even though the type system in eiffel is superior to Java. ...
    (comp.programming)