I’ve dabbled (ok ok, writing and rewriting “hello world” many times) in Go for a few years but have never really given it a serious Go (boom boom!) But after buying a GO in Action and going through a number of great Pluralsight courses (particularly by Nigel Poulton and Mike Van Sickle ) I’ve decided to give it another crack.
Instead of going through various tutorials I’ve decided to try porting (well more likely rewriting from scratch) my AzureCopy project. The original AzureCopy is all C# running on the .NET Framework 4.*. Although I DO (well did until recently) want to get it migrated to DotNET Core I thought it would be a good chance to learn Go PROPERLY.
I’m still trying to get my head around OO in a “kinda-is, kinda-isn’t, sorta, maybe” OO language like Go. Going back to structs (ahh glory days of C/C++), interfaces and having the magic of pointers back is really giving me a nostalgia kick.
The rough outline for this AzureCopy rewrite is basically as follows:
- Get my dev environment sorted out (currently VSCode)
- Basic solution structure sorted, rough architecture
- Be able to copy to/from the local filesystem to Azure Blob Storage
- List blobs/containers in Azure
- Add S3
- Add DropBox
- Add OneDrive
Really don’t think I’ll bother with Sharepoint this time around, was a bitch to maintain in the existing version.
I’m unsure what the Go support is like with those cloud providers etc. I know Azure one seems mostly there (well for the stuff I need) but I get the distinct impression it’s the poor cousin to .NET, Java, Python etc. I’ve yet to investigate S3’s Go offerings. Hopefully if these libs aren’t in a great shape I might get a chance to finally get my name on a contributors list somewhere.
I’m sure my Go will suck… but am hoping it will get better. The new version of AzureCopy is ofcourse on Github.