# Limit of Teal language

**URL:** https://forum.algorand.co/t/limit-of-teal-language/3016
**Category:** General
**Tags:** teal
**Created:** [April 15, 2021, 9:55am UTC](https://forum.algorand.co/t/limit-of-teal-language/3016 "2021-04-15T09:55:11Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![cotunho](https://avatars.discourse-cdn.com/v4/letter/c/ee7513/32.png) [@cotunho](https://forum.algorand.co/u/cotunho)
#### Post date: [April 15, 2021, 9:55am UTC](https://forum.algorand.co/t/limit-of-teal-language/3016/1 "2021-04-15T09:55:11Z")

</div>

Hi everybody, so I have some doubts about Teal:  
I have to use Smart Contracts, so code in TEAL, to implement some algorithms that use constructs belonging to more expressive languages (e.g. loop cycle), such as Python.  
So, my question: which are the limits of language?

---

<div class="post-metadata">

### Author: ![dirac](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.algorand.co/dirac/32/896_2.png) [@dirac](https://forum.algorand.co/u/dirac)
#### Post date: [April 15, 2021, 12:33pm UTC](https://forum.algorand.co/t/limit-of-teal-language/3016/2 "2021-04-15T12:33:50Z")

</div>

One example is that branching is limited; you can’t go _back_ in the code (to a previous instruction), TEAL moves only forward. However, you can skip parts of the code depending on a condition.

So you can’t loop. However, creating contracts is very cheap. So you should try to do as much computation as you can beforehand (like collecting participants of a shared fund), and then put them into the contract concretely.
