Programming vs Go

General conversations about Go belong here.
User avatar
HermanHiddema
Gosei
Posts: 2011
Joined: Tue Apr 20, 2010 10:08 am
Rank: Dutch 4D
GD Posts: 645
Universal go server handle: herminator
Location: Groningen, NL
Has thanked: 202 times
Been thanked: 1086 times

Re: Programming vs Go

Post by HermanHiddema »

In Go, fewer than 1 out of every 10,000 players make professional. In programming, the majority are paid every month to write "professional code". Much of that code could be vastly improved by more highly skilled programmers, but it gets the job done. Much of our modern society runs on mediocre quality code that "gets the job done".

I simply don't think it is fair to say that you need to be among the 0.01% best to be considered competent. You could competently teach a group of SDKs and they would learn a lot and be happy with their progress. Many an SDK could teach beginners and do so competently. IMO the word "competent" has a commonly understood meaning in English, and that meaning is not "having spent your entire life on learning it and being among the very very best in your field".
Kirby
Honinbo
Posts: 9553
Joined: Wed Feb 24, 2010 6:04 pm
GD Posts: 0
KGS: Kirby
Tygem: 커비라고해
Has thanked: 1583 times
Been thanked: 1707 times

Re: Programming vs Go

Post by Kirby »

"Competent" is a relative term as I see it. Using the example already given, you could competently teach SDKs go. You could not competently teach pros go.
be immersed
User avatar
HermanHiddema
Gosei
Posts: 2011
Joined: Tue Apr 20, 2010 10:08 am
Rank: Dutch 4D
GD Posts: 645
Universal go server handle: herminator
Location: Groningen, NL
Has thanked: 202 times
Been thanked: 1086 times

Re: Programming vs Go

Post by HermanHiddema »

Kirby wrote:"Competent" is a relative term as I see it. Using the example already given, you could competently teach SDKs go. You could not competently teach pros go.


Competent is relative to the task at hand. When that task is "teaching professionals go", then the group of competent people is quite small indeed. But when the task is simply "go" (i.e. to play the game). then IMO anyone who can start, play, finish and score a game is competent, and your average 20 kyu qualifies.

The dictionary gives "having the necessary ability, knowledge, or skill to do something successfully", which is right along what I understand the term to be. I would say: "I'm a competent driver, even though I'm not a racecar driver." or "I'm a competent cook, even though I'm not a professional chef".

The dictionary also gives "acceptable and satisfactory, though not outstanding", so by that definition it would actually be a bit of an insult to call a professional "competent" at go. :)
User avatar
joellercoaster
Lives with ko
Posts: 230
Joined: Mon Sep 16, 2013 5:50 am
Rank: OGS 2k
GD Posts: 0
OGS: Joellercoaster
Location: London
Has thanked: 288 times
Been thanked: 65 times
Contact:

Re: Programming vs Go

Post by joellercoaster »

LokBuddha wrote:Maybe the better question would be "Do dan Go player have easier time learn programming and progress faster than lower level Go player, or what?"


I'd say no. They both to some extent rely on the same mental capabilities - piling up shapes from the bottom and strategies from the top, meeting in the middle to make an emergent thing - but that's talking about capability, not the applicability of one thing to another.

Being a dan-level programmer sure doesn't feel like it's helped me become any kind of Go player :lol:

or maybe I should stop asking these questions and go do my Hello world (When will I be able to make anything meaningful??)


Maybe. But I'd also say that Hello World is meaningful, if you think about what it's really doing.

Enjoy learning to program, it can be a long and winding road but just walking it is worthwhile and interesting!
Confucius in the Analects says "even playing go is better than eating chips in front of tv all day." -- kivi
tj86430
Gosei
Posts: 1348
Joined: Wed Apr 28, 2010 12:42 am
Rank: FGA 7k GoR 1297
GD Posts: 0
Location: Finland
Has thanked: 49 times
Been thanked: 129 times

Re: Programming vs Go

Post by tj86430 »

I'm no longer a programmer, but I used to be, and I used to be fairly competent, too. I've never been much of a go player.

Knowing one doesn't help you to master the other.

It's quite impossible to compare the effort needed to master go vs. programming. Compared to programming go is a very limited domain, yet I guess you can infinitely become better and master more finesses. It also evolves quite slowly (new joseki/fuseki/tesuji/whatever are developed, but the pace is very slow compared to programming. Programming is virtually unlimited domain, but you can master a single "variation" (almost) perfectly. However, programming evolves really fast, there is always a new language, design pattern, architectural style, API, framework, platform, version or something you can learn. Naturally you can derive a lot from what you have previously learned, but usually there is a whole bunch of things that are completely new to you.

In short:
Go = limited domain, infinitely complex/not possible to master completely, evolves slowly
Programming = (virtually) unlimited domain, limited complexity/possible to master a limited subdomain completely, evolves really fast

A closing remark: it is very hard to say where programming "ends" and software engineering "begins" - just being able to program (in the strictest sense) and not knowing other aspects of software engineering is really a useless skill.
Offending ad removed
Kirby
Honinbo
Posts: 9553
Joined: Wed Feb 24, 2010 6:04 pm
GD Posts: 0
KGS: Kirby
Tygem: 커비라고해
Has thanked: 1583 times
Been thanked: 1707 times

Re: Programming vs Go

Post by Kirby »

HermanHiddema wrote:
Kirby wrote:"Competent" is a relative term as I see it. Using the example already given, you could competently teach SDKs go. You could not competently teach pros go.


Competent is relative to the task at hand. When that task is "teaching professionals go", then the group of competent people is quite small indeed. But when the task is simply "go" (i.e. to play the game). then IMO anyone who can start, play, finish and score a game is competent, and your average 20 kyu qualifies.

The dictionary gives "having the necessary ability, knowledge, or skill to do something successfully", which is right along what I understand the term to be. I would say: "I'm a competent driver, even though I'm not a racecar driver." or "I'm a competent cook, even though I'm not a professional chef".

The dictionary also gives "acceptable and satisfactory, though not outstanding", so by that definition it would actually be a bit of an insult to call a professional "competent" at go. :)


I have a different viewpoint of the word, but I suppose I am okay with that.
be immersed
User avatar
lemonpie
Dies in gote
Posts: 44
Joined: Wed Mar 04, 2015 10:41 pm
Rank: after ten years
GD Posts: 0
KGS: 6 kyu
Location: Canada
Has thanked: 12 times
Been thanked: 8 times

Re: Programming vs Go

Post by lemonpie »

Programming is super easy. I wrote a few video games back in the day.

Go seems way harder.

My two cents.
Image
User avatar
LokBuddha
Lives with ko
Posts: 180
Joined: Sun May 16, 2010 10:15 am
GD Posts: 0
Has thanked: 6 times
Been thanked: 4 times

Re: Programming vs Go

Post by LokBuddha »

lemonpie wrote:Programming is super easy. I wrote a few video games back in the day.

Go seems way harder.

My two cents.



Maybe time and commitment priority difference?
How did you approach studying Programming vs Go?
To me, Go has structure learning and improvement, and the only you have to do is put time consistently moving forward. Programming on the the other hand, I am overwhelmed so far.
User avatar
lemonpie
Dies in gote
Posts: 44
Joined: Wed Mar 04, 2015 10:41 pm
Rank: after ten years
GD Posts: 0
KGS: 6 kyu
Location: Canada
Has thanked: 12 times
Been thanked: 8 times

Re: Programming vs Go

Post by lemonpie »

Make a clock, phonebook, calculator, word editor, calendar, random number generator, encrypter...

Just sit down, come up with an idea for a simple program and see if you can make it.

That way you can practice what you learn.

And then maybe a video game. So much fun to make :-)
Attachments
1429167425308.JPG
1429167425308.JPG (143.16 KiB) Viewed 6472 times
Image
User avatar
Loons
Gosei
Posts: 1378
Joined: Tue Apr 20, 2010 4:17 am
GD Posts: 0
Location: wHam!lton, Aotearoa
Has thanked: 253 times
Been thanked: 105 times

Re: Programming vs Go

Post by Loons »

I guess go is a competitive sport and programming is a problem-solving technique. I wonder whether rugby or calculus is harder? Different, certainly. I think calculus is more intricate, creative and deep, but you don't want to pick me for your rugby team.

Perhaps go vs code golf?

Agile programming vs tsumego?


PS: I think someone used the word 'infinite[ly]' and 'go' which I don't think strictly match.
Revisiting Go - Study Journal
My Programming Blog - About the evolution of my go bot.
tj86430
Gosei
Posts: 1348
Joined: Wed Apr 28, 2010 12:42 am
Rank: FGA 7k GoR 1297
GD Posts: 0
Location: Finland
Has thanked: 49 times
Been thanked: 129 times

Re: Programming vs Go

Post by tj86430 »

Loons wrote:PS: I think someone used the word 'infinite[ly]' and 'go' which I don't think strictly match.

At least I did, and in a purely mathematical sense I agree. Perhaps I should have put "in practice" or something like that in front. I still think it is e.g. impossible (for a human at least) to master go perfectly.
Offending ad removed
User avatar
LocoRon
Lives with ko
Posts: 292
Joined: Tue Aug 10, 2010 1:04 pm
Rank: 1 kyu
GD Posts: 0
KGS: LocoRon
Has thanked: 92 times
Been thanked: 80 times

Re: Programming vs Go

Post by LocoRon »

Loons wrote:I guess go is a competitive sport and programming is a problem-solving technique.


This pretty much exactly. Of course programming is "easier" when it's just one person sitting at a computer coding away. Turn it into a competition between two people, and it becomes completely different.

For everyone that seems to have said or implied that Go is more difficult than programing, how easy do you think it'd be to make it to the finals of Google Code Jam, or to protect your server against a focused attack (excluding social engineering and physical exploits, to keep it completely within the domain of your own programming), or maybe a speed competition; who can write an application to a certain set of specifications the fastest (or in the fewest lines of code, or some other goal) in a given language using only core libraries?
User avatar
oca
Lives in gote
Posts: 699
Joined: Wed Feb 19, 2014 2:53 am
Rank: DDK
GD Posts: 0
KGS: aco
IGS: oca
OGS: oca
Location: Switzerland
Has thanked: 485 times
Been thanked: 166 times

Re: Programming vs Go

Post by oca »

LocoRon wrote:
Loons wrote:I guess go is a competitive sport and programming is a problem-solving technique.


...
Turn it into a competition between two people, and it becomes completely different.
...


In my case, Go is mainly a competition against myself, revealing my own limits...
Converting the book Shape UP! by Charles Matthews/Seong-June Kim
to the gobook format. last updated april 2015 - Index of shapes, p.211 / 216
User avatar
Shaddy
Lives in sente
Posts: 1206
Joined: Sat Apr 24, 2010 2:44 pm
Rank: KGS 5d
GD Posts: 0
KGS: Str1fe, Midorisuke
Has thanked: 51 times
Been thanked: 192 times

Re: Programming vs Go

Post by Shaddy »

I feel confident saying that making it to the finals of Code Jam would be easier than passing any Go professional qualification.
User avatar
LocoRon
Lives with ko
Posts: 292
Joined: Tue Aug 10, 2010 1:04 pm
Rank: 1 kyu
GD Posts: 0
KGS: LocoRon
Has thanked: 92 times
Been thanked: 80 times

Re: Programming vs Go

Post by LocoRon »

Shaddy wrote:I feel confident saying that making it to the finals of Code Jam would be easier than passing any Go professional qualification.


Well, your confidence doesn't make you right. :P

I had a lot of trouble finding numbers for how many have competed in AGA's professional qualifying tournaments; the closest I could find was an E-Journal entry from the inaugural year mentioning 100+ who had already signed up the day before the final deadline. That year, 2 people passed the AGA's pro qualification (or about 1 in 50+ of those who participated).

That same year, 20,000+ participated in Google Code Jam, of whom 25 made it to the final round (along with the previous year's champion). So, about 1 in 800. And only 1 of those 20,000+ was named the champion (although records indicate the top 3 contestants).
Post Reply