Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Actually, the hello world doesn't seem that bad to me. And I program mostly in Python nowadays.

    class Test {
        public static void main(String[] args) {
            System.out.println("Hello world");
        }
    }
And then

    javac Test.java
    java Test
The class acts as a kind of namespace here, you don't need to go into OOP concepts for hello world at all. The beginner will have to understand

* Class is in file with the same name ¯\_(ツ)_/¯ and contains functions (maybe it'll help me later in organizing code?).

* Command line arguments (not strictly necessary concept but not too problematic either)

* Types - why is there String[] in the definition? (A must have in a statically typed language anyway)

* void - the function doesn't return anything (OK)

* public (not OK, some magic here)

* static (not OK, some magic here)

* Compilation vs. run step (a must have in a compiled language)

So IMHO there are just two concepts that could be thrown away. Or three, if you accessed CLI args from a library. But the meaning of public and static will come naturally when the students will learn about OOP.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: