Programming vs Go
- 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
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".
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
"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
- 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
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.
- 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
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
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
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.
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
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
- 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
Programming is super easy. I wrote a few video games back in the day.
Go seems way harder.
My two cents.
Go seems way harder.
My two cents.

- 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
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.
- 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
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 :-)
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 (143.16 KiB) Viewed 6457 times

- 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
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.
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.
-
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
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
- 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
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?
- 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
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
to the gobook format. last updated april 2015 - Index of shapes, p.211 / 216
- 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
I feel confident saying that making it to the finals of Code Jam would be easier than passing any Go professional qualification.
- 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
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.
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).