Oh man. I just looked over your whole list of py vs. go example codes. I dunno how aesthetic wasn't mentioned!
I've been using go just because I'm pretty sure it's going to replace most modern languages in my life, but when it comes to comparing how the two languages read, python hands down. Go has some of the ugliest looking code I've ever seen. And nothing is ever that obvious about what it's doing. Granted, I'll get used to it, it still wastes tons of precious cognitive processing on damn near everything it does.
Still, it has pointers and go routines, so I'm sold. I just wish it wasn't so ugly.
I mean, I get it. "fmt" is what prints the line. I'm glad I get to say that explicitly. But the day I decide to use something else, I'm probably going to want to use it all the way throughout, and then what? I have to replace "fmt" everywhere it is. And I'll probably never need anything else, so it's all the more reason "fmt.println" sucks.
If go just had the ability to allow "fmt" to define "print" as "put the following into fmt.println()", it would clean the code up immensely. There could even be a little golang.list_used_keywords(). So you could check what keywords were being used.
Or something. The point I'm trying to get at is Go is great in terms of functionality, but lacks form. And this is the future, we can do both now. As long as we keep doing one over the other, we'll never stop being the apes of yesterday.
Comment
Oh man. I just looked over your whole list of py vs. go example codes. I dunno how aesthetic wasn't mentioned!
I've been using go just because I'm pretty sure it's going to replace most modern languages in my life, but when it comes to comparing how the two languages read, python hands down. Go has some of the ugliest looking code I've ever seen. And nothing is ever that obvious about what it's doing. Granted, I'll get used to it, it still wastes tons of precious cognitive processing on damn near everything it does.
Still, it has pointers and go routines, so I'm sold. I just wish it wasn't so ugly.
I mean, I get it. "fmt" is what prints the line. I'm glad I get to say that explicitly. But the day I decide to use something else, I'm probably going to want to use it all the way throughout, and then what? I have to replace "fmt" everywhere it is. And I'll probably never need anything else, so it's all the more reason "fmt.println" sucks.
If go just had the ability to allow "fmt" to define "print" as "put the following into fmt.println()", it would clean the code up immensely. There could even be a little golang.list_used_keywords(). So you could check what keywords were being used.
Or something. The point I'm trying to get at is Go is great in terms of functionality, but lacks form. And this is the future, we can do both now. As long as we keep doing one over the other, we'll never stop being the apes of yesterday.