*There should be one-- and preferably only one --obvious way to do it. *
>From the Zen of Python.
But also good advice for Gophers.

On Friday, 26 February 2021 at 01:03:00 UTC skinne...@gmail.com wrote:

> I have a wonderful video of a GO program I wrote over 5 years ago which 
> will not compile today due to my failure to vendor one lost module. I too 
> had multiple paths in my GOPATH and it varied upon the client. I consider 
> the new modules an improvement but the adaptation has not been without pain.
>
> For students who are experimenting and testing and trying things, and only 
> running and compiling locally, a single experimental repository with a 
> doc.go file and v0.0.0 module for an experimental pkg and cmd works very 
> very well and if they do create a useful abstraction then they can refactor 
> and publish the result with ease at the end of the semester after they have 
> a mastery of the language.
>
> I have a student using vscode and my vscode is complaining that my Go1.16 
> installation does not have a GOPATH.
>
> On Thursday, February 25, 2021 at 6:36:36 PM UTC-6 mar...@gmail.com wrote:
>
>> Given the writing on the wall that GOPATH is going away, what I have done 
>> is created a single module where I keep all my own code, each different 
>> experiment in its own subdirectory. I named it "github.com/...", but 
>> never submitted it to github, so in the future I can do that without too 
>> much fuss if I wanted to.
>>
>> Having been writing Go heavily since 1.2, I find the 
>> all-code-in-one-module approach to be the easiest so far.
>>
>> -- Marcin
>>
>>
>> On Thu, Feb 25, 2021 at 4:21 PM Bob Alexander <bobj...@gmail.com> wrote:
>>
>>> Agreed -- module mode is great for "delivered code". But in a personal 
>>> single machine single developer environment, all the extra complexity and 
>>> manual overhead might not worth it. I'd guess that most students and 
>>> hobbyists don't even use SCMs. My point was that GOPATH mode is good for 
>>> them.
>>>
>>> On Thu, Feb 25, 2021 at 1:38 PM Robert Engels <ren...@ix.netcom.com> 
>>> wrote:
>>>
>>>> That is 100% true but a important point is that using GOPATH requires 
>>>> manual dependency management via ‘vendoring’. This can be very labor 
>>>> intensive and error prone - leading to security issues in your delivered 
>>>> code. 
>>>>
>>>> On Feb 25, 2021, at 3:08 PM, Bob Alexander <bobj...@gmail.com> wrote:
>>>>
>>>> 
>>>> GOPATH mode does *not *limit your Go code to a single directory. I've 
>>>> seen this misunderstanding stated in probably hundreds of various posts.
>>>>
>>>> $GOPATH allows specification of multiple directories.  I've used that 
>>>> capability for several years to distribute my Go code to my personal 
>>>> general library and to various application-specific libraries. Each of the 
>>>> multiple GOPATH directories refers to a Go "workspace", so the result is 
>>>> my 
>>>> general library workspace plus mini-workspaces in various application 
>>>> directories -- each with src, pkg, and bin subdirectories. A single go 
>>>> install installs all workspaces specified in your GOPATH at once, or you 
>>>> can selectively build by temporarily changing the GOPATH.
>>>>
>>>> This is a pretty good setup for me, a decades-experienced software 
>>>> engineer working in "programmer" mode for my personal development.
>>>>
>>>> Go's goal of ending GOPATH mode sounds like a choice to serve the 
>>>> professional software engineer, and not the personal programmer. Module 
>>>> mode is a good thing if you are publishing your code, but is a lot of 
>>>> additional labor and cognitive load for us "programmers".
>>>>
>>>> I wonder if this might discourage adoption of Go by certain categories 
>>>> such as college and high school students, non-software-engineer 
>>>> professionals who write internal programs for their business, and curious 
>>>> folks who want to introduce themselves to Go. It is soooo much easier to 
>>>> set up my environment with GOPATH mode. In attempting conversion to MODULE 
>>>> mode, I've spent lots of frustrating hours and it's still not working 
>>>> perfectly!
>>>>
>>>> So, I am +1 for retention of GOPATH mode (as well as MODULE mode), 
>>>> allowing Go users to make the choice of MODULE vs. GOPATH based on their 
>>>> needs.
>>>>
>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "golang-nuts" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to golang-nuts...@googlegroups.com.
>>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/golang-nuts/CAKyHfRPYgop6YPgk3AcJ4Q43NgV%3D9KP%3DzgYja8Z6FJuc0UuPig%40mail.gmail.com
>>>>  
>>>> <https://groups.google.com/d/msgid/golang-nuts/CAKyHfRPYgop6YPgk3AcJ4Q43NgV%3D9KP%3DzgYja8Z6FJuc0UuPig%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "golang-nuts" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to golang-nuts...@googlegroups.com.
>>>
>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/golang-nuts/CAKyHfRPw125S_800nhBxV9UrqHCaet-8WAO2q%2B1Xah3dhNiS5w%40mail.gmail.com
>>>  
>>> <https://groups.google.com/d/msgid/golang-nuts/CAKyHfRPw125S_800nhBxV9UrqHCaet-8WAO2q%2B1Xah3dhNiS5w%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/e256c4a6-7d44-4139-a464-c6e45a48f125n%40googlegroups.com.

Reply via email to