Running “Hello World!” in 10 VISUAL Programming Languages!

preview_player
Показать описание
In this video, we will explore the fascinating world of visual programming languages. I'll be introducing ten unique visual languages and demonstrating how they work by running the classic "Hello World!" program in each one.

Рекомендации по теме
Комментарии
Автор

I personally think visual languages help easily get people into the idea of programming without driving them away due to the idea that programming is "hard" visual styles look simpler, and feel simpler to the end user.

However as someone who work purely in text based languages, I prefer not using visual languages unless it is to aid others in learning the idea of how to write code. And even then, I will often teach them a simple language like, Python, rather than Java, C++, C or C#.

HellFireNeko
Автор

When I talk about how I got into computer science with a kid or parent, I never fail to mention Scratch. The thing got me to where I am today. It doesn't teach you complexity, memory usage, or complex algorithms, but it lets you have fun long enough to trick you into understanding that a computer is only as smart as you make it.

rijaja
Автор

Man the programming in VR looks BANGER

atalamcom
Автор

There actually is a visual programming language which you program in VR. It's called Logix and it's the native programming language in NeosVR. Just about anything can be written in it. It's mainly used for scripting avatars, environments, and tools. It is placed in 3d space, but many people use boards which the Logix nodes snap to in order to keep them organized

gavinbowers
Автор

I feel like Blockly is extremely useful because it can also teach you how to write in said language. You place the blocks and it makes the code for you, you can read over the code it made to get an understanding of how the language is written, and once you're ready, you can eventually write in that code by yourself.

Machodave
Автор

There is a really common visual language that should have at least gotten a honorable mention (or maybe a dishonorable mention since any program written in it becomes spaghetti code), LabVIEW. It’s is used to control lab equipment (such as oscilloscopes and lock-in amplifiers) and is designed to look similar to electronic circuit diagrams, yet it incorporates things like for and while loops.

tordjarv
Автор

1:40 Kodu Game Lab (1)
3:13 Scratch (2)
4:01 Blockly (3)
5:01 Raptor (4)
5:57 Greenfoot (5)
7:08 Pure Data (6)
(7:20 Max/MSP)
8:51 Node Red (7)
10:18 Snap, Pencilcode, Kitten Editor
10:24 Pygmalion (8)
11:04 Sketchpad (9)
11:54 Cube (10)

jagpreetsingh
Автор

12:50 Theres also the Logix in NeosVR! The nodes are 2D, but are objects in 3D space.

gamethecupdog
Автор

I'm an admin of a large programming server and it's really interesting to see the kinds of people who slag off VPLs. Beginners love them because they're easy, experts love them because we recognise that understanding how programming works is more important than learning a language, but those who are a couple steps off from beginner hate them because they're seen as things for babies. Every professional that I know who knows about Scratch (in particular), loves it because it's just such a good introduction to thinking like a programmer.

I think VPLs haven't taken off because of the stigma that they're for babies, and people can be very vocal about their opinions and want others to think that they're bad and that it's not real programming.

VPLs also have the issue of that they benefit from being simple and that means that they end up needing to be limited. You can't just add in every single thing a programming language can do because now you've just got something that is really cluttered because you've got what is essentially a programming language but boxes, lines, and they aren't necessarily in straight lines. They're more limited to very specific use cases and need to be designed around the function.

I'm currently in the planning steps for a VPL of my own for a service I'm making and with what I need it to do I'm unable to build off the experience of others and I need to reinvent the wheel. There's so much more work that has to be done for a VPL than if you were to just make a library for developers to use, you're shifting the effort from the user onto yourself.

precumming
Автор

I got a visual programming concept called Triangle, where triangles are the building blocks of the program. In Triangle, the entire program is situated in a triangle where you can begin to program.

Step 1: Design and Description of Blocks in Triangle

Pretty much every block in Triangle splits the input triangle (the triangle where the block is) into 4 smaller triangles in some sort of Sierpinski Triangle style which are each used to do something (either convey what the block is or make space for a smaller input triangle) or do absolutely nothing and be considered part of the one that conveys what the block is.

Return: The "return" block has a blue right arrow that is used to convey it on the top triangle, and a dark blue letter S that denotes a string in that input triangle on the centre triangle. It puts it onto the console.
Mathematical Operations (Add, Subtract, Multiply, Divide, Exponentiate, Square Root, Cube Root, Logarithm, Natural Logarithm): The mathematical operation blocks have their respective symbol in blue that is used to convey the operation it represents on the top square, and their operands are represented by dark blue letters N that denote numbers on the left and right triangles (for single operand functions, their operands are at the centre triangles). They do their corresponding operations where the left triangles are the first operands and the right triangles are the second operands (for single operand functions, the centre triangles are their only operands).
Concatenation: The "concatenation" block is similar to the multiple operand mathematical operation blocks, but the operation performed is concatenation and the operands are now strings.
Repetition: The "repetition" block is similar to the multiple operation mathematical operation blocks, but the operation performed is repetition and the operands are now a program and a number.
Condition: The "condition" block has a blue letter I to represent the block in the top triangle, the boolean is a dark blue letter B in the centre triangle. If the boolean is true, the left triangle (a dark blue letter T) is executed, and if the boolean is false, the right triangle (a dark blue letter F) is executed.
Variable Declaration: The "variable declaration" block has a blue VD for Variable Declaration on the top triangle, the name is a string, a dark blue S and the value is a number, string or boolean, a dark blue P for Parameter in the right.
Variable Usage: The "variable usage" block has a blue VU for Variable Usage on the top triangle, and a dark blue S for String in the centre.

Step 2: Moving and Scrolling

When you put too many blocks, it may be time to zoom in to the program. So how do you do that in Triangle?

Moving: You can drag with the mouse, or use the arrow keys on the keyboard to move across your program.
Zooming: You can use the scroll wheel, or use the O and P keys to zoom in and out, respectively.

Step 3: Libraries and Servers

Time to look outside the program. Here are how libraries and servers in Triangle work.

Creation: To create a library, you have to create a superprogram that is a Triangle program specifically meant to create libraries.
Uploading: You can double click the program to upload the program onto any library you are allowed to upload projects to. As for servers, your projects will be given an ID after uploading. Servers have ID's that may appear on your project's ID.
Style: You may see a hexagonal pattern when in the library/server's page.
Accessing: You can see project ID's while hovering over them. If you see the ID of the project you want to access, click on it and you can run the program and view it's console.
Reporting: You can report bugs or violations of TOS to the creator of either the project or the Triangle website, but neither I, nor the creator of the Triangle website, can guarantee a fix to bugs in or deletion of any project.

Now for the full reveal: the "Hello World" program written in such a programming language, converted to plain text:

T: ->
C: S ; "Hello, World!"

T = Top
L = Left
C = Centre
R = Right

Farzriyaz
Автор

I absolutely love visual coding. I make worlds/game for VRChat, and they have Udon which is a block based language with “noodles” to connect the blocks. Udon being visual is the only reason I’m able to actually make games and stuff, because I find it much harder to understand text coding than blocks connected with lines

zskull
Автор

I've tried node red in the past and honestly i loved it.
Glad it got on this list.

hyphen_tv
Автор

ardens can't even survive a 1ms on twitter because of that joke 💀💀💀💀💀💀 (very bad joke, I DON'T regret making this)

edit: haha I'm not saying "mom I'm famous".. hol up, this is metahumor, but saying this is metahumor makes it more METAHUMOR, this is a loop.. THIS SENTENCE HAS INFINITE RANK OF METAHUMOR :O

Also for this comment to have this many replies and likes, it means Arden's video is very popular. Good job Arden's!

balkcat_inf
Автор

For creating an FSM (Finite State Machine) for a game, it's incredibly helpful to have visuals. For example setting up animation states visually, and how they interact/transition to one another works wonders visually.

Despite how helpful visuals can be, most programmers including myself prefer text based. It's just far more efficient, and straight forward

EDIT:
Should mention that I meant to say Visuals can be used alongside Text

hyperlybola
Автор

Great video! I haven't heard of most of these languages.

ozonegamedev
Автор

amazing and very informative video! as always

SlimeyDev
Автор

next we're going to see a 4d visual programming language called Hypercube

taube
Автор

I used Kodu Game Lab, Scratch and Blockly when I learned to code :) Nice video, this is really informative and interesting! :)

stysan
Автор

I personally think visual programming languages are very helpful depending on what you're trying to do, and I think going forward we're going to see more people who first learned via visual languages, or even crazier, people who exclusively use visual languages. I know the developer of a game called Project Feline said he's doing all the coding in Unreal Engine's visual code editor tool and it's gotten a decent ways there in terms of development

ozzi
Автор

I have plenty of experience using Scratch. Actually, I recently made my GMTK-GameJam game in Scratch. It went fairly well, I got a place a bit behind 2300, which I find to be perfectly acceptable.
You highlighted the two dimensional nature of Visual Languages, which is one of the reasons I procrastinate learning to make games in an actual engine and not Scratch of all places, though I must admit that it has its upsides programming in Scratch: You can make a functioning prototype in a few minutes.
Sure, when you then try to flesh your idea out, you will quickly come to the point where it gets harder and everything requires ages to do, because well … you need to do everything from scratch.
This is the only thing I am really missing in Scratch: The tools of a game engine.
Scratch isn’t a game engine currently, but I hope that someday, it can be used as one.

itsstormcraft