It is currently Tue May 13, 2025 3:18 pm

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 45 posts ]  Go to page 1, 2, 3  Next
Author Message
Offline
 Post subject: Programming vs Go
Post #1 Posted: Sun Apr 12, 2015 9:18 pm 
Lives with ko
User avatar

Posts: 180
Liked others: 6
Was liked: 4
Which one is harder, Programming or Go, in term of learning progress and time to become competent say 1d amateur in Go as in Programming? from the perspective of programmer and non programmer.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #2 Posted: Sun Apr 12, 2015 9:37 pm 
Honinbo

Posts: 9552
Liked others: 1602
Was liked: 1712
KGS: Kirby
Tygem: 커비라고해
There is no "1d" in programming. Can you make a more specific bar for competency in programming? That would make it easier to answer the question.

_________________
be immersed

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #3 Posted: Sun Apr 12, 2015 9:42 pm 
Gosei
User avatar

Posts: 1744
Liked others: 704
Was liked: 288
KGS: greendemon
Tygem: greendemon
DGS: smaragdaemon
OGS: emeraldemon
I think the most important difference is that playing go is ultimately one thing, where programming is many things. Once you progress beyond the basics there are a wide variety of tasks and concepts in programming, and becoming an expert in embedded systems, for example, won't necessarily give one that much of an advantage in creating a GUI (or formal verification, or scientific computing, or databases or networks or security or algorithms or). There are some deep concepts that can be helpful in a wide and surprising set of problems, but it's pretty different from go, where there is almost no variation in what it means to play (maybe you can specialize in blitz vs slow games or something).


This post by emeraldemon was liked by 2 people: Bantari, Boidhre
Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #4 Posted: Sun Apr 12, 2015 9:49 pm 
Honinbo

Posts: 9552
Liked others: 1602
Was liked: 1712
KGS: Kirby
Tygem: 커비라고해
emeraldemon wrote:
I think the most important difference is that playing go is ultimately one thing, where programming is many things. Once you progress beyond the basics there are a wide variety of tasks and concepts in programming, and becoming an expert in embedded systems, for example, won't necessarily give one that much of an advantage in creating a GUI (or formal verification, or scientific computing, or databases or networks or security or algorithms or). There are some deep concepts that can be helpful in a wide and surprising set of problems, but it's pretty different from go, where there is almost no variation in what it means to play (maybe you can specialize in blitz vs slow games or something).



Maybe I'm playing devil's advocate, but could you make an analogy between having specific Go knowledge (opening patterns and/or joseki) to being an expert in different programming areas? For example, if you study a particular variation of the mini-chinese opening, you could consider yourself "an expert" in that particular variation. It might not win you games, but it would be something to add to your tool belt as a go player.

It might then be said that it is not tidbits of "go knowledge" that make you a good go player, but rather reading ability, etc. Perhaps the same argument could be made for programming - good programmers are good at logic and solving problems, regardless of their expertise in that area... Maybe?

_________________
be immersed

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #5 Posted: Sun Apr 12, 2015 10:47 pm 
Lives in gote

Posts: 420
Liked others: 75
Was liked: 58
Rank: EGF 4k
IMHO the main difference is that in Go mistakes make you lose a game while in programming they make you start a debugger.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #6 Posted: Mon Apr 13, 2015 1:04 am 
Oza

Posts: 3723
Liked others: 20
Was liked: 4671
There may be a parallel in martial arts. It has been claimed that when weaponry reached an unsurpassably high standard in the Far East (e.g. the Japanese sword), martial artists turned inward and tried to improve themselves - the Way of the Warrior. This led not just to being able to do tricks with qi and so on, but to longevity of masters. In the west, once a weapon reached a supposed peak, people still tried to improve it, or invented something new and much more devastating.

Until very recently go was seen as the Way of Go, in which personal improvement played a very big part. Those who mastered themselves and so were able to have not just glittering careers but long ones (among modern players: Go Seigen, Sakata, Cho Chikun, Cho Hun-hyeon, Chen Zude...).

The very latest players, in contrast, appear to be nine-day wonders. At the very least, it's clear that they have entered the gladiatorial arena too early to have had time for personal improvement. Go as a profession is becoming "westernised" - too much emphasis on PR, TV and the internet - and players have become disposable commodities.

Programming for the most part is like the western arms race. It's no coincidence people talk of the "next killer app" or the next big language. No doubt someone will put forward a counterexample, but I've seen very little evidence that programming improves (or perhaps "tempers" is better) the inner individual in the way that go can.

Not saying I believe all that, but there's maybe food for thought there.


This post by John Fairbairn was liked by: Bantari
Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #7 Posted: Mon Apr 13, 2015 1:54 am 
Judan

Posts: 6727
Location: Cambridge, UK
Liked others: 436
Was liked: 3720
Rank: UK 4 dan
KGS: Uberdude 4d
OGS: Uberdude 7d
schawipp wrote:
IMHO the main difference is that in Go mistakes make you lose a game while in programming they make you start a debugger.


Programming (or rather software development and testing process) mistakes can make people lose lives:
https://en.wikipedia.org/wiki/Therac-25

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #8 Posted: Mon Apr 13, 2015 2:41 am 
Lives in gote

Posts: 420
Liked others: 75
Was liked: 58
Rank: EGF 4k
Uberdude wrote:
Programming (or rather software development and testing process) mistakes can make people lose lives:

Yes you're correct. With my short comment I wanted to say that in strategy games such as Go the punishment of mistakes (either due to correct play of the opponent or due to time control) is a process which happens automatically and mainly out of your own control (unless your opponent makes a bigger mistake afterwards, but that's merely good luck then). In programming, you have always the possibility to test your code and refine it within several iterations. It is in your own control and responsibility (and resource limitation) to decide when a code is in a state that it can be released. As you already mentioned, a mistake in the code development cycle can ruin your colleagues, the company you're working for and many of the users and even threaten their life under special circumstances, while in Go it can only cost you the title and price money (and last but not least your Dan/Kyu rank... :shock:). Therefore, programming can be much more challenging than playing strategy games, which seems not surprising at all.

A Go-related activity more similar to programming seems analyzing a complicated Tsumego, where you sleep over your first solution and try to verify and/or find a better one the next day.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #9 Posted: Mon Apr 13, 2015 8:51 am 
Lives with ko
User avatar

Posts: 180
Liked others: 6
Was liked: 4
What about the time to master programming vs go? Like becoming pro level or high Dan amateur

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #10 Posted: Mon Apr 13, 2015 9:14 am 
Lives with ko
User avatar

Posts: 230
Location: London
Liked others: 288
Was liked: 65
Rank: OGS 2k
OGS: Joellercoaster
That's tough.

"Master" is tricky.

I would say that I am a Pro level programmer (I do it for a living, I started learning when I was about 8 years old (32 years ago) and I have achieved a high level of professional success) though not 9p. I'm not famous - maybe 7p based on many accumulated wins, teaching young pros and long graft rather than winning glamour tournaments and going toe to toe with the great champions of the age.

I am at best a mediocre Go player, so my knowledge of how hard that level of Go is to achieve is almost zero. In particular, the level of competition to achieve Pro status (based on the available funding economically, vs the number of people wanting to achieve it) is hard for me to understand based on comparison to programming. You can make a living as a pretty crappy developer - certainly much less than what I'd think of as amateur 1d - but achieving the respect of one's peers and amateur participants... that is an interesting question.

But I would say that what the two activities have in common is that they constantly reveal layers of understanding. It's possible to play Go at 20k and enjoy it. A series of epiphanies, whole structures and layers of knowledge, reveal themselves gradually as you become more skilled. Are you enjoying it more? Maybe, maybe not, but you are definitely getting deeper. These things you had no idea existed are appearing. You gain strength.

This process continues, apparently forever, though the epiphanies at my level of programming maybe happen only every several years now and they are maybe more subtle. Is this like gaining a stone? Maybe that's a long bow to draw.

Interesting question.

_________________
Confucius in the Analects says "even playing go is better than eating chips in front of tv all day." -- kivi

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #11 Posted: Mon Apr 13, 2015 10:07 am 
Gosei
User avatar

Posts: 1848
Location: Bellevue, WA
Liked others: 90
Was liked: 837
Rank: AGA 5d
KGS: Capsule 4d
Tygem: 치킨까스 5d
I think the only way this can be made somewhat comparable is if we look at, say, TopCoder ratings and Go ratings and ask, for example, whether achieving 2000 TopCoder rating is harder than achieving 1d in the AGA or something along this line. Of course, TopCoder skillz != programming (but maybe TopCoder skillz ⊂ programming?), but 'programming' is too broad to be compared with a board game.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #12 Posted: Mon Apr 13, 2015 10:31 am 
Lives with ko

Posts: 248
Liked others: 23
Was liked: 148
Rank: DGS 2 kyu
Universal go server handle: Polama
Kirby wrote:

Maybe I'm playing devil's advocate, but could you make an analogy between having specific Go knowledge (opening patterns and/or joseki) to being an expert in different programming areas? For example, if you study a particular variation of the mini-chinese opening, you could consider yourself "an expert" in that particular variation. It might not win you games, but it would be something to add to your tool belt as a go player.

It might then be said that it is not tidbits of "go knowledge" that make you a good go player, but rather reading ability, etc. Perhaps the same argument could be made for programming - good programmers are good at logic and solving problems, regardless of their expertise in that area... Maybe?


I would equate joseki to familiarity with a general technique or library, let's say websockets or functors or the MVC design pattern. If a problem calls for a parser, I know I could reach for YACC. Like joseki, it might be the wrong solution for the board. And like joseki, a good programmer can reason out moves in unfamiliar territory. But a professional programmer can solve a lot of problems just from memory.

Something like sabaki or fighting ability or positional judgement I'd equate to a subfield of programming. Sometimes I have to get deep into math heavy bit-fiddling, using masks and shifts and such to do high efficiency calculations. Other times it's very high level how do I lay out these classes to keep everything as simple as possible? Writing code is nothing like debugging it. As in Go, each programmer has strengths and weaknesses, but a 'professional' is adept at all of them, perhaps really shining in one area. As in Go, you can make up for deficits in one skill set with strengths in another.

The opening is like designing a program: you choose a few joseki/technologies and think very abstractly and broadly about the whole board, trying to forsee problems and balance plans against each other.

Most of programming is like the early middle game, except more open: You've got tons of choices as you lay down the code, two approaches can both take you to the end, but along very different paths.

Very logical/mathematical code and debugging are like the late middle game and end game. You need to understand what's been written already very well, and you're looking for 'correct' solutions.

Which one is harder? I think it just comes down to which one you're more excited about a long session of. I found the 30kyu-10kyu curve much easier in Go, but once I got past that, I've found it much easier to continue being dedicated enough to programming to keep improving towards mastery.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #13 Posted: Mon Apr 13, 2015 12:31 pm 
Gosei
User avatar

Posts: 1639
Location: Ponte Vedra
Liked others: 642
Was liked: 490
Universal go server handle: Bantari
To me, the are big difficulties in comparing programming skills to Go skills.
There are several factors which make it quite different.

  • Time:
    As a professional programmer, I have spent many years doing what I do every day, virtually 10 hours each day, sometimes more. I cannot even imagine putting that much time into Go. I am not sure even pro players do that consistently, year after year after year... I suspect that if I put the same time and dedication into Go, I would have been a pro player by now, easily. Unless I am just not smart enough, which is very possible.

  • Knowledge:
    In terms of knowledge, Go moves from broad concepts to increasingly narrow ones, until at some point the nitty-gritty is too fine for my mind to grasp. I guess everybody comes to this point eventually, maybe in different places. In programming, however, the process as I see it is completely different. The basic concepts remain largely the same, (or at least the same depth) - but you need to keep re-learning the technology. In that sense, the difficulty is not as much refining the concepts as adjusting them to work in different environments.

  • Dedication:
    Programming pays my bills and puts food on my table, it supports my family (especially since my wife is a programmer as well.) I cannot say the same for Go. Thus, I will always treat these two activities differently - Go will never even approach the seriousness with which I treat programming. Go is only a hobby, and will never be anything more for me. Programming is my life. And what's more, to those of us who think Go is their life, I say this: you are either very young, or very naive, or doing great injustice to yourself and your family. Unless you are a pro, of course.

    Anyways, in this context, the only sort-of meaningful comparison could be done by an ama Go player and an amateur programmer (or pro Player who is also pro programmer.) I think that Kageyama said something like: amateurs play the game, pros lagour in it. It is a huge difference! Speaking from personal experience, I have not met many amateur programmer who were competent. Including myself - since I used to be ama programmer and ama Go player at some point long time ago...

  • Mentality:
    From my very limited understanding of Go, I can see some differences in the way I apply my thinking to Go vs. to programming. It is hard to explain in a few words... Go is a lot about psychology, very artistic, but also logical. Ideas do not always need to be correct to work well, sometimes it is enough for them to be surprising... or tailored to specific player. Ideas and moves are very fluid in their evaluation - evaluation might change with the opponent, game type, time of day, etc. Programming is much 'colder' and logical than that - there are still ideas and artistry, but their evaluation is much more binary: they work or they don't.

  • Comparison:
    In programming, I say that western "civilization" don't need to hide behind nobody! Many programmers I know (of) are among the absolute top of the world - and these are the people I compare myself to (not very favorably, mind you, but still - that's my yardstick.) When somebody says "I am a good programmer" - I assume it is in this context and with respect to the best in the world, even if they come short. Now what about Go? What if somebody in US says "I am a good Go player" - who do they compare themselves to? Local club members, the best of which might be 3k KGS? People talk about "mid-dan level" (I assume KGS) - what does that mean? Is that good? Or would they be laughed out of any asian Go club with that attitude?

    In short, if we have a scale of 1-100, with 100 being top of the world, we might be comparing 1-50 on Go scale with 1-100 on programming scale, and asking "how does 25 on Go scale compare to 75 on programming scale?" - not a good or meaningful comparison at all!

All in all, I believe Go and programming are completely different animals. Evaluation is subjective. Its like people asking "what is tastier, appes or oranges?"

Having said the above, there are certain metrics which can be reasonably compared, not sure if it is meaningful, though.
For example:

  • Support:
    How easy it is to make a living with Go vs, with programming. In this light, programming is infinitely easier. I think this goes both for the West and the East and everything inbetween.

  • Enjoyment:
    How many hours of learning does it take for a person to start enjoying it? And in this light, Go is infinitely easier - from my experience. I enjoyed Go from the first stone I ever placed on a board, while programming I had to learn for some time before it became truly fun.

  • Personal:
    What do you, personally, like more? But what does it mean to anybody else if you say you prefere one over the other? Not much, I would say. For the record, I enjoy both, but programming more often. Although there are times when I am tired and I like Go better. However - there are times I like WoW more than both of them, heh...

  • And so on...

So I think that before asking such questions, a person should narrow the parameters a lot, and then wonder if the answer will really reaveal anything of value.

PS>
For what it's worth - I think that to become the best in the world, in any field, is equally difficult. But this is all I can say with any conviction, I'm afraid. And even that might be subjective. ;)

_________________
- Bantari
______________________________________________
WARNING: This post might contain Opinions!!


This post by Bantari was liked by 2 people: Boidhre, schawipp
Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #14 Posted: Mon Apr 13, 2015 2:58 pm 
Honinbo

Posts: 9552
Liked others: 1602
Was liked: 1712
KGS: Kirby
Tygem: 커비라고해
Bantari wrote:
And what's more, to those of us who think Go is their life, I say this: you are either very young, or very naive, or doing great injustice to yourself and your family. Unless you are a pro, of course.


Why? Doesn't this simply mean that such people have different priorities than you?

_________________
be immersed

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #15 Posted: Mon Apr 13, 2015 3:31 pm 
Gosei
User avatar

Posts: 1639
Location: Ponte Vedra
Liked others: 642
Was liked: 490
Universal go server handle: Bantari
Kirby wrote:
Bantari wrote:
And what's more, to those of us who think Go is their life, I say this: you are either very young, or very naive, or doing great injustice to yourself and your family. Unless you are a pro, of course.


Why? Doesn't this simply mean that such people have different priorities than you?

Yes, this is exactly what it means. And in my book, if you put higher priority on your hobby than on your own family and your own future, your priorities are wrong. And you will hear me say (or at least make me think) what I said above: you are either young, or naive, or whatever... selfish maybe?

But this is only my personal opinion, and you should feel free to live your life any way you please. Just be prepared for people judging you by the choices you make and actions you take.

_________________
- Bantari
______________________________________________
WARNING: This post might contain Opinions!!


This post by Bantari was liked by: Boidhre
Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #16 Posted: Mon Apr 13, 2015 3:41 pm 
Honinbo

Posts: 9552
Liked others: 1602
Was liked: 1712
KGS: Kirby
Tygem: 커비라고해
Bantari wrote:
Yes, this is exactly what it means. And in my book, if you put higher priority on your hobby than on your own family and your own future, your priorities are wrong. And you will hear me say (or at least make me think) what I said above: you are either young, or naive, or whatever... selfish maybe?


I think we'd better be clear here. You said:
Bantari wrote:
Programming is my life.


This, combined with the above, seems to suggest that to you, putting priority in programming equates to putting priority on your family and on your future. I don't see it this way. I spend significant quality time with my family, and I also think about my future. But not because of programming. Just because I prioritize go above programming does not mean I prioritize go over my family. In fact, if go reduces my stress, and allows for me to be happy, I'd say that it is more beneficial for my family life than my programming job, which can be stressful.

To me, there is one thing that programming buys me, which go does not: money. But if I can still support my family, spend quality time with them, and live a happy life... I fail to see how this is selfish.

_________________
be immersed

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #17 Posted: Mon Apr 13, 2015 3:59 pm 
Oza

Posts: 2356
Location: Ireland
Liked others: 662
Was liked: 442
Universal go server handle: Boidhre
I inferred from the "10 hour days" comment that he's talking about someone sinking (long term) full time work hours into go. We all do it at weekend tournaments but if you were doing this during the week it'd be hard for it not to be affecting your family life if you're settled down with kids. Doubly so if you were fitting it around a work schedule. If you were in your early twenties and on break from college without a need to work for the summer then, eh, more power to you?

I've seen people do this, not with go, and be gone every evening and most of every weekend pursuing hobbies with the wife and kids left at home. I don't approve of such personally.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #18 Posted: Mon Apr 13, 2015 4:50 pm 
Honinbo

Posts: 9552
Liked others: 1602
Was liked: 1712
KGS: Kirby
Tygem: 커비라고해
Well, I think there's something to be said for where your heart is, where your thoughts are, and what you are really passionate about in life. These things all contribute to what your life "is".

To me, the fact that you might have to be physically at your office for 10 hours in a day doesn't mean that that's what your life "is". In the same way, just because I have to pay a lot of money toward taxes doesn't mean that my life is about taxes. These are just things I do, since it's the way that society works. I don't think they define who I am, unless it's where my passion is.

_________________
be immersed

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #19 Posted: Mon Apr 13, 2015 6:37 pm 
Gosei
User avatar

Posts: 1378
Location: wHam!lton, Aotearoa
Liked others: 253
Was liked: 105
Matlab Programming is a hammer, go is an extremely fancy spec of nail.

_________________
Revisiting Go - Study Journal
My Programming Blog - About the evolution of my go bot.

Top
 Profile  
 
Offline
 Post subject: Re: Programming vs Go
Post #20 Posted: Tue Apr 14, 2015 10:30 am 
Oza
User avatar

Posts: 2508
Liked others: 1304
Was liked: 1128
LokBuddha wrote:
Which one is harder, Programming or Go, in term of learning progress and time to become competent say 1d amateur in Go as in Programming? from the perspective of programmer and non programmer.


Why do you want to know? You might get some better answers...

_________________
Patience, grasshopper.

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 45 posts ]  Go to page 1, 2, 3  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: Bing [Bot] and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group