I don't know where to put this but... I TRYING TO MAKE A PROGRAMMING LANGUAGE! IT WILL BE AWESOME! (Mabey Not) I might have spelled DEVELOPMENT wrong. Here is the current beta of S: http://scratch.mit.edu/projects/ThePiGuy/692427.
CURRENT COMMANDS:
MVE <number> Moves cat <number> steps (Only one digit numbers)
WT <number> Waits <number> seconds(Only one digit numbers)
SAY <message> Makes cat say <message>.(6 letters or less)
WRT <message> Outputs <message>. (6 letters or less)
RTE <option> Rotates cat <options> (ONLY USE THESE VALUES:09,-9,18,00)
Press play to play it all!
INSTRUCTIONS:
Space=Newline
R=replace
S=insert at specified line
D=delete specified line
Offline
This is actually quite impressive! How long did it take you?
Offline
I don't know. I think it took me 2 days, but I could be wrong.
NEW BETA REALESED!
http://scratch.mit.edu/projects/ThePiGuy/694866!
I added 3 new functions, which are:
NTE <number> - Plays note(Only two digit numbers, if you want to enter one digit numbers, type 0 in the tens digit)
TMO <number> - Sets tempo(Only two digit numbers, if you want to enter one digit numbers, type 0 in the tens digit)
MEW - Makes cat meow!
Enjoy
!
Last edited by ThePiGuy (2009-09-26 11:00:15)
Offline
NEW VERSION, CLICK HERE TO SEE IT!
I have added variables(yay!), and functions for repeating blocks of code. So... you can do this to make the cat move smoothly:
i=9 RPT 10 WRT iv MVE i i-- /RP
Enjoy the project and remember to check here often to here more news of S!
Offline
This entire Idea is flawed.
making a programming language in a program that is designed to make programming easy?
What kind of arbitrary thought process did you go through to justify this waste of time?
Offline
rdvonz wrote:
This entire Idea is flawed.
making a programming language in a program that is designed to make programming easy?
What kind of arbitrary thought process did you go through to justify this waste of time?
Thank you for hurting my feelings
. First time I've gotten a negative comment(I'm not used to it).
I do it because I want to. I don't know what else to do... I have seen other people do this, and I got this idea and I like it. I just want to do somthing I like, and this is it. I like making programming languages in programming languages because that's what I like. Besides, computers is like the ONLY thing I do(except sleep, eat, and go to school, and do homework).This isn't the only one I've made, I've made another (That's better than this). Please don't hurt my feelings again
. I'm only a wierd nine-year-old(turning ten in March).
Away from that... NEW VERSION COMING SOON! (0.3) with 'IF' functions in 'Input' functions! Yay
!
Last edited by ThePiGuy (2009-09-28 00:15:26)
Offline
rdvonz wrote:
This entire Idea is flawed.
making a programming language in a program that is designed to make programming easy?
What kind of arbitrary thought process did you go through to justify this waste of time?
People can make whatever they like. It's up to them.
Offline
rdvonz wrote:
This entire Idea is flawed.
making a programming language in a program that is designed to make programming easy?
What kind of arbitrary thought process did you go through to justify this waste of time?
Scratch is a great place to try out new ideas for programming languages - or many other complex programming challenges. Why do it? Because it is fun, a great mental challenge and a good place to play with ideas. If the ideas work out, maybe you will want to implement them in something faster like C++.
You probably already know that Scratch itself is written in a programming language called Squeak that was designed to make Object Oriented programming easy
Offline
The-Whiz, I've seen your programming language and it's AWESOME!
S might be a programming language(Scratch) in a programming language(Squeak) in a programming language(The program Squeak was written in)!
BACK TO THE TOPIC
Version 0.3 of S will have new features like:
If functions (I know the syntax is wierd, but S is VERY slow on my fastest computer at home, so I need less blocks!(Possible fix in 0.3.1, but I'll see how it goes when I make the next version)) Here is all the new functions:
IF FUNCTIONS: Ii= vv //Checks If i =the value vv Ij= ee //Checks If j =the value ee Ife= 10 //Sets the line to 10 if the if function returns false(REQUIRED) VARIABLE FUNCTIONS: i=n // allows you to make i a value more than 2 characters! Woohoo! (n=the next line) j=n // allows you to make j a value more than 2 characters! (n=the next line) INPUT FUNCTIONS: <Unknown> (I'm not on the computer with S.sb on it)
So.. you can do this!
i=n 100 RPT 100 i-- WRT iv Ife=10 Ii= 40 MEW NTE 60 /RP
I should post it this night or tomorrow!
Last edited by ThePiGuy (2009-09-29 21:10:26)
Offline
ThePiGuy wrote:
...S is VERY slow on my fastest computer at home, so I need less blocks...
I think all Scratch programming languages are slow - It's just that Scratch is ill-fitted for running so many complicated operations at once.
Offline
ThePiGuy wrote:
...
Version 0.3 of S will have new features like:
If functions (I know the syntax is wierd, but S is VERY slow on my fastest computer at home, so I need less blocks!(Possible fix in 0.3.1, but I'll see how it goes when I make the next version))
Scratch is pretty slow at some things but here’s something you might want to try doing to make your S language go faster.
Instead of matching each command using if statements, create two new lists, one for the commands in the S program and one for the second strings (if any). Then create a "When I receive" block for each type of command in your S language. When your project executes an S program, it would pull each command of that S program out of the first new array and then directly broadcast using that command as a string. Your scratch project would have scripts that start with "When I receive NTE" and "When I receive i++" and so on.
I used this technique in my Cave Adventure game and it made it much more responsive.
Offline
I NEED IDEAS FOR THE NEXT VERSION!
Digimath, I've tried that, and it didn't work (I'll try again, though
.)
Offline
ThePiGuy wrote:
I NEED IDEAS FOR THE NEXT VERSION!
How about adding some user interface features.
For example, a "set breakpoint / continue" feature, or a single-step feature where the user did something each time to make each instruction execute.
Or,
What if S had special variables that would automatically increment or decrement each time they were used?
It also might be fun to combine your list processor with another Scratch project. Dapontes has a very good project with a dangling character that you can move by hand http://scratch.mit.edu/projects/dapontes/696603
Your two projects could be merged to create a project that would let people make their own skits. If a second character were added you could let people control both from one S program.
Select #1
[insert S commands to move close to second character]
SAY: Who are you?
Select #2
[insert S commands to jump up]
SAY: We are the Knights Who Say... Nee!
Offline
Digimath wrote:
... What if S had special variables that would automatically increment or decrement each time they were used? ...
YAY! GOOD IDEA! I'll make it so you can set whether each variable is normal, auto-increase, auto-decrease, auto-multiply, or static(cannot change unless type changed).
rdvonz wrote:
Haha.. It's slow because you've got your programming language stuck in a programming language stuck in a programming language.
IDEA: Go learn python.
I don't care! Just PLEASE STOP POSTING ON ME STUFF! IT'S ANNOYING AND HURTING MY FEELINGS(Do you like that?)!
Last edited by ThePiGuy (2009-10-01 23:11:37)
Offline
rdvonz wrote:
So we're going to talk about feelings now?
Well, whenever I try your "program language" a little bit of me dies inside.
grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
By the way, "program language" is REALLY "programming language"
.
Last edited by ThePiGuy (2009-10-04 00:37:29)
Offline
rdvonz wrote:
It doesn't matter, I'd hardly call S either.
By the way, what does S even stand for? [explicative removed by moderator]?
rdvonz, please be respectful and do not use disrespectful language on the Scratch forums.

Offline
cheddargirl wrote:
rdvonz wrote:
It doesn't matter, I'd hardly call S either.
By the way, what does S even stand for? [explicative removed by moderator]?rdvonz, please be respectful and do not use disrespectful language on the Scratch forums.
You're signature seems to be implying something sexual, you should probably tone that down for the little ones.
Offline
rdvonz wrote:
It doesn't matter, I'd hardly call S either.
By the way, what does S even stand for? [removed by moderator]?
EDIT: Don't censor me you [removed by moderator].
Hey rdvonz - I'm so sorry that we haven't explained clearly enough how these forums work or what they are for. They are for helping people to improve their Scratching skills in a friendly way. Putting down this project the way you have been doing is very discouraging and not supportive.
Your observation that other programming languages might be better suited for the task is certainly a good one - but not everybody is ready to step up to Python or other text-based languages. And there is still a lot to be learned trying it in Scratch
Thanks for taking such an interest in other people's work. It appears you have experience with other programming languages and can offer a lot to the Scratch community. A more positive attitude, however, will make a big difference in how your comments are perceived and would be appreciated. You can read more about the guidelines for the Scratch website in the Terms of Use - see the link at the bottom of the page.
As for your crack about Cheddargirl's signature - that was uncalled for. To quote the great Tom Lehrer: "For filth (I'm glad to say) is in the mind of the beholder. When correctly viewed, Everything is lewd."
Offline
ThePiGuy wrote:
I don't know where to put this but... I TRYING TO MAKE A PROGRAMMING LANGUAGE! IT WILL BE AWESOME! (Mabey Not) I might have spelled DEVELOPMENT wrong. Here is the current beta of S: http://scratch.mit.edu/projects/ThePiGuy/692427.
CURRENT COMMANDS:
MVE <number> Moves cat <number> steps (Only one digit numbers)
WT <number> Waits <number> seconds(Only one digit numbers)
SAY <message> Makes cat say <message>.(6 letters or less)
WRT <message> Outputs <message>. (6 letters or less)
RTE <option> Rotates cat <options> (ONLY USE THESE VALUES:09,-9,18,00)
Press play to play it all!
INSTRUCTIONS:
Space=Newline
R=replace
S=insert at specified line
D=delete specified line
I love your notepad programming. And besides, it's less memory than scratch projects.
Offline
Digimath wrote:
...Then create a "When I receive" block for each type of command in your S language. When your project executes an S program, it would pull each command of that S program out of the first new array and then directly broadcast using that command as a string. Your scratch project would have scripts that start with "When I receive NTE" and "When I receive i++" and so on....
I TRIED IT AGAIN AND IT WORKED! WOO HOO! (But now you must download to play because it NEEDS to be on Turbo-Speed mode otherwise it's REALLY slow!)
http://scratch.mit.edu/projects/ThePiGuy/711915 is the NEW VERSION! Thanks alot of you for giving me great ideas! This new version has markers, comments, and "When I receive blocks" in the source code!
ENJOY and don't forget to comment
!
By the way, if you want to see what's new, take a look at this example project! (With line numbers on the far left.)
01 /Comments and markers 02 /This is a comment. It is ignored. 03 /Set i to 0. 04 i=0 05 /Start repeat block. 06 RPT 10 07 /Increase I 08 i++ 09 /Write i to output. 10 WRT iv 11 /Ife set to marker 1 (:1) 12 Ife :1 13 /If i is 4 then output and say "Hi!". 14 Ii=4 15 WRT Hi! 16 SAY Hi! 17 WT 1 18 SAY 19 /Marker 1 is on the next line. 20 :1 21 /End repeat 22 eRP 23 / 24 /Note: "End repeat" code changed due to the addition of the comment. 25 /This works becacuse the new S version checks for all markers first, then writes the positions to a list. The IFE statement then looks for the position of the marker it's assigned to and sets the If false line to the position of the marker. (In this case, #1) 26 /Enjoy the new version of s!
Changes in functions:
/RP changed to eRP due to comment. (/ now means comment.)
P.S. I might add my own calculator to my project!
Last edited by ThePiGuy (2009-10-10 21:21:17)
Offline