And much more!

Coding

Babel - Code Translation

What does Golfing mean?

SUBLEQ a b c = ;Mem[b] = Mem[b] - Mem[a]
;if (Mem[b] ≤ 0) goto c
What is so special about this instruction?

Did you know that there are more than thirty five languages in the C family?

Babel is about how programming is different in various languages.

There are thousands of languages to program in, and new ones are coming up each day. For this event, however, we divide them all into three families :

Strict languages : Languages like C/C++, Java, Visual Studio family, OCaml etc. These are usually close to the system. They can do just about anything, and are usually efficient (efficiency in Java is a joke ).

Scripting languages : PERL, PHP, Ruby, Python, Lisp etc. These are aimed at making the prorgammers' lives easy, and have a rich syntax and libraries. However, they are not all that strict and donot prevent you from writing bad/crappy/obfuscated/nonsensical/underhanded/plain evil code.

Esoteric languages : BrainF**k,Assembly and a ton of other weird languages. These have one thing in common. A programmer cannot think naturally and write programs in them. Why are they there? Some of them are indispensible, some of them just have a steep learning curve and are actually cool, and some of them are good fun!

Event Format

The event consists of two rounds, a preliminary written round, where you will attempt to convince us that you know some programming, and the finals, which will be hands on. If you are scared to translate alone, form teams of two or three people.

FAQ

  • How many languages must a programmer know?
       The more the better. Its good to know different types of languages.
  • What do you mean by knowing a language?
       Knowing a language is not just about being familiar with the syntax. Its about "thinking in the language". This means following the style of the language, using its features to the fullest and following the conventions advocated by the other users.
  • What should I do for the prelims?
       A good idea would be to learn some programming languages, say one from each family. It also pays to know when to use a particular language.
  • Is Chef Turing complete?
       Stuff like this are completely unnecessary to know for the purpose of Babel! By the way, it isn't.

Contact

Sriramkr

Coordinator, Babel

sriramkr20@gmail.com

+91 9444809488

Vivek

Coordinator, Babel

vivek.sesha@gmail.com

+91 9444658851

For any queries, please contact the coordinators at babel@shaastra.org or visit the Shaastra Helpdesk