Query about decision regarding use of Go #665
-
Hello, I am a fan of the GCS and am looking to write something related to this program. I was interested in hearing about the reasoning behind using Go as the language for this project. I want my project to be accessible for many people, but would like a compiled language for speed. My friend, who has followed this project longer than I have, says that you used a different language in the past. Can I ask what prompted the switch, and what the pros of using this language in this context are? Thank you! |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
The very first version of GCS (back in the 90's) used C and only ran on classic MacOS. I then moved to C++. After a while, I then switched to Java to get it running on Linux & Windows as well. I stayed with Java for a very long time (20+ years). Back in 2015, I started using Go in my work and really enjoyed developing in it. Eventually, I decided I wanted to use Go for GCS... but there were some hurdles, the biggest of which was graphics / UI support, which was virtually non-existent. I looked at some of the fledgling projects out there that provided some UI support (such as fyne, gio, etc.), but none of them worked in a way that I felt was workable for me... so I eventually just sat down and wrote my own (the https://github.com/richardwilkes/unison project). Some of the reasons I wanted to switch to Go:
Some downsides:
Anyway, hopefully the above answered your question. |
Beta Was this translation helpful? Give feedback.
The very first version of GCS (back in the 90's) used C and only ran on classic MacOS. I then moved to C++. After a while, I then switched to Java to get it running on Linux & Windows as well. I stayed with Java for a very long time (20+ years). Back in 2015, I started using Go in my work and really enjoyed developing in it. Eventually, I decided I wanted to use Go for GCS... but there were some hurdles, the biggest of which was graphics / UI support, which was virtually non-existent. I looked at some of the fledgling projects out there that provided some UI support (such as fyne, gio, etc.), but none of them worked in a way that I felt was workable for me... so I eventually just sat down…