The Artima Developer Community
Sponsored Link

Articles Forum
As Simple As Possible? (Editorial)

19 replies on 2 pages. Most recent reply: Aug 17, 2005 1:00 PM by Chuck Allison

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 19 replies on 2 pages [ « | 1 2 ]
Chuck Allison

Posts: 63
Nickname: cda
Registered: Feb, 2003

Re: As Simple As Possible? Posted: Sep 4, 2005 7:06 PM
Reply to this message Reply
Advertisement
> 2. Java provides an ideal language that is easy to use
> like Python and runs as well as C++. Therefore one
> language can be both your beginners/testers language and
> your powerful developers language.

I don't quite see it that way. At the collee I teach at, we switched back to C++ from Java for beginners because Java forces objects on you too soon. I find it easier to start where students are at (everyone and do simple arithmetic and use library components such as vector and string), and introduce objects after they have grasp the idea of simple programs. Of course, Python is ideal for this.

Howard Lovatt

Posts: 321
Nickname: hlovatt
Registered: Mar, 2003

Re: As Simple As Possible? Posted: Sep 6, 2005 7:54 PM
Reply to this message Reply
> I don't quite see it that way. At the collee I teach at,
> we switched back to C++ from Java for beginners because
> Java forces objects on you too soon. I find it easier to
> start where students are at (everyone and do simple
> arithmetic and use library components such as vector and
> string), and introduce objects after they have grasp the
> idea of simple programs. Of course, Python is ideal for
> this.

I don't really get your comment, Java does automatic boxing an unboxing therefore you can use Integer, List< Integer > etc. including arithmetic (the only infix operator not available is ==). I am not sure what Python does but many scripting languages work the same way as Java and do automatic boxing and unboxing, so this is no different.

Chuck Allison

Posts: 63
Nickname: cda
Registered: Feb, 2003

Re: As Simple As Possible? Posted: Sep 7, 2005 7:09 PM
Reply to this message Reply
class Foo {
public static void main(String[] args) {
System.out.println("Hello");
}
}

What's a class? Why do I need Foo? What's "public"? What's "static"? What's "String[]"? This noise turns off beginners. It's much easier to say:

>>> "Hello"
Hello

or even to say

#include <iostream>
int main() {
std::cout << "Hello";
}

Java forces classes and objects on you in the very first minute. This is not natural for newbies. Our students have performed much better since we made the switch back to C++. We teach Java - just not to beginners. We start where they are - doing simple computations and string processing - everyone knows reading, writing, and arithmetic already. Objects come in their time, but not before. But let's not engage in the "object first or not" discussion here. That's off topic.

Howard Lovatt

Posts: 321
Nickname: hlovatt
Registered: Mar, 2003

Re: As Simple As Possible? Posted: Sep 7, 2005 8:00 PM
Reply to this message Reply
I am surprised you think there is much in it, the 'noise' level seems about the same in the C++ code and the Java code. When I have taught Java I have not found the 'noise' to be much of an issue. People seem happy with deffering all the details and using a bit of 'boiler plate' for the time being so long as you assure them that you will explain it and that it won't remain a black box.

If interaction and little 'noise' is your issue try:

http://www.beanshell.org/home.html

for a scripting version of Java and even easier try:

http://www.bluej.org/

which allows you to write and debug much of the code graphically!

Bob Dobalina

Posts: 16
Nickname: hiredgoon
Registered: Apr, 2005

Re: As Simple As Possible? Posted: Sep 16, 2005 2:51 AM
Reply to this message Reply
Howard, it's obviously not. I'm glad that you are happy with your choice of Java, but maybe your love of it stops you from objectively counting statements, scopes and programming paradigms.

As we're on simplicity, I think the lowest noise hello world is to type into a text file:

print "hello world"

And then run it without compilation. I can think of at least 2 scripting languages that start with 'P' that can do this, and I'd recommend one of those.

Flat View: This topic has 19 replies on 2 pages [ « | 1  2 ]
Topic: Introducing The Catenator Previous Topic   Next Topic Topic: Audio: Java Community Process Roundtable 2005


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us