Re: [go-nuts] Go is for everyone

2016-07-19 Thread Tim Hawkins
I would agree that a end to end tutorial on how to build a complete
project,  say something simple like a blog site, using sqlite,  would be
great, i could even be shipped with the distribution as a starter app.
Also the complexities of workspace layout, projecs standalone libraries,
embedded libraries and using 3rd party libraries. However the tutorial
would need to evolve as the laguage and environment did.

Having something that is a living and evolving example of best practices
will creat a Resource that would get folks like myself with extensive
development experience, just little go experience with a great starting
point, and would also make a good boilerplate starter project.

On 20 Jul 2016 12:21, "simran"  wrote:

>
>
> On Wed, Jul 20, 2016 at 1:10 PM, Matt Aimonetti 
> wrote:
>
>>
>> I learn things bottom up, I need to understand "why" before I can start
>> using the "how". Lots of people don't learn that way and there is nothing
>> wrong with that.
>> There are languages that are more suited to writing basic games and GUI
>> for newbies (Flash was actually great at that). I actually don't think Go
>> is the perfect fit for all new programmers. I do think however that if you
>> want to learn the basics and you're willing to pay a certain price upfront,
>> that's the right approach.
>>
>>
> I couldn't agree with more with an approach that focuses on understanding
> the fundamentals. More than a decade ago (and the example still sticks in
> mind so vividly) i was working with one guy that had some bugs with that a
> webserver was sending back - i told him to look at the headers he was
> getting back, the cookies that were being set, etc as a starting point, and
> he looked at me blankly! It absolutely shocked me that he had been
> programming for 10 years and did not have any idea beyond drag-and-drop
> programming (yes, he was a "professional web programmer" being paid more
> than $100k/yr at that time) - my initial reaction was very judgemental; i
> pretty much put all windows / VB / etc programmers in the same basket -
> drag-and-drop without understanding the basics (i come from a very open
> source philosophy and background and it was not possible to be a web
> developer without hours of trying to compile apache (at least back in the
> mid 90's :) and understanding how things were linking together. Anyway, my
> judgement soon passed over me, as i'm sure others were looking at me and
> saying "how can that guy not understand how hardware works; that's the
> fundamental of all things"!
>
> Not sure if i am wiser, or just older, or more tolerant or more rigid...
> but i now believe that a visual learning style (in a walled environment
> (you can't export  your code and "ship it") like code.org is perfect for
> kids (and anyone new to programming). They can understand the concepts
> while being entertained; it's only the first step of many, but visual aids
> and assistance can lead to a deeper understanding - take for example
> concurrency vs parallelism - the amount of confusion around it is a lot,
> and yet, when you see this visual, everything is immediately crystal clear
> (yes, even 6 year olds i have shown this to get the difference with 2
> minutes of explanation):
>
>
>
> With regards to tour.golang.org, it is absolutely brilliant, but from
> memory, does not take you through things like "standard ways of writing
> unit tests", etc... that's where doing a fictitious but complete project
> would come in handy; code.org lacks this as well, but i feel if we had
> more "complete projects" for various levels, they would be the best help.
> Make going through the projects possible visually (like studio.code.org)
> but with the ability to slowly transition to the code written behind the
> visual, even better :)
>
> One could say there is a LOT of projects out there and we can learn from
> those, but the LOT of stuff out there is usually not good for "learning" as
> it's often missing documentation, stuff needs to be refactored, some of it
> is error prone, it's not structured the best or there's at least some issue
> with it (as it's not structured for someone to learn from). Anyway, i
> rant... but the TLDR version "studio.code.org is a brilliant start; i
> hope we can build on that, introduce some "complete projects" for various
> levels that ensure people understand the fundamentals, and can progress
> towards understanding and building "behind the scenes" stuff.
>
>
>
>
>
>
>
>> In this context, I'd like to personally focus on helping new developers
>> who are interested in building some knowledge foundations. I very much
>> agree about having something tangible they can be proud of, but I also
>> don't think Go mobile is currently a good fit for that. Maybe it's a bot,
>> maybe it's a CLI, maybe it's audio or image processing. I don't quite know
>> yet, but I do know that very basic things such as strings and numbers, use
>> of the terminal, finding 

Re: [go-nuts] Go is for everyone

2016-07-19 Thread simran
On Wed, Jul 20, 2016 at 1:10 PM, Matt Aimonetti 
wrote:

>
> I learn things bottom up, I need to understand "why" before I can start
> using the "how". Lots of people don't learn that way and there is nothing
> wrong with that.
> There are languages that are more suited to writing basic games and GUI
> for newbies (Flash was actually great at that). I actually don't think Go
> is the perfect fit for all new programmers. I do think however that if you
> want to learn the basics and you're willing to pay a certain price upfront,
> that's the right approach.
>
>
I couldn't agree with more with an approach that focuses on understanding
the fundamentals. More than a decade ago (and the example still sticks in
mind so vividly) i was working with one guy that had some bugs with that a
webserver was sending back - i told him to look at the headers he was
getting back, the cookies that were being set, etc as a starting point, and
he looked at me blankly! It absolutely shocked me that he had been
programming for 10 years and did not have any idea beyond drag-and-drop
programming (yes, he was a "professional web programmer" being paid more
than $100k/yr at that time) - my initial reaction was very judgemental; i
pretty much put all windows / VB / etc programmers in the same basket -
drag-and-drop without understanding the basics (i come from a very open
source philosophy and background and it was not possible to be a web
developer without hours of trying to compile apache (at least back in the
mid 90's :) and understanding how things were linking together. Anyway, my
judgement soon passed over me, as i'm sure others were looking at me and
saying "how can that guy not understand how hardware works; that's the
fundamental of all things"!

Not sure if i am wiser, or just older, or more tolerant or more rigid...
but i now believe that a visual learning style (in a walled environment
(you can't export  your code and "ship it") like code.org is perfect for
kids (and anyone new to programming). They can understand the concepts
while being entertained; it's only the first step of many, but visual aids
and assistance can lead to a deeper understanding - take for example
concurrency vs parallelism - the amount of confusion around it is a lot,
and yet, when you see this visual, everything is immediately crystal clear
(yes, even 6 year olds i have shown this to get the difference with 2
minutes of explanation):



With regards to tour.golang.org, it is absolutely brilliant, but from
memory, does not take you through things like "standard ways of writing
unit tests", etc... that's where doing a fictitious but complete project
would come in handy; code.org lacks this as well, but i feel if we had more
"complete projects" for various levels, they would be the best help. Make
going through the projects possible visually (like studio.code.org) but
with the ability to slowly transition to the code written behind the
visual, even better :)

One could say there is a LOT of projects out there and we can learn from
those, but the LOT of stuff out there is usually not good for "learning" as
it's often missing documentation, stuff needs to be refactored, some of it
is error prone, it's not structured the best or there's at least some issue
with it (as it's not structured for someone to learn from). Anyway, i
rant... but the TLDR version "studio.code.org is a brilliant start; i hope
we can build on that, introduce some "complete projects" for various levels
that ensure people understand the fundamentals, and can progress towards
understanding and building "behind the scenes" stuff.







> In this context, I'd like to personally focus on helping new developers
> who are interested in building some knowledge foundations. I very much
> agree about having something tangible they can be proud of, but I also
> don't think Go mobile is currently a good fit for that. Maybe it's a bot,
> maybe it's a CLI, maybe it's audio or image processing. I don't quite know
> yet, but I do know that very basic things such as strings and numbers, use
> of the terminal, finding stuff in the standard library are very poorly
> covered and maybe we/I should start there.
>
> Another  simple thing I've been meaning to do so many times: provide
> example tests for the standard library. This way users who get started and
> learn the basic, can browse the doc and find concrete examples of how to
> use an API. This is such a powerful feature, and whenever I find one of
> those examples I'm very thankful! I'm sure we could, as a community,
> provide way more examples (it will slow down the test suite, but I think
> that's ok).
>
> Anyways, keep the feedback coming!
>
>
> On Tuesday, July 19, 2016 at 7:11:26 PM UTC-7, Tim Hawkins wrote:
>>
>> My personal experience is as somebody comming from almost 3 decades of
>> oop with c++ and java,  while there are a lot of tutorials etc for folks
>> starting out with go as a first or second language. I find 

Re: [go-nuts] Go is for everyone

2016-07-19 Thread Matt Aimonetti
So much great feedback, that's really awesome.
What I'm hearing is that there are many different kinds of "newbies", from 
people coming other languages, to kids without forgetting hobbyists...

I learn things bottom up, I need to understand "why" before I can start 
using the "how". Lots of people don't learn that way and there is nothing 
wrong with that.
There are languages that are more suited to writing basic games and GUI for 
newbies (Flash was actually great at that). I actually don't think Go is 
the perfect fit for all new programmers. I do think however that if you 
want to learn the basics and you're willing to pay a certain price upfront, 
that's the right approach.

In this context, I'd like to personally focus on helping new developers who 
are interested in building some knowledge foundations. I very much agree 
about having something tangible they can be proud of, but I also don't 
think Go mobile is currently a good fit for that. Maybe it's a bot, maybe 
it's a CLI, maybe it's audio or image processing. I don't quite know yet, 
but I do know that very basic things such as strings and numbers, use of 
the terminal, finding stuff in the standard library are very poorly covered 
and maybe we/I should start there.

Another  simple thing I've been meaning to do so many times: provide 
example tests for the standard library. This way users who get started and 
learn the basic, can browse the doc and find concrete examples of how to 
use an API. This is such a powerful feature, and whenever I find one of 
those examples I'm very thankful! I'm sure we could, as a community, 
provide way more examples (it will slow down the test suite, but I think 
that's ok).

Anyways, keep the feedback coming!


On Tuesday, July 19, 2016 at 7:11:26 PM UTC-7, Tim Hawkins wrote:
>
> My personal experience is as somebody comming from almost 3 decades of oop 
> with c++ and java,  while there are a lot of tutorials etc for folks 
> starting out with go as a first or second language. I find there is a lack 
> of support for people moving from other languages and other methodologies. 
>
> On 20 Jul 2016 9:53 a.m., "simran"  wrote:
>
>> I personally find Go just a joy to program in and show my kids some code 
>> all the time (my kids are 9 years old)... it's still complex for them as i 
>> haven't overwhelmed them with programming. What they do absolutely LOVE 
>> though is code.org  ( 
>> https://studio.code.org 
>> / ) - their 
>> school has a extra-curricular class around it, and all the kids have taken 
>> to it with a huge amount of enthusiasm. 
>>
>> The main thing i think they like is that it's visual - for an 
>> introduction (as a first language), i think the visual components really 
>> really help. At the moment, you can see the "JavaScript" behind the visual 
>> components you build, and the kids are starting to progress to that. What i 
>> believe might be really good is if we can help adapt code.org 
>>  to also show 
>> potential "Go" code (as an alternative to the javascript) and let people 
>> tweak the Go. The educational and fun structure has already been built by 
>> code.org  and they 
>> have done such a marvellous job, why not build on that?
>>
>> On Wed, Jul 20, 2016 at 11:35 AM, Dan Kortschak <
>> dan.ko...@adelaide.edu.au > wrote:
>>
>>> It's an interesting post and something I can see being true to an
>>> extent, but I'd like to put forward an alternative from my own
>>> experience.
>>>
>>> I came to Go as an extremely inexperienced programmer - a couple of
>>> years with Perl and a childhood with C64 basic/6502/Z80 and virtually no
>>> formal CS background (one half year unit in first year undergrad).
>>>
>>> When I started using Go it had only been open sourced for a year and a
>>> half. I found the support for people starting to use Go to be
>>> outstanding even when questions were only tangentially related to Go
>>> (generic algorithmic problems were happily(?) helped with). In part it
>>> seems this was due to decisions by the Go core developers to help foster
>>> a helpful and welcoming environment (rsc has discussed the motivations
>>> for this in the past). Maybe that "fresh scene" has diminished a little,
>>> but it doesn't really seem so to me.
>>>
>>> Dan
>>>
>>> On Tue, 2016-07-19 at 08:16 -0700, Matt Aimonetti wrote:
>>> > I just wanted to point out a post I published today talking about the 
>>> fact
>>> > that we are often leaving new / less experienced Go developers high 
>>> and dry:
>>> > https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
>>> >
>>> > I'd love to see what you all in mind to help new or junior developers.
>>> > Maybe share some of the pain points you've experienced or seen (for
>>> > instance setting up the Go path, finding 

Re: [go-nuts] Go is for everyone

2016-07-19 Thread Tim Hawkins
My personal experience is as somebody comming from almost 3 decades of oop
with c++ and java,  while there are a lot of tutorials etc for folks
starting out with go as a first or second language. I find there is a lack
of support for people moving from other languages and other methodologies.

On 20 Jul 2016 9:53 a.m., "simran"  wrote:

> I personally find Go just a joy to program in and show my kids some code
> all the time (my kids are 9 years old)... it's still complex for them as i
> haven't overwhelmed them with programming. What they do absolutely LOVE
> though is code.org  (
> https://studio.code.org
> / ) - their
> school has a extra-curricular class around it, and all the kids have taken
> to it with a huge amount of enthusiasm.
>
> The main thing i think they like is that it's visual - for an introduction
> (as a first language), i think the visual components really really help. At
> the moment, you can see the "JavaScript" behind the visual components you
> build, and the kids are starting to progress to that. What i believe might
> be really good is if we can help adapt code.org
>  to also show potential
> "Go" code (as an alternative to the javascript) and let people tweak the
> Go. The educational and fun structure has already been built by code.org
>  and they have done
> such a marvellous job, why not build on that?
>
> On Wed, Jul 20, 2016 at 11:35 AM, Dan Kortschak <
> dan.kortsc...@adelaide.edu.au> wrote:
>
>> It's an interesting post and something I can see being true to an
>> extent, but I'd like to put forward an alternative from my own
>> experience.
>>
>> I came to Go as an extremely inexperienced programmer - a couple of
>> years with Perl and a childhood with C64 basic/6502/Z80 and virtually no
>> formal CS background (one half year unit in first year undergrad).
>>
>> When I started using Go it had only been open sourced for a year and a
>> half. I found the support for people starting to use Go to be
>> outstanding even when questions were only tangentially related to Go
>> (generic algorithmic problems were happily(?) helped with). In part it
>> seems this was due to decisions by the Go core developers to help foster
>> a helpful and welcoming environment (rsc has discussed the motivations
>> for this in the past). Maybe that "fresh scene" has diminished a little,
>> but it doesn't really seem so to me.
>>
>> Dan
>>
>> On Tue, 2016-07-19 at 08:16 -0700, Matt Aimonetti wrote:
>> > I just wanted to point out a post I published today talking about the
>> fact
>> > that we are often leaving new / less experienced Go developers high and
>> dry:
>> > https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
>> >
>> > I'd love to see what you all in mind to help new or junior developers.
>> > Maybe share some of the pain points you've experienced or seen (for
>> > instance setting up the Go path, finding resources to get started
>> etc...)
>> > I'm thinking about a bunch of very short posts on basic topics and
>> maybe a
>> > real beginner tour of Go. We are going to do a beginner night next
>> month at
>> > our LA/Santa Monica Go meetup and hopefully better understand what the
>> > current pain points/blockers are.
>> >
>> > What do you think?
>>
>>
>> --
>> 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.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread simran
I personally find Go just a joy to program in and show my kids some code
all the time (my kids are 9 years old)... it's still complex for them as i
haven't overwhelmed them with programming. What they do absolutely LOVE
though is code.org  (
https://studio.code.org
/ ) - their
school has a extra-curricular class around it, and all the kids have taken
to it with a huge amount of enthusiasm.

The main thing i think they like is that it's visual - for an introduction
(as a first language), i think the visual components really really help. At
the moment, you can see the "JavaScript" behind the visual components you
build, and the kids are starting to progress to that. What i believe might
be really good is if we can help adapt code.org
 to also show potential
"Go" code (as an alternative to the javascript) and let people tweak the
Go. The educational and fun structure has already been built by code.org
 and they have done such
a marvellous job, why not build on that?

On Wed, Jul 20, 2016 at 11:35 AM, Dan Kortschak <
dan.kortsc...@adelaide.edu.au> wrote:

> It's an interesting post and something I can see being true to an
> extent, but I'd like to put forward an alternative from my own
> experience.
>
> I came to Go as an extremely inexperienced programmer - a couple of
> years with Perl and a childhood with C64 basic/6502/Z80 and virtually no
> formal CS background (one half year unit in first year undergrad).
>
> When I started using Go it had only been open sourced for a year and a
> half. I found the support for people starting to use Go to be
> outstanding even when questions were only tangentially related to Go
> (generic algorithmic problems were happily(?) helped with). In part it
> seems this was due to decisions by the Go core developers to help foster
> a helpful and welcoming environment (rsc has discussed the motivations
> for this in the past). Maybe that "fresh scene" has diminished a little,
> but it doesn't really seem so to me.
>
> Dan
>
> On Tue, 2016-07-19 at 08:16 -0700, Matt Aimonetti wrote:
> > I just wanted to point out a post I published today talking about the
> fact
> > that we are often leaving new / less experienced Go developers high and
> dry:
> > https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
> >
> > I'd love to see what you all in mind to help new or junior developers.
> > Maybe share some of the pain points you've experienced or seen (for
> > instance setting up the Go path, finding resources to get started etc...)
> > I'm thinking about a bunch of very short posts on basic topics and maybe
> a
> > real beginner tour of Go. We are going to do a beginner night next month
> at
> > our LA/Santa Monica Go meetup and hopefully better understand what the
> > current pain points/blockers are.
> >
> > What do you think?
>
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Dan Kortschak
It's an interesting post and something I can see being true to an
extent, but I'd like to put forward an alternative from my own
experience.

I came to Go as an extremely inexperienced programmer - a couple of
years with Perl and a childhood with C64 basic/6502/Z80 and virtually no
formal CS background (one half year unit in first year undergrad).

When I started using Go it had only been open sourced for a year and a
half. I found the support for people starting to use Go to be
outstanding even when questions were only tangentially related to Go
(generic algorithmic problems were happily(?) helped with). In part it
seems this was due to decisions by the Go core developers to help foster
a helpful and welcoming environment (rsc has discussed the motivations
for this in the past). Maybe that "fresh scene" has diminished a little,
but it doesn't really seem so to me.

Dan

On Tue, 2016-07-19 at 08:16 -0700, Matt Aimonetti wrote:
> I just wanted to point out a post I published today talking about the fact 
> that we are often leaving new / less experienced Go developers high and dry:
> https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
> 
> I'd love to see what you all in mind to help new or junior developers. 
> Maybe share some of the pain points you've experienced or seen (for 
> instance setting up the Go path, finding resources to get started etc...) 
> I'm thinking about a bunch of very short posts on basic topics and maybe a 
> real beginner tour of Go. We are going to do a beginner night next month at 
> our LA/Santa Monica Go meetup and hopefully better understand what the 
> current pain points/blockers are.
> 
> What do you think?


-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Jesper Louis Andersen
On Tue, Jul 19, 2016 at 8:13 PM, Konstantin Khomoutov <
flatw...@users.sourceforge.net> wrote:

> seasoned programmers have hard time actually explaining how it
> comes they possess the skills they have, and this makes their world
> view biased
>

This is true of any field in which you work. Your brain rewires itself and
associates facts about the system you are studying. In the beginning
everything is a stumbling block: pointers/references, recursion, monads,
lambda calculus, group theory, topology, separation logic, quantum
mechanics, and so on. You struggle to understand it all. But once you grasp
it, and you get familiar with the subject, you automatically leap around in
the field. Things _has_ to be a certain way for it to work. You can make
the mental connection as to why it is so if you think hard about it, but
usually you don't do that. And over time, your brain rewires its logic such
that it _must_ be true, it cannot be otherwise. This gives you mastery in
the field since you are not clawing yourself through the details anymore,
but can look at the area from above and plot our a course to a solution
easily.

Once this happens, it becomes gradually harder to explain the subject to a
beginner unless you regularly teach the subject to others. If you forget
the initial struggle, and you don't know what it is people can't cope with
when they start out, then you get the bias you mention.

The trick to mentoring is to gauge the level of the mentee and challenge
them a bit above their current level. In no time they get their own world
view inside the field, which very often has a feedback effect on the
mentor: you suddenly both understand the subject better. The other trick is
to understand computer science can be complex and some parts of the field
requires incubation in ones brain for a while before you "get" it. This is
often measured in weeks or months as the brain rewires :) So as a mentor
one needs patience. Lots of patience.


-- 
J.

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Bakul Shah
On Tue, 19 Jul 2016 08:16:05 PDT Matt Aimonetti  wrote:
> 
> I just wanted to point out a post I published today talking about the fact 
> that we are often leaving new / less experienced Go developers high and dry:
> https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
> 
> I'd love to see what you all in mind to help new or junior developers. 
> Maybe share some of the pain points you've experienced or seen (for 
> instance setting up the Go path, finding resources to get started etc...) 
> I'm thinking about a bunch of very short posts on basic topics and maybe a 
> real beginner tour of Go. We are going to do a beginner night next month at 
> our LA/Santa Monica Go meetup and hopefully better understand what the 
> current pain points/blockers are.
> 
> What do you think?

What worked for us: @ Work review of code written by anyone in
my team *had* to have my ok before it could be committed.
Initially people *hated* it and it added a lot of work for me.
But this allowed me to provide specific help on every little
or big thing they ran into. In addition to detailed comments
explaining why something needed to be done differently, I
pointed them to pertinent online documents/tutorials/talks
etc. And I added make targets for go vet, fmt, race, test,
coverage etc. that they had to run before submitting a code
review. In addition we had a local "developer's guide" with
links to various things that they started with.

I think what helped the most: a) they *had* to actually do the
work I suggested or argue why their way was better or discuss
design issues in some depth. b) they could reread review
comments & dialog. Basically all the good intentions are
not enough if you don't actually do the work and I needed
to give them an incentive to do so!

Pretty soon the person who hated it the most learned the
quickest way to get through his reviews + his reviews of other
people's code were as tough as mine so now he and I share the
code review load. We will add more people once they reach the
level I want.

Anotther thing I learned is that people use a looming deadline
as an excuse to slack off and once the code is committed,
their enthusiasm for fixing things goes way down.  So I have
to stop being the nice guy on reviews!

As it happened, nobody other than me knew Go when we started
out and we had a number of junior programmers but by now I
think we do a decent enough job.  [BTW, we *are* looking for
seasoned Go programmers! email me if interested]

Not suggesting this is what others should do; just stating my
experience.

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Konstantin Khomoutov
On Tue, 19 Jul 2016 20:54:21 +0300
Konstantin Khomoutov  wrote:

[...]
> But what I'm afraid even more is that tutoring is like parenting:
> everyone thinks they know how to do it, but that's a delusion.
> I'm not a professional tutor and I understand that I actually have no
> idea what happens in the minds of those making their first steps in
> learning how to program.  (That's why I value very much the feedback
> provided by Daniel Skinner--that was the real first-hand experience.)
> I hence think that ideally you should get in touch with some person
> who has learning expertise.  Talking with seasoned programmers on
> this topic appears to be somewhat pointless to me. ;-)
[...]

In the hope to explain my point better, I'd like to refer to a blog
post by Caleb Doxsey [2] which explains what I'm afraid of in this
regard: seasoned programmers have hard time actually explaining how it
comes they possess the skills they have, and this makes their world
view biased.  I beleive most programmers on this list could skim through
the Go Tour (I never did it FWIW) and won't supposedly spot any problem
with it because they possess the necessary knowledge to not spot any
problems newcomers could come to grips with.

2. http://www.doxsey.net/blog/tacit-knowledge

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Konstantin Khomoutov
On Tue, 19 Jul 2016 10:14:26 -0700 (PDT)
Matt Aimonetti  wrote:

> There are a lot of concepts we take for granted such as
> functions/methods, the main func, strings etc.. Then a lot of the
> exercises are quite technical/math related instead of being more day
> to day based. I love the tour but I think it works best if you're
> already a developer.

I really don't want to discourage you but are you really sure Go is a
good candidate to be the someone's first PL?  I, for one, doubt so.

I mean, some people (me included) learnt programming "from the bottom
up" by starting with some assembler and then gradually moving "upwards";
when you're progressing along this vector, concepts like memory layout,
pointers and difference between []T and []*T (and what the hell the
slice really is) are not that hard to grasp.

But when you start from another edge of this complexity continuum,
these concepts _will_ be challenging, and IMO Go was explicitly
designed to not be too high-level: it's definitely simpler than C but
keep in mind that it was actually envisioned to convert C++ programmers
so it still gives you enough raw power and control to be closer to the
hardware and the OS.

What I'm leading to, is that supposedly before actually learning Go,
a wannabe programmer starting with no prior CS-related knowledge should
start with something like ABC [1] to grasp the very basic concepts like
values, variables, functions, parameter passing, manipulating
collections etc.

But what I'm afraid even more is that tutoring is like parenting:
everyone thinks they know how to do it, but that's a delusion.
I'm not a professional tutor and I understand that I actually have no
idea what happens in the minds of those making their first steps in
learning how to program.  (That's why I value very much the feedback
provided by Daniel Skinner--that was the real first-hand experience.)
I hence think that ideally you should get in touch with some person who
has learning expertise.  Talking with seasoned programmers on this topic
appears to be somewhat pointless to me. ;-)

1. https://en.wikipedia.org/wiki/ABC_(programming_language)

-- 
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.
For more options, visit https://groups.google.com/d/optout.


Re: [go-nuts] Go is for everyone

2016-07-19 Thread Daniel Skinner
is the Go tour really that out of touch for people with little to no
programming experience? I'd think there's enough in there to keep one busy
for quite a while. Now, whether that work is actually interesting to them
is another matter...

I sat my 9 year old daughter in front of the tour a few months back and she
completed a number of samples. She had questions for words she's never
heard so maybe extending the tour with pop-out help on jargon might be a
nice contrast to how the tour currently compares itself to other languages
for basic constructs (the inexperienced vs the experienced).

Understanding errors on the screen is another important part that's pretty
much uncovered, and so biased towards those that have dealt with errors
before from other languages.

On Tue, Jul 19, 2016 at 10:16 AM Matt Aimonetti 
wrote:

> I just wanted to point out a post I published today talking about the fact
> that we are often leaving new / less experienced Go developers high and
> dry:
> https://medium.com/@mattetti/go-is-for-everyone-b4f84be04c43
>
> I'd love to see what you all in mind to help new or junior developers.
> Maybe share some of the pain points you've experienced or seen (for
> instance setting up the Go path, finding resources to get started etc...)
> I'm thinking about a bunch of very short posts on basic topics and maybe a
> real beginner tour of Go. We are going to do a beginner night next month at
> our LA/Santa Monica Go meetup and hopefully better understand what the
> current pain points/blockers are.
>
> What do you think?
>
> --
> 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.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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.
For more options, visit https://groups.google.com/d/optout.