Alice Community  

Go Back   Alice Community > Alice 2 > How do I...?

Closed Thread
 
Thread Tools Display Modes
Old
BenMcLean
Guest
 
Status:
Posts: n/a
Default 12-10-2009, 10:35 AM

Quote:
Originally Posted by x2495iiii View Post
Well, I suppose my take on it is that Alice will give you what you give it.
Since we're talking about a high level programming language here, I'm not sure that statement has any real meaning. You could say that about writing assembly perhaps, but higher level languages actually give you quite a bit more than you give them more or less by definition. Otherwise, no one would use them.

Quote:
Originally Posted by x2495iiii View Post
When I first started using it, my goal was to write a game. I knew I'd have to WORK for it, that I'd have to learn the nuances of Alice, that I'd have to experiment and try different arrangements, see what tiles could fit in what slots and what each property controls, etc.
That's fine - that's what learning programming is all about - except it (real programming) is working with the syntax of a language rather than these ridiculous tiles.

Quote:
Originally Posted by x2495iiii View Post
Now, I've written several games with this "unstable, unusable fake programming language",
I never called it "fake" - you guys made that up. I said it was, "not a real programming language" in the context being useful. There is a difference.

Quote:
Originally Posted by x2495iiii View Post
What was your initial goal and expectation when you started using Alice?
I was expecting to get an easy A, and I got an easy A which took about five times the time and effort it should have due to bugs in Alice. What I'm disappointed about is how I think the course has effected other students in the class - especially those that had to drop - and with the oceans of time I've had to waste fiddling with the thing due to bugs in Alice itself rather than in my programs or designs. Not that my designs are always perfect. It makes perfect sense to spend all day trying to figure out why code I wrote isn't performing as specified. It makes no sense at all to constantly find multiple obvious bugs in the implementation I'm forced to use. (A bug or two on occasion is expected. This isn't.)

Quote:
Originally Posted by x2495iiii View Post
Were you expecting something new, something that you'd have to take the time to learn, or were you expecting something identical to everything else you've used? Did you expect everything to be done for you, or did you expect bugs and workarounds?
When I start using a textbook to learn a programming language, yes, I do expect the implementation of the language I'm required to use to work for solving the problems given in the textbook. Just like when you open a math book, you expect not to be informed that 2 + 2 = 5.

Quote:
Originally Posted by x2495iiii View Post
It sounds like you wanted a language that somehow made writing professional games and movies easier while not being different in any significant way from other languages.
Oh no. Not at all. I never said anything about professionalism in the end product. I think we're getting confused about the hierachy of issues here, which is why I said a list might be a good idea. Let me start one:

Problems with Alice 2.0 and 2.2 (from highest priority to lowest, assuming our goal is to teach students programming and good design principles)

1. Performance of the language doesn't match descriptions in the textbook. This teaches by example that it's OK to ignore technical standards - not OK.

2. The clipboard is broken. In 2009/2010, no one should be forced to work with an editor in which the clipboard doesn't work.

3. The GUI interface is prone to break down resulting in preventing the user from placing perfectly valid instructions in some places and also tends to create invalid tiles which can cause files to be unsavable and/or to not compile even when their appearance on screen is correct. These types of issues were reduced in some areas in Alice 2.2 but worsened in others. (such as the list/array editor) Introductory level programming students should never, ever have to deal with an issue of this type because programmers who work in established, productive languages haven't had to deal with issues of this type since at least the late 1980s.

4. The GUI'd interface is a fundamentally bad idea, as it fails to teach students how to type and how to remember syntax, both of which are essential in teaching students to be programmers. If we're dealing with grade school kids, this might make sense, but not in a high school or college level course, and the course I took was supposed to be college level.

5. In some situations involving changing the vehicle property in multiple objects at runtime, Alice gets confused about whether motion is occurring in the object editor or at runtime, which can result in motion that occurs at runtime spilling over into motion in the object editor. This particular issue did not confront very many students but is indefensible from a technical perspective because the difference between the process of writing code and the execution of code at runtime is one of the fundamental principles being taught by a programming course. It is an essential distinction for understanding what conventional programming is. (I understand there are some revolutionary languages in existence that break out of this distinction - no matter because most languages don't and Alice certainly isn't intended to. I would be very interested in seeing a program that uses this bug as a feature in order to get a program that can change itself - in fact that would be just about the only thing that would get me to download and install Alice 2 again at this point) Runtime should obviously be fully sandboxed from the object editor. The fact that it isn't makes me wonder whether there might be other security vulnerabilities which could allow someone to distribute malware as an Alice world. I'm not familiar enough with the Java platform to know whether this is possible or not, but in principle, if one part of the program can gain control over another part of the program where it shouldn't, who knows what other parts of the program it can gain control over?

6. Alice's "seconds" do not correspond either to real seconds or to any arbitrary but standard amount of time. They vary according to the processing power of individual machines, which can cause students programs to fail to perform the way they tested them (such as one I wrote) despite being implemented as "correctly" as the limitations of the language makes possible. This makes Alice useless as an animation tool. (Fixing this issue is not essential for teaching programming, as you can just tell students to write programs that don't depend on exact time or synchronization with audio)

7. The results of an Alice program can't be exported in any standardized, open and stand-alone format in a way that matches performance at runtime in Alice itself. This should be easy to fix, as there are a multitude of free software media encoding libraries that could be used. This is very important for using Alice as quick and easy animation software, but not absolutely essential for using Alice as a programming teaching tool.

8. There is no type casting in Alice. Real object oriented languages have type casting and students need to learn about it and how to do it and it is clearly appropriate at the level of programming which Alice is intended for.

5 out of the 8 issues I've brought up are essential and there are better alternatives out there that don't have problems in many of these areas. If I were a teacher, I wouldn't teach Alice unless all of the first 5 were fixed. As myself, I have no further use for the program unless all of the first 7 are fixed. They all ought to be fixed.

There may be other barriers between the current state of Alice and stability and usefulness, but these are just some that I personally have run into this semester.

Nowhere did I say I expect to be able to make professional Pixar quality animations or Playstation quality games in Alice. Hahahaha, the very idea is laughable - even if all of these issues were fixed, there's no way we could deliver that kind of power to novices, even in theory. That's not even a goal here. But I think being able to animate usefully at all ought to be a goal in Alice 3 and would be a major motivator for students.

Quote:
Originally Posted by x2495iiii View Post
I'll admit, I used to want something similar, but then I realized that the quality of the games you can produce with a language is inversely proportional to the ease of making that game in that language.
I can make much better games using real programming languages with much less effort. (not in 3D, but still better) I bet you could too.

Quote:
Originally Posted by x2495iiii View Post
In short, to do what you want to in Alice, you have to first want to learn and have the patience to learn.
Oh, having patience to learn is one thing. But are the things being taught correct? In many cases, they aren't. That's what makes Alice 2 a bad choice as a teaching tool and why I think schools should never have started using it, shouldn't be using it now and shouldn't continue to use it. I hope Alice 3 will be better.

Last edited by BenMcLean; 12-10-2009 at 11:27 AM.
   
Old
x2495iiii
Super Moderator
 
x2495iiii's Avatar
 
Status: Offline
Posts: 3,508
Join Date: Dec 2008
Location: Somewhere in the Continental U.S.
Default 12-10-2009, 12:16 PM

I have to say, that's a very compelling and well thought out argument, however, there are a few flaws in it.

1. I took the textbook class twice. I never saw any discrepancies or shortcomings in the textbook other than it's failure to properly address the use of the "ask user for..." functions, which I was able to figure out myself fairly easily.

2. The clipboard isn't broken. I'm not sure why it doesn't work for you, you may consider re-installing Alice, but I've worked with up to 10 functional clipboards before.

3. Though I don't deny that the GUI does glitch up more often than not, it rarely breaks down (as in it ceases to function) and generally those graphical glitches are simply that: graphical glitches which have no effect on the world itself.

4. Most kids already know how to type, due to things like Twitter and AIM. And I disagree, I think the syntax of Java is taught very well in Alice, especially if you go out of your way to emphasize it (change the settings in the Edit>Preferences to be in Java code format,view the complicated version of loops, etc.).

5. I'm really not sure what the issue with #5 was. Could you possibly post an example of what you mean?

6. Though this may be true (it's never been a problem for me, and I've tried just about everything), I disagree that it makes it "useless" as an animation tool. My youtube video is an example of an Alice animation with synchronized sound, and though it was somewhat unorthodox, it wasn't difficult to make.

7. Now THAT is one of the biggest issues I have with Alice. I too wish Alice worlds could be stand-alone projects, but they simply can't. There IS an Alice World Player that was released by Dennis Cosgrove which allows you to play a world outside of Alice, but you need to have Alice installed to do this.

8. Another issue I actually do agree with you on. This, along with a working export to webpage option would make Alice much nicer to use.

I've actually made a few games using Flash and Java before. It's MUCH harder, takes MUCH longer, and produces MUCH less, especially in terms of graphics.

I always thought you were somewhat exaggerating the bugs you found in Alice. Now it seems you may have simply been the victim of a bad installation. (this has happened to me before). Tell me if uninstalling and re-installing Alice removes any of the bugs. If it doesn't I'll see if I can give you my copy of Alice 2.2 (it's slightly older, but apparently more stable than the current update).


(')>
   
Old
BenMcLean
Guest
 
Status:
Posts: n/a
Default 12-11-2009, 02:12 PM

Aha, apparently someone HAS made a list, at least of the bugs, if not of the bad design principles being taught. Here it is: http://alice.org/index.php?page=bugs

Quote:
Originally Posted by x2495iiii View Post
I have to say, that's a very compelling and well thought out argument, however, there are a few flaws in it.

1. I took the textbook class twice. I never saw any discrepancies or shortcomings in the textbook other than it's failure to properly address the use of the "ask user for..." functions, which I was able to figure out myself fairly easily.
The way the textbook describes the random number function isn't how the random number function operates. This is a recognized bug. (see link above) I remember there were other examples of such discrepancies but I've sold the textbook so I can't look them up anymore.

Quote:
Originally Posted by x2495iiii View Post
2. The clipboard isn't broken. I'm not sure why it doesn't work for you, you may consider re-installing Alice, but I've worked with up to 10 functional clipboards before.
Yes it is, and this is a recognized bug. (see link above)

Quote:
Originally Posted by x2495iiii View Post
3. Though I don't deny that the GUI does glitch up more often than not, it rarely breaks down (as in it ceases to function) and generally those graphical glitches are simply that: graphical glitches which have no effect on the world itself.
*shrug* I'm just reporting what happened this semester.

Quote:
Originally Posted by x2495iiii View Post
4. Most kids already know how to type, due to things like Twitter and AIM. And I disagree, I think the syntax of Java is taught very well in Alice, especially if you go out of your way to emphasize it (change the settings in the Edit>Preferences to be in Java code format,view the complicated version of loops, etc.).
We didn't work with java code format, so you might have a point on the syntax issue, but there are alot of kids who need to learn how to type better. They tap with two fingers via hunt-and-peck and use abbreviations in online chats to such an extreme that they really aren't learning how to type. With that said, I myself learned how to type by using IRC and other chat technologies, and I now consider myself nearly an olympic level typist, (I'm sure one of these days I'll see somebody better who'll put me back in my place on that, but still) so I don't discount that as a way of learning to type. But I could have typed commands much faster than I could have found them in the Alice GUI and that would have significantly reduced the amount of time I had to spend on homework this semester.

Quote:
Originally Posted by x2495iiii View Post
5. I'm really not sure what the issue with #5 was. Could you possibly post an example of what you mean?
OK, this one seemed to happen on-and-off and I'm not quite entirely sure what triggers it, but try the following in Alice 2.2:

Make two objects, A and B.
Under properties, set A vehicle to B.
At runtime, Do Together (set A vehicle to world; set B vehicle to A; move A or B toward or away from the other)

I might have used some Do in order blocks inside that do together ... don't quire remember now.

That will probably reproduce the bug. It might not though because I don't have the program in front of me to test with anymore. What happens is that error messages come up and A or B ends up having been moved in the OBJECT EDITOR rather than at runtime. That shouldn't ever happen.

One of the things an introductory level programming course teaches students is the difference between code and runtime / execution. If our development environment has bugs that get it confused about this difference, how can we expect students to keep it straight?

Quote:
Originally Posted by x2495iiii View Post
6. Though this may be true (it's never been a problem for me, and I've tried just about everything), I disagree that it makes it "useless" as an animation tool. My youtube video is an example of an Alice animation with synchronized sound, and though it was somewhat unorthodox, it wasn't difficult to make.
Are you using only one computer? I bet that if you tried to run your program on another machine, you'd be out of sync.

Quote:
Originally Posted by x2495iiii View Post
7. Now THAT is one of the biggest issues I have with Alice. I too wish Alice worlds could be stand-alone projects, but they simply can't. There IS an Alice World Player that was released by Dennis Cosgrove which allows you to play a world outside of Alice, but you need to have Alice installed to do this.
Even if a special Alice player is required for stand-alone interactivity, there ought to be a working encoder for encoding non-interactive videos into open standard video formats. This should be easy to implement given the proliferation of free software encoders.

Quote:
Originally Posted by x2495iiii View Post
8. Another issue I actually do agree with you on. This, along with a working export to webpage option would make Alice much nicer to use.
The export to webpage option shouldn't even be on the menu in a release unless it works. Having it there is a bad example.

Quote:
Originally Posted by x2495iiii View Post
I've actually made a few games using Flash and Java before. It's MUCH harder, takes MUCH longer, and produces MUCH less, especially in terms of graphics.
Ah, well flashy graphics aren't the goal in a programming class as far as I'm concerned. Great games can be produced with a bare minimum of graphics using public domain curses. (example)

Quote:
Originally Posted by x2495iiii View Post
I always thought you were somewhat exaggerating the bugs you found in Alice. Now it seems you may have simply been the victim of a bad installation. (this has happened to me before). Tell me if uninstalling and re-installing Alice removes any of the bugs. If it doesn't I'll see if I can give you my copy of Alice 2.2 (it's slightly older, but apparently more stable than the current update).
I've worked with multiple installations of both Alice 2.0 and 2.2 on Windows XP, Vista AND 7. Some of the installs I performed myself from the version currently on the web site. I didn't test for every bug I mentioned on every OS though, and didn't keep track of which bugs occurred in which environments. The versions of Java could also be relevant and I neglected to check that. So perhaps my bugs list isn't all that useful.
   
Old
beachbum111111
Senior Member
 
beachbum111111's Avatar
 
Status: Offline
Posts: 852
Join Date: Feb 2010
Location: e
Default 10-26-2010, 06:48 PM

can you make what you say simpler? I don't want to spend half an hour of my life reading what you say...
   
Old
beachbum111111
Senior Member
 
beachbum111111's Avatar
 
Status: Offline
Posts: 852
Join Date: Feb 2010
Location: e
Default 10-27-2010, 01:20 PM

and if you dont like the drag-and0drop then turn alice into a java-like symplex...
   
Old
Akira101
Guest
 
Status:
Posts: n/a
Default 10-27-2010, 01:58 PM

Well his opinion is his opinion, and Alice isn't the best, and isn't the worst. Thats why their still developing and trouble shooting it. This isn't a big thing for programming, just mainly to introduce highshool students, like me, to learn and introduce me to programming. If your really stick to your opinion, get off here, stop complaining, and use your time with something useful, like learning C++, lua, to cook, learn quantum physics or somthing, cause this wastes our time and yours.
   
Old
beachbum111111
Senior Member
 
beachbum111111's Avatar
 
Status: Offline
Posts: 852
Join Date: Feb 2010
Location: e
Default 10-27-2010, 02:00 PM

yeah... and he writes very long and complicated things to waste are time...
   
Old
Mario620
Guest
 
Status:
Posts: n/a
Default 11-02-2010, 05:22 PM

Quote:
Originally Posted by beachbum111111 View Post
yeah... and he writes very long and complicated things to waste are time...
Or maybe you're just not on his level of intellect and cannot comprehend what he says. Also, it's funny how you bumped this almost-a-year-old post to show your ignorance and nonacceptance of others' opinions.
   
Old
beachbum111111
Senior Member
 
beachbum111111's Avatar
 
Status: Offline
Posts: 852
Join Date: Feb 2010
Location: e
Default 11-02-2010, 06:22 PM

Quote:
Originally Posted by Mario620 View Post
Or maybe you're just not on his level of intellect and cannot comprehend what he says. Also, it's funny how you bumped this almost-a-year-old post to show your ignorance and nonacceptance of others' opinions.
no. he writed that long because he knows that in the end the thing that he said is basically "i make no sense". And he should keep his opinion to himself. even after he said it he still made excuses to annoy people.


"Don't lead me into temptation I can find it myself"
   
Old
beachbum111111
Senior Member
 
beachbum111111's Avatar
 
Status: Offline
Posts: 852
Join Date: Feb 2010
Location: e
Default 11-02-2010, 06:51 PM

Quote:
Originally Posted by Mario620 View Post
Or maybe you're just not on his level of intellect and cannot comprehend what he says. Also, it's funny how you bumped this almost-a-year-old post to show your ignorance and nonacceptance of others' opinions.
yeah and how would you know??? your not even a week old on alice. your probably him anyway and trying to annoy me and all the other people...


"Don't lead me into temptation I can find it myself"
   
Closed Thread

Tags
benmclean sucks, mario620 is an idiot

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



Copyright ©2019, Carnegie Mellon University
Alice 2.x 1999-2012, Alice 3.x 2008-2012, Carnegie Mellon University. All rights reserved.