# Stuck with the world's worst language

**URL:** <https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340>\
**Category:** Project Guidance\
**Created:** [March 17, 2023, 11:51pm UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340 "2023-03-17T23:51:12Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![jounce](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@jounce](https://discourse.processing.org/u/jounce)\
**Post date:** [March 17, 2023, 11:51pm UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/1 "2023-03-17T23:51:12Z")

</div>

Snap(a better version of scratch) slow  
Python slow drawing  
C++ hassle drawing  
js worst language  
So which language should I use?(you would suggest processing,which I dunno java)

---

<div class="post-metadata">

**Author:** ![Chrisir](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/chrisir/32/45_2.png) [@Chrisir](https://discourse.processing.org/u/Chrisir)\
**Post date:** [March 17, 2023, 11:56pm UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/2 "2023-03-17T23:56:05Z")

</div>

Use processing. It’s well documented so you will find your way easily

---

<div class="post-metadata">

**Author:** ![jounce](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@jounce](https://discourse.processing.org/u/jounce)\
**Post date:** [March 18, 2023, 12:21am UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/3 "2023-03-18T00:21:51Z")

</div>

idk java

---

<div class="post-metadata">

**Author:** ![GoToLoop](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/gotoloop/32/86_2.png) [@GoToLoop](https://discourse.processing.org/u/GoToLoop)\
**Post date:** [March 18, 2023, 1:30am UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/4 "2023-03-18T01:30:25Z")

</div>

> [@jounce](#):
>
> idk java

> [@jounce](#):
>
> js worst language

Well, Java is pretty much JavaScript w/ required datatype declaration, similar to TypeScript.

> [@jounce](#):
>
> Python slow drawing

There’s also PyScript, which allows us to use both Python & JS libraries on a web page:

> [@Converting coding challenge 'Self-avoiding walk backtracing' from p5.js to Processing (Java)](https://discourse.processing.org/t/converting-coding-challenge-self-avoiding-walk-backtracing-from-p5-js-to-processing-java/35047/21):
>
> Python is now a full browser client language w/ PyScript: So again I couldn’t resist converting my previous RapydScript sketch “Self Avoiding Walk II” to PyScript. I’ve also added Python type hints to the whole code: All 3 JS Processing flavors run on PyScript just like CoffeeScript & RapydScript previous versions: You can [click here](https://api.glitch.com/project/download/?authorization=3d2d3e71-2277-421f-9d6a-38d0f41b0522&projectId=3dc3a6ae-9818-441a-8f7e-b1d50e7199c3) to download the full sketch so you can edit & run it somewhere else. And go to the link below to view it fullscreen: [https://Self-Avoiding-Walk-II-PyScrip…](https://Self-Avoiding-Walk-II-PyScript.Glitch.me/)

However, you can expect it to be even slower though.

Alternatively you can go w/ [CoffeeScript](https://coffeescript.org) (a mix of Ruby + Python + JS syntaxes), which then transpiles straight to JS:

> [@Converting coding challenge 'Self-avoiding walk backtracing' from p5.js to Processing (Java)](https://discourse.processing.org/t/converting-coding-challenge-self-avoiding-walk-backtracing-from-p5-js-to-processing-java/35047/19):
>
> I’m back w/ another “Self Avoiding Walk II” conversion. This time I’m using the [CoffeeScript](https://coffeescript.org/) language which directly transpiles to JavaScript. Processing 2 used to have a [CoffeeScript Mode](https://github.com/fjenett/coffeescript-mode-processing) a long time ago and I’ve ended up learning it. When I later decided to learn [Python Mode](https://py.processing.org/reference/) to help folks here I’ve relied on my previous [CoffeeScript](https://coffeescript.org/) knowledge b/c they have similar syntax. The old [CoffeeScript Mode](https://github.com/fjenett/coffeescript-mode-processing) relied on the [Pjs](https://gotoloop.github.io/processing-js.github.io/reference/) library in order to run its transpiled sketch on the web. Which by the way is …

---

<div class="post-metadata">

**Author:** ![josephh](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/josephh/32/210_2.png) [@josephh](https://discourse.processing.org/u/josephh)\
**Post date:** [March 18, 2023, 2:43pm UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/5 "2023-03-18T14:43:58Z")

</div>

Hi @jounce,

> [@jounce](#):
>
> Python slow drawing

Can you elaborate on that?

> [@jounce](#):
>
> js worst language

True for the most part (see [here](https://jsisweird.com/)) but with the progress of [TypeScript](https://www.typescriptlang.org/) it became an industry leading language and has a large ecosystem of libraries.

> [@jounce](#):
>
> C++ hassle drawing

Couldn’t agree more, it’s just not made for that type of fast prototyping and quick iteration when live coding. I tried [Nannou](https://nannou.cc/) which is an equivalent of Processing in Rust but I struggle to work with it due to compilation time and not so easy to make changes.

And about Processing in Java, it’s quite easy to get started and you have the power of the object oriented features, generics and the standard Java library which is powerful. It can sometimes get a bit verbose but I still find it elegant 😉

---

<div class="post-metadata">

**Author:** ![jounce](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@jounce](https://discourse.processing.org/u/jounce)\
**Post date:** [March 19, 2023, 3:55am UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/6 "2023-03-19T03:55:19Z")

</div>

> [@josephh](#):
>
> Can you elaborate on that?

turtle drawing

> [@josephh](#):
>
> (see [here](https://jsisweird.com/))

yeah i found it here [JavaScript: The World's Most Misunderstood Programming Language](https://www.crockford.com/javascript/javascript.html)  
i dont know why its the worst,but i get scolded at if i use it

> [@josephh](#):
>
> And about Processing in Java, it’s quite easy to get started and you have the power of the object oriented features, generics and the standard Java library which is powerful. It can sometimes get a bit verbose but I still find it elegant 😉

yeah i am laerning java

---

<div class="post-metadata">

**Author:** ![jounce](https://avatars.discourse-cdn.com/v4/letter/j/4491bb/32.png) [@jounce](https://discourse.processing.org/u/jounce)\
**Post date:** [March 19, 2023, 4:27am UTC](https://discourse.processing.org/t/stuck-with-the-worlds-worst-language/41340/7 "2023-03-19T04:27:35Z")

</div>

ps:on your quizzing website,i found out that i have these misunderstandings:  
2.Trailing commas are always a thing,not only when they are the last of a line  
5.The comma operator outputs the last item,not the first.  
7.Arrays are truthy,nil strings are not.Empty ones sometimes true,and I am confused  
8.Dumb error,a number is inputted,and i automatically put quotes around it when reading.  
15.I thought that there would not be SEs but there is one,and you cannot change the value of literals  
18.Javascript isn’t that bananas.  
20.Thought that would return 0(coercing into number) so randomly choosed  
24.(i knew that shorting behaviour and used it a lot of times to replace if but)Coercing before and,never been wronger.And after shorting,you’re in the clear.  
25.Did not trust the javascript bananas enough to think that it would still be a number(i know that it may be 0,but then thought “its impossible for this huge stuffs to be still a number”)

* * *
About the everyday usage,the logical shortcutting is obviously a must-have,which along with the comma operation,supports one-liners.The !! and + is also a must-have,but I wouldn't try to use the - operation to convert a string to NaN.
* * *
A second test makes: 23.Undefined cannot be coerced into a number.
* * *
Anyways,it says that I'm a above-average.May have to do with the faact that I started programming JS at the age of 6.(im 12 now)
