In this program, you'll learn to calculate the power of a number with and without using pow() function.

```
fun main(args: Array<String>) {
val base = 3
var exponent = 4
var result: Long = 1
while (exponent != 0) {
result *= base.toLong()
--exponent
}
println("Answer = $result")
}
```

When you run the program, the output will be:

Answer = 81

In this program, `base` and `exponent` are assigned values 3 and 4 respectively.

Using the while loop, we keep on multiplying `result` by `base` until `exponent` becomes zero.

In this case, we multiply `result` by base 4 times in total, so `result` = 1 * 3 * 3 * 3 * 3 = 81. We also need to cast `base` to `Long`

because `result` only accepts `Long`

and Kotlin focuses on type safety.

However, as in Java, above code doesn't work if you have a negative exponent. For that, you need to use pow() function in Kotlin

Here's the equivalent Java code: Java Program to calculate power of a number

```
fun main(args: Array<String>) {
val base = 3
val exponent = -4
val result = Math.pow(base.toDouble(), exponent.toDouble())
println("Answer = $result")
}
```

When you run the program, the output will be:

Answer = 0.012345679012345678

In this program, we used standard library function Math.pow() to calculate the power of base.

We also need to convert `base` and `exponent` to `Double`

because, pow only accepts `Double`

parameters.