Go is not C. C programmers have to master explicit memory management, which 
is a challenge to new and experience programmers alike.
C is a beautiful language. But very low level.

Having spent several years programming in Python, I would say that it is 
much more complicated than Go.
It has a large and growing number of expressive features which add to the 
cognitive load of those attempting
to get up to speed on the language. When you learn Go, you don't need to 
understand dict comprehensions,
decorators, metaclasses, asyncio etc. Compare the breathtaking simplicity 
of launching a Go routine
with the convoluted mess of python threading.

The lack of strong static typing and a separate compilation phase means 
that errors which in Go would 
cause a compilation error result in run-time exceptions, when a particular 
code path gets executed.

Python also has the "feature" that changes in invisible whitespace 
characters change the programme semantics.
I never really understood the rationale for the feature.

The Go 1 compatibility promise is also helpful. This means that course 
materials or online code examples written 
8 years ago will still work today. The python community broke most existing 
code when they moved from Python 2 to Python 3.
(A decade on this transition is still ongoing).

On Wednesday, 25 March 2020 23:04:58 UTC, David Riley wrote:
>
> It’s just my opinion, and I’m willing to be wrong. :-) 
>
> But having TAed a university introductory computer science course that was 
> first in C and then in Python (and having had several students who failed 
> when it was in C retake in Python and pass with flying colors), I will say 
> that a lot of the elements that tripped beginners up in C which were absent 
> in Python are present in Go. 
>
> Most of those (e.g. separate compilation, static typing, a few other bits 
> of arcana) are features that make Go a much more effective systems language 
> than Python, but I do feel like it’s probably best to “take the bumpers 
> off” AFTER the student knows about loops, variables, functions, etc. 
>
> Again, it’s only my point of view, and I do have some biases, but they do 
> have some basis. 
>
>
> - Dave 
>
> > On Mar 25, 2020, at 17:08, Dan Kortschak <d...@kortschak.io 
> <javascript:>> wrote: 
> > 
> > I don't agree that Go is intrinsically harder than python as a beginner 
> > programming language. There are things that are subtle, but these can 
> > largely be avoided in the beginner setting. 
> > 
> > Note that there have been discussions here about using Go as a language 
> > for teaching beginners, notably this one 
> > https://groups.google.com/d/topic/golang-nuts/FIRSDBehb3g/discussion 
> > 
> > Dan 
> > 
> >> On Wed, 2020-03-25 at 13:34 -0400, David Riley wrote: 
> >> If you are already a programmer in another language, the Tour of Go 
> >> (tour.golang.org) is absolutely the best. 
> >> 
> >> If you are not already a programmer in another language, I personally 
> >> don't recommend Go as a first language; it's an excellent language, 
> >> but I feel that people will do better with it once they already grasp 
> >> the fundamentals of programming and are ready for something with 
> >> slightly more arcana.  Python makes a pretty good first language. 
> >> 
> >> 
> >> - Dave 
> >> 
> >> 
> >>> On Mar 25, 2020, at 6:07 AM, Renato Marcandier < 
> >>> renato.m...@gmail.com <javascript:>> wrote: 
> >>> 
> >>> Hello guys, 
> >>> 
> >>> What's the best course to start with Go? 
> >>> 
> >>> 
> >>> 
> >>> Regards 
> >>> RG 
> >>> 
> >>> -- 
> >>> 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 golan...@googlegroups.com <javascript:>. 
> >>> To view this discussion on the web visit 
> >>> 
> https://groups.google.com/d/msgid/golang-nuts/b2aa0e9a-921f-49de-a0be-729a6ca35f5f%40googlegroups.com
>  
> >>> . 
> >> 
> >> -- 
> >> 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 golan...@googlegroups.com <javascript:>. 
> >> To view this discussion on the web visit 
> >> 
> https://groups.google.com/d/msgid/golang-nuts/18B2AF64-4888-4730-B282-FCB4C00AB697%40gmail.com
>  
> >> . 
> > 
> > 
>

-- 
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/b43ecb5a-c043-44d4-92d6-f8c046dda7ff%40googlegroups.com.

Reply via email to