UrduScript Lets You Program JavaScript in Roman Urdu

Programming is hard. While there has been a recent push to emphasize on teaching kids to learn to code from the very start, there is no question about it that programming is really hard. In fact, some people end up giving up before they are even past the basics.

Moreover, the thing that really doesn’t help is the language barrier. Almost all programming languages that are worth learning are based on the English language. Well guess what, a Pakistani entrepreneur is working on a solution — an informal Urdu-based programming language to get people over the hump.

Meet Asad Memon

Asad Memon is the technical Co-Founder of RemoteInterview, a Silicon Valley-based startup. He is also the person behind StartupList.pk, a much-needed initiative that is like a Pakistani version of CrunchBase.

Asad Memon

Currently, he is based in Hyderabad and works from there. Apart from his job, he also conducts training sessions for programmers in his free time as a way to give back to the community. These topics can be anything from basic programming to advanced (Machine Learning, Web Frameworks, DevOps etc).

He’s also the person behind the Urdu-sounding version of JavaScript, one of the most used programming languages today.

What is UrduScript?

“JavaScript ka Urdish dialect.”

In Asad’s own words, UrduScript is an Urdish (Urdu+English) dialect of the popular JavaScript programming language. Also known as Roman Urdu, this form of language is commonly used in Pakistan as an informal way of communication. Asad has intentionally tried to make use of this informal language in order to make programming more inviting and appealing to people who are not that comfortable with English.

“I developed it with a goal to make programming more accessible to beginners from South Asia,” said Asad, while talking to ProPakistani.

“UrduScript uses Urdu words and analogies to convey programming concepts, making it easy to get started without remembering hard commands and keywords.”

When teaching programming, using analogies is a really common method for making a person understand something. The whole concept of object oriented programming is based on analogies of using an actual physical object with its own attributes and classification, etc.

Similarly, Asad plans to use Urdu analogies in UrduScript to make it easy to get started without remembering hard commands and keywords. The keyword for declaring a variable becomes “rakho”, an if-else case becomes “agar” and “warna”, while a print statement is simply “likho.”

Here is what a basic “Hello World” program looks like,when written in UrduScript,

The question, however, remains that will this be enough? A number of people have asked Asad why he didn’t go all the way and use the Persian script of Urdu, or the way “Pure Urdu” is written from right-to-left, instead of using this Urdish dialect.

Here are four reasons he gave us for not doing it,

  • Persian-like alphabets are not native to our keyboard.
  • The default non-nastaliq font is hard to read.
  • Right-to-left coding style is horrible.
  • Newer generation is adapting Urdish rapidly.

If you are an experienced programmer, you might find this stupid. Per ye apke liye nahin hai,” added Asad.

Contribute to UrduScript

Alone, Asad can do only so much for UrduScript as a side-project. In return, all he wants is some contributions from other people to contribute to the language. You can help out even if you aren’t a programmer.

You can read the full post with more details about UrduScript over on Asad’s own blog or on the project’s GitHub page.

  • Might be just my opinion but this solves the wrong problem. Instead of teaching people here globally accepted concepts and terms, we’d just be delaying the inevitable. There is a lot more to programming than just the keywords and syntax and all the core concepts are best learned in English.

    Even in this above JavaScript example, how would you explain that to declare a variable or a constant, you need to write ‘rakho’. You’d first need to teach kids what a variable/constant is and then they’ll have to work out what the ‘rakho’ keyword means. Compare this to the actual keywords in JavaScript for defining variables and constants – ‘var’, ‘const’ and ‘let’ – which make pretty clear the intent of the statement as well as the concept behind them.

    • Their are millions of open source things floating around. Most of them are not useful for regular dudes like you but all of them show the possibilities of code.

      Often I see out of box js animation with no practical use and if you ask coders why? They would say because its possible. Just don’t criticize on everything.

    • The problem is those keywords don’t convey the clear intent. They make sense to you because you already know them and the background to them. Try telling those to a local 10 year old and you will know what I mean.

      About uselessness, perhaps you are right, but I am trying to test this theory. Hence the proof of concept. I will convey the analogy of a box to them and then tell them to ‘rakho’ something in that box.

      I am not trying to replace JS. I am trying to make the first step easier. After which they can transition to standard JS easily.

      • I appreciate your effort, you should keep working on that. I am not a hard core developer like you, I just know the basic of HTML, CSS and JavaScript – learning from Udacity Nano degree right now.

        I support your idea because of the following reasons:

        1. It is appealing to learn, and easy enough to make you mad to learn to code because coding is seen complicated. But the picture above of IF logic is great and easy to learn.

        2. If the first impression you make that it is easy to learn, and it develops curiosity. And if the person is curiosity oriented, he will learn the rest from the internet. All you need to make them curious, teach the basic then occupy them the courses that are available for free online like Codeacdemy, Udemy and Coursera.

        3. I don’t know if you can make or not for all major programming languages this type of stuff, it would be great – for HTML, CSS, Javascript, PHP or Python.

        • Thanks.
          Regarding #3: It’s currently for JavaScript already. Stuff like this can be made for any language actually. But that would be a separate effort. Maybe someday.

      • your sample editor is not even working what you will say about that………! there are too many errors in console. :P

    • I don’t think you need to teach all that to start with. For a counter-example, open a copy of SICP or HTDP and see how they teach programming concepts.

  • roman urdu have no standard …. some will write your likho as lehko etc , and we will be stuck it print

    • kiyaaa ? oh bhai, jab pata nahi hota to har post par comment mat kiya kro, pagal oracle se kiya kam hai iska ? hahahah tuney bhi bs comment k chakar mey google krliya k computer progamming kiya hoti hai aur koi random word utha liya without any prior understanding.

      Idiot. Kuttey k bachey

    • Abdul Wahab Rehy do. kam az kam ye pooch lethy iOS Aur Android Same hota hai.

      By the way. Oracle is RDBMS (Database) which uses TSQL. Means you can save your data in tabular form. (as you save your data in Excel sheets). Oracle has programming scripts you can use for manipulating data (store procedures, functions etc). i.e. You can play with tabular data. for example i can tell oracle to give me all records of people who belongs from Karachi, and there postal code is XXXX. But these information would not help you until you combine and manipulate.

      On the other hand Java is programming language (now acquired by Oracle). You can develop softwares for desktop applications, Network applications, web applications, services and mobile apps. Java and other programming languages make connection with database (Oracle), get/update/save data and display some meaning full information. Lets take example of get people belong from Karachi having Postal code XXXX. You can see these information on beautiful page and get idea. you can print, save and email these information……

    • Oracle is company , and they are the developers of JAVA , mean they maintain java improving time to time . java is programming language it start owned and developed by sun microsystems , now owned by Oracle . hope confusion is clear . …………. Ignore the idiots @Muhammad Kamran and @Paksitani , nothing to be ashamed , good you asked Question

  • Excellent man! Now i can continue my programming. I mean i started with python and ruby but left in midway, but this is kind of v catchy. Thank you

  • How can i try it on my Android phone, i am desperate but lazy enough to get up and on my laptop, though its old fag which takes so much time to start, btw, shahbaz da laptop is solid.

  • If javascript has already been translated in Chinese by Chinese, only then, the translation in Urdu will be successful.

  • >