Re[7]: Чем плох Паскаль?
От: AlexRK  
Дата: 20.06.19 07:25
Оценка:
Здравствуйте, netch80, Вы писали:

N>и с этого момента buka — просто алиас для foo, а ziuka — намеренно отдельный тип, все имплицитные соответствия, конверсии и присвоения запрещены, то же для температуры (ей высоту просто так не присвоишь, матчинг функции не будет происходить, и так далее).


Не уверен, что эти фичи являются показателем строгости типизации. ИМХО, строгая типизация — это когда нет неявных преобразований между типами разной структуры. И паскаль этому определению вполне соответствует.

N>А теперь сюрприииз — в том самом Go, в котором вы увидели только duck typing, то же самое:

N>с тем же результатом — buka идентичен foo (алиас для него), real = float во всём использовании, а вот ziuka, altitude и temperature отделены.

А, ню-ню.

package main

import (
    "fmt"
    "net"
)

func main() {
    var foo net.IP
    var bar []byte = []byte{1, 2, 3, 4}

    foo = bar       // OH SHI~

    fmt.Println(foo)
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.