Computer programming is not everyone’s cup of tea, just like how astronomy, business management, or filmmaking only suit some. But as in any field, having a profound understanding of the basics can get you off to a good start.
That is why Filipino software engineer Joel Bryan Juliano developed Bato, a programming language with Tagalog syntax based on the Ruby programming language.
As the name suggests, Bato, or “rock” in English, intends to lay a solid foundation for budding Filipino programmers, who are more likely to understand programming in their native language.
In an email interview with Speed, Juliano said that he began developing Bato back in June 2016 as a learning tool for his nephew and his friend, who, like most people, would find themselves at their wit’s end when it comes to programming.
“I really intended Bato to be just a learning tool to build confidence in understanding programming by heart. If they understand what is happening on a program in their native language, they can easily express it in the mainstream language,” the Amsterdam-based software engineer told Speed.
“It started when my nephew, together with his friend, asked me to teach them basic programming or else they will fail the subject. After so much discussion, I noticed that they could not fully comprehend some concepts that I am talking about,” Juliano recounted.
“So, I started explaining the concept to them in Tagalog, which they fully comprehend. That night, I started working on Bato, which I planned to use as a teaching tool for the next day,” he continued.
“The next few days I started using Bato, I noticed that it’s easier to teach them programming concepts. I was tweaking Bato every time after I finished teaching, changing it based on how I explained certain concepts in Tagalog.”
“IF THEY UNDERSTAND WHAT IS HAPPENING ON A PROGRAM IN THEIR NATIVE LANGUAGE, THEY CAN EASILY EXPRESS IT IN the MAINSTREAM LANGUAGE.”
Juliano’s efforts were not in vain. A week later, his mentees effectively coded their final assignments, all with the use of his Tagalog programming tool.
“At that point, I realized that people can be taught to code regardless of their educational background. Status quo and barrier of entry can be lowered, as long as they can do their thought process in their native language,” the proud uncle said, adding, “We should use our native language because it’s easier for us to think and communicate that way.”
Juliano’s work on Bato is far from over, as “there are still some small parts that are undocumented,” he said to Speed. He published the project on GitHub the same year he created it and continues to strengthen it, “relying heavily on open source help from contributors.”
Heeding the call of his talent
While most people deem programming menial labor, Juliano is one of the lucky few who developed a deep love for computer science and data analytics at an early age. The 38-year-old software engineer first learned to use MS-DOS when he was 10 years old and in that same year, he uploaded his first two online contributions on a bulletin board system “probably LiveWire, FireBank, or 8th Dilemma.”
Juliano’s first contribution was a “CMOS/BIOS Overclocking Guide—a text file with instructions on how to overclock and speed up a 386 PC via CMOS settings, albeit a risky one.” The other was a “compiled MS-DOS executable file that runs an ASCII (American Standard Code for Information Interchange) slideshow of Japanese anime YuYu Hakusho.“
His keen interest in coding prompted him to take up computer science at AMA University while working as a freelancer focusing on “GTK+, C/C++/HTML/JS, and VB projects.”
Although Juliano has spent most of his life mastering programming, he still considers developing Bato a tough grind. He explained, “I guess one of the challenges is how [to] contain Tagalog into programming semantic. Tagalog is a very expressive language and it is hard to really uniformly use the same keyword over and over again.”
“Throughout the development of Bato, there are many ways to express a loop or a switch statement. For example, I added two semantic words for ending a program: ‘wakas‘ and ‘katapusan.’ Both of them can do the same thing, but sometimes you might want to use “katapusan.” You want to use a keyword that is in harmony with your code,” he said.
“If you read a Bato code, it should read like a Tagalog letter, and a beautifully communicated letter is a good indicator of a good Bato code.”
Still, Juliano remains steadfast in his goals to make education, particularly programming, accessible to Filipino children “by teaching it in their mother language.”
“It feels great to have a tool to help people in their thought process,” he said. “If you can’t understand a program, I say, ‘Try Bato first and you’ll understand what’s happening in your program.’ Understanding technical things in your native tongue is a very powerful tool. If Japan, South Korea, Europe, and many other first-world countries teach in their native tongue, why can’t the Philippines do it as well?”
Strengthening computer education in the Philippines
Since Juliano published Bato four years ago, the Tagalog programming language has earned a total of 12,000 downloads. Some of which are from teachers and students exploring coding.
“I was told by one of the young people I talked to that a professor in a university in Metro Manila uses it to teach [programming] and encourages his students to learn it,” Juliano remarked, noting how it has also been gaining the interest of people on social media.
“Last week, I checked a Facebook post that I was tagged in, and the post is about Bato with over 6,000 shares and 8,000 likes. Also, another old post about Bato has over 2,000 likes and shares,” he said.
“It’s exciting to see that more people are becoming interested in the project, and I really welcome them to make contributions to the project via Github. I really want to build an ecosystem of learning materials around it, one that is tailored toward children and the common Juan,” the programmer added.
And as budding Pinoy programmers turn to Bato to hone their coding skills, Juliano also wants them to accompany it with an attitude similar to that used in programming—with clear fundamentals and consistency.
“Learn what is relevant to you, as 80 percent of your expertise will come from the 20 percent of what you know,” he said. “Form a circle, and see what makes sense to focus your energy on. If it’s not relevant to you, and you won’t use it, don’t waste your time on it. It’s okay to not know everything. Just focus on what is close to you, what is relevant to you, and what you can use.”
“Build your domain of knowledge around that circle, learn about them, and learn their rules,” Juliano continued. “And as you learn the upper limit on those things, you will begin to understand and form principles around them. Stand by those principles and use them to navigate your life.”