On Wed, Jul 20, 2016 at 1:10 PM, Matt Aimonetti <mattaimone...@gmail.com>
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 there is a lack
>> of support for people moving from other languages and other methodologies.
>>
>> On 20 Jul 2016 9:53 a.m., "simran" <sim...@dn.gs> 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 <http://s.bl-1.com/h/26Yp8n1?url=http://code.org/> (
>>> https://studio.code.org
>>> <http://s.bl-1.com/h/26YpD93?url=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
>>> <http://s.bl-1.com/h/26YpJZ5?url=http://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 <http://s.bl-1.com/h/26YpPy7?url=http://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 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...@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...@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.

Reply via email to