# How do I implement a simple JavaScript function in Snap!

**URL:** <https://forum.snap.berkeley.edu/t/how-do-i-implement-a-simple-javascript-function-in-snap/14148>\
**Category:** Advanced Help with Snap!\
**Tags:** visual-vs-text-based, method-vs-property, how-sausage-is-made, list-vs-array, ergonomic-keyboard\
**Created:** [April 19, 2023, 10:47am UTC](https://forum.snap.berkeley.edu/t/how-do-i-implement-a-simple-javascript-function-in-snap/14148 "2023-04-19T10:47:28Z")\
**Posts on this page:** 1\
**Showing post:** 10

<div class="post-metadata">

**Author:** ![bh](https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/bh/32/31580_2.png) [@bh](https://forum.snap.berkeley.edu/u/bh)\
**Post date:** [April 20, 2023, 3:16am UTC](https://forum.snap.berkeley.edu/t/how-do-i-implement-a-simple-javascript-function-in-snap/14148/10 "2023-04-20T03:16:27Z")

</div>

> [@callietastrophic](#):
>
> I also think that locking everything into browsers is a mistake, but it does make sense for a teaching language to have those locks in place.

BYOB was a separate program you installed on your computer. That was great for independent learners but not great for teachers, because their school's IT czar wouldn't let them install software that didn't come from Microsoft or Adobe. So for Snap_!_ we went browser-based, but now the IT people have learned to whitelist only sites that come from Google or, these days, Scratch. You can't win.

> [@callietastrophic](#):
>
> My issue is that I can read snap code easily, but when I hit "new project" the interpreter sits empty until I close it because "I can do anything... sure where do I start... uhhh..."

If that's the problem you're trying to solve, I don't see how moving to a language you can't even read will help!

Here are some ways to get project ideas:

- Look at other people's projects on the community site.

- In our _Beauty and Joy of Computing_ curriculum ([bjc.edc.org](http://bjc.edc.org)) each unit has an "optional projects" section with ideas you can browse.

- Build a non-video game, such as Wordle or Sudoku or Mastermind. I suggest those rather than video games because you don't get caught up in details of timing or multiprocessing, but can focus on the logic.

- Make an animation. It doesn't have to be very complicated; one of my favorites is a ferris wheel.

Does that help?

---

_[View the full topic](https://forum.snap.berkeley.edu/t/how-do-i-implement-a-simple-javascript-function-in-snap/14148)._
