I have a new scripting preference. It's Jeroo, the kangaroo emulating language based on Java! I've been trying for the past 15 minutes to make a variable, make a simple function that accepts *gasp* arguments / parameters, or even make a simple while loop which is even in the documentation. This is the worst beginners language I have ever had to work with. Why is this in a classroom?
Jeroo is a cross-platform educational tool for learning object oriented programming concepts. In particular, the program helps learning concepts such as objects, methods and basic control structures.
Bazzy, I understand that's what it's meant for. It has terrible method of teaching OO based programming. As a matter of fact, most of my class that uses Jeroo probably doesn't know what calling Jeroo bob = new Jeroo; does. I think even a five year old can understand that in order to get a specific object to perform an operation, you need to call the operation through the object instance, or like bob.hop(). Sure this shows the basic use of objects but the language itself doesn't let variables be declared by the object, doesn't allow you to pass arguments to object operations, nor does it allow you to return variables.
Calling int bob; is invalid. method autoFunction(int bob){} is invalid. method autoFunction(){} is valid.
Though you can make more instances of Jeroo, the only classed object allowed in the entire language, and they can call other objects, the objects have to interact with the related object directly. You cannot tell the object what related object to interact with which is bad practice which is a result of functions without parameters. You almost never do this because of the simple lack of flexibility this way of coding creates.
I truly do not believe this is a language that should be used as beginning code due to bad practices forced upon the developer and the inability to do the most basic of programming techniques such as declare a variable other than Jeroo which, by the way, isn't even explained that it is an object or why it's the only one that can be used to use the new function.
That and the while loop, the only control structure loop available, is a piece of crap and breaks terribly easy during compilation. For instance, if you don't have a boolean method to check with, your screwed since while(true) {} is obviously invalid since the boolean values of true and false are not available in the language. In order to use the loop, you have to call one of there crappy boolean based functions. So, if you have a function that makes you move in a circle infinitely, you have to declare the while loop like so: while( bob.hasFlower() ) { bob.MoveInCircle() } which again, sends a bad impression to a lot of beginners since there is almost no need to check if bob has any flowers in this case.
It's based on Java syntax for those who don't know. This makes a simple diamond in the field. Apparently, people in my class were trying to make the exact steps instead of making an algorithm >.>. For those who don't know, that's easily over 200 lines of code. EDIT: Apparently, the teacher wanted us to copy the lines of code instead of making an algorithm like I did. This is pathetic. T.T
@ C Naming: Well what do you expect... What would you call it other than some goofy ass name like Scratch, Alice, or Jeroo?
Exactly. Why would you call it something dumb like that?
Anyhow; did you get forced to learn this Jeroo crap or did you decide to do it, realise it was retarded, but weren't allowed to switch out of the class?
Yeah, pretty much, I joined the Computer Science class of my own will, expecting something else or more advanced. They used to teach Pascal, but when I was in the class two years ago, I couldn't even figure out simple parameters or the difference between a real and integer. Now, they're teaching Scratch, Alice, Jeroo, and at the end, Java. It's wayyyy to easy. The algorithm above took me a little under a minute to figure out and that's the entire days assignment.
I don't get it. How does this teach OOP? It's just a bunch of disjointed calls. For all I know, 'Jeroo' is just a C structure with a bit of state and a bunch of functions operate on its data. Just look at doPlantPattern(). Is there anything in its definition that suggests it's a method of Jeroo? I'm guessing it's the keyword method, but you can only know that if you look at the reference. What about new classes and their methods? And don't get me started on the implicit passing of this I so much hate.
Well this is the internal source page. It provides you an IDE along with Jeroo's playing field so you don't actually add the @Java reference or the @@ reference. In the source, everything referenced after @ is Jeroo functions. Everything after @@ are external and global methods. Should have explained that earlier.
I will say that the inability to make variables even makes the teacher laugh. He didn't even know about that until yesterday when I brought it up.
I agree. Plus I understand binary. If you mean 'code' in a binary, it's not much different from assembly since it's usually in direct relation. If you mean 'understanding' binary, that's easy to understand if you've studied it for as long as I have as a hobbiest.