An Interesting New-ish Programming Language - GP
#1
GP is a cool language that caught my eye because it's fully block-based (like drag-n-drop programming) with even the bootstrapper made in GP.
It's also possible to run on every platform, even in the browser (On Android and iPhones' browsers as well)

The only downside is that it is very very slow (due to being an interpreted language) and seems to have a small memory leak. Hopefully these things can be fixed if the bootstrapper and interpreter/VM is remade into Rust instead of whatever it is now (Still kind of closed source until the first release comes out)

The thing I love about it is it is very easy to mod with the 'standard library' being made out of blocks and that the blocks' source can be converted to a textual source file and vice versa if needed or if that is more comfortable.

You can find their website here
Their forum is here
and you can run it online here

Do any of you guys think 'Visual programming' or drag-n-drop programming will take off?
Reply
#2
@Calloway,

First, welcome to the forum.

To answer your question: As with any methods of programming, there are strengths and weaknesses. There are no one-fits-all tools that works for everyone, though many people attempt to create one. Saying that, there are a few schools in the world that use drag-and-drop-block programming languages, like GP, to teach younger students, but it isn't something I could see a more serious developer use for complex projects including those for sell.

However, such programming methods would be fun for many of the computer programming hobbyists, tinkerers, amateurs, and enthusiasts out there in the world. This type of programming method could become popular with many of them, depending on what they want to do.

One major issue I have with the drag-and-drop block programming methods is it is way too time consuming to use to create any projects of substantial size in a timely manner. Another issue for me personally is it takes away the crafting the words of a programming/markup language. To me, writing a computer program program/app, is like writing a book or novel. You are telling a story, not only by the end result of the finished software, but how the code is written internally.

In saying all that, I really find the concept of drag-and-drop programming to be very intriguing. While the current forms are not very appeasing to me personally, one could take the concept to a much higher construct. The really interesting thing is, this concept has been done in higher constructs for many, many years, but not on any real computers.

A perfect example, one of my favorite TV shows from 1974 (boy I'm young), "The Land of the Lost", featured brightly glowing crystals, found in caverns and Pylons by the adventurers, that could be placed together to create amazing effects, or on a Pylon table with indentions made to hold the crystals, that could configure the destination of dimensional gateways. One Altrusian in the Land of the Lost named Enik, was an expert at crystal manipulation. You could consider him a master programmer of sorts. The crystals represent a programming language, especially since you could combine the various colors of crystals, of those of the same color, to create different effects, just like how you write computer programming code.

Another great example is the Star Gate technology in Star Gate and Star Gate Atlantis. One could program the destination of the Star Gate by simply pressing the right quantity of (usually 7) and sequence of symbols out of the 39 inscribed symbols on the gate and the DHD's.

Overall, the concept is great, but for a craftsman developer like myself, I have no interest in it.

Thank you for sharing your findings and interests.
Dedicated to empowering computer programming hobbyists, tinkerers, amateurs, and enthusiasts.
profile for Walter Whitman at Stack Overflow, Q&A for professional and enthusiast programmers


Reply
#3
My thoughts on "drag and drop" programming have evolved. Don't you just hate that word, evolved? It's a liberal coin for, I'm too stupid to get it right the first time, but I don't want to admit that to anybody out loud, so  I "evolved." Anyway, that's a bit tongue and cheek but there is some truth to it.

So about drag and drop... I used to be very much against it for beginners. BASIC was simple enough but at least it taught coding. The drawback is even when you get good at coding, it takes a lot of time to get a little done; however, a big plus is you can customize just about anything. I think that given enough time, the program situation proves to be quite Darwinian, in that a standardized way of presenting results eventually evolves. So then the argument goes to, "Why take forever to achieve that result when code blocks can be "dropped" into the program? That's a good argument, especially for those who are more interested in building something than learning how to code the same thing. I mean the whole concept of AI revolves around having a machine interpret our speaking language, and not using a keyboard to write a minimum 1000 lines of code to have it do just one useful thing like drag and drop Bill into the nearest black hole.

So kidding aside, I'm glad I learned BASIC and I'm still more partial to coding than drag and drop systems. I'm just not against things like OOP anymore in other programming languages, even for beginners. If QB64 ever went this route, I would only hope whoever developed it would split the project into the basic BASIC and the OOP / drag and drop, code blocks version.

Pete Big Grin
Reply
#4
Hmm... Sounds similar to Scratch 1.4 and 2.0 for kids. My eldest grandson uses it from time to time. It's not as powerful as other languages but it teaches them basic logic...

Can you imagine, if QB64 could be run like that, how quickly and easily a program/game to be 'clicked' together? That would be so cool.

J
May your journey be free of incident.

Live long and prosper.
Reply
#5
it is not slow because is interpreted than because that type require one more layer
for interpretetive processing and that is why all of them are slow wvwn somw can translate to C
or C++
Reply