Text-based vs Blocky programming?

khanghy2130

  • Posts: 122
What do you think is better? Or they both somehow can help each other? Provide Pros and Cons.
I found a lot of conflicts here.
"Instead of spending ages discovering that they have missed a colon from the end of a line, kids are able to spend more time thinking about the logic of their project. They actually spend more time on computational thinking and less on keeping the computer happy." - www.techagekids.com

LIBERADO

  • *
  • Posts: 2684
What matters is that you're solving problems using computers. Whether you do it through a traditional language vs. a visual one doesn't matter. You're still going through the same thought processes no matter what language you work in.

It's not "cheating" because you're just working at a higher level of abstraction. The higher you go, the more approachable it becomes. The lower you go, the more efficient and hands on you can get.

More and more people (including major universities and school systems) are starting to recognize the benefits of learning these fundamentals through a visual language versus a traditional one.
I'm spanish, excuse me for my bad English.
I'm not a private teacher. Please, post your questions in the public forum.

gurigraphics

  • Posts: 688
Liberado summarized well.

I only add:

Write blocks is more faster to create and edit a function.
Visual blocks is more faster to order and sort these functions.

With Plurality my idea was integrating the two things:
https://forums.tigsource.com/index.php?topic=59097.0

But, without a prototype, people do not even read what you write.
Because, this is something that they no have interest or necessity.
And without practical experience, they also do not understand the benefits.

ceosol

  • *
  • Posts: 2274
I find writing code to be incredibly boring. I think it is why I have a mental block against learning any code. In my opinion, if you want to be a high level programmer in a company, you need to know how to write code. You would need to be able to adapt to whatever the job calls for. That could even mean switching your preferred language at any time - and you need to have some coding knowledge in order to do that.

Now if your goal is not to be a programmer in some company, then I believe visual languages are fantastic. Solving problems and learning computer logic is so much easier to do with a visual language. Personally, I love being able to just play around with block assembly and seeing what happens. I would not be able to play around with coding because I would be missing those colons all over the place. The only way I could get by - while coding - is having some tutorial open and copying everything they do... but then I am not learning anything.

In SadiQ's case, he wanted to learn how to code without diving straight into learning a language. So he figured out which Stencyl blocks work the way he wanted them to and then used "view code" to see how to write it. He is now very good at coding.

gurigraphics

  • Posts: 688
Quote
I find writing code to be incredibly boring.

Art is similar with programming. If you do not have the patience to position each pixel in proper place, and have hurry - Disregarding this as part of a system, where everything has the same degree of importance, and which requires the same level of dedication - you do not reach an extraordinary level of art.

And being able to do this can be also very boring.
Or like Thomas Edison: "1% inspiration and 99% perspiration".

The difference is that art is like paper "accepts anything."
And it does not tell you that your work was not efficient.
Because, that's something you'll only know much later.


As nobody will read what I posted there, I transcribe here:
Quote
But what I try to point out is that visual programming should not be associated with anything just for beginner.

The paradigm: Can be advanced to create the code from scratch, but it is not smart to do this more than once.

A beginner who uses a very well-implemented script, he is a professional much more advanced than another that creates a jerry-rig from scratch, or loses all afternoon to try reinvent the wheel.

That is, are the "results", is the "solution of problems" that define what is advanced or beginner, efficient or only waste of time.




« Last Edit: January 18, 2017, 09:26:58 am by gurigraphics »

khanghy2130

  • Posts: 122
Visual programming is a tool to write codes for us.
Pros: eliminate errors > programming more effective . Easy to read and understand > find errors quicker. Remove and add blocks easily. Don't have to remember the codes, just remember where the blocks are.
Cons: limit the ability, well Stencyl allows us to make custom blocks.

Visual programming has pretty much what we need, but not all. Some programmers who work on engines  don't know how to code, they still get the job. Maybe as freelancers.

« Last Edit: January 18, 2017, 01:18:44 pm by khanghy2130 »

Hectate

  • *
  • Posts: 4645
I've seen/heard these questions a lot, and I use both. Blocks are great for quick prototyping, as long as they let you do what you want. I'm not afraid to dig into code for things (like transitions!) that require a more custom solution (new classes, complex algorithms, etc).

Interestingly, the "blocks" paradigm is not the only visual programming language out there. "Node" based languages (Unreal engine, for example) are growing in popularity. They definitely make it "easier" to trace the flow of the code around functions. Some people don't even think of them as programming, but that's what it is; human-created instructions for computers.
:
:
Patience is a Virtue,
But Haste is my Life.
Proud member of the League of Idiotic Stencylers; doing things in Stencyl that probably shouldn't be done.