Life In 19x19 http://www.lifein19x19.com/ |
|
Programming vs Go http://www.lifein19x19.com/viewtopic.php?f=10&t=11703 |
Page 1 of 3 |
Author: | LokBuddha [ Sun Apr 12, 2015 9:18 pm ] |
Post subject: | Programming vs Go |
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. |
Author: | Kirby [ Sun Apr 12, 2015 9:37 pm ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | emeraldemon [ Sun Apr 12, 2015 9:42 pm ] |
Post subject: | Re: Programming vs Go |
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). |
Author: | Kirby [ Sun Apr 12, 2015 9:49 pm ] |
Post subject: | Re: Programming vs Go |
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? |
Author: | schawipp [ Sun Apr 12, 2015 10:47 pm ] |
Post subject: | Re: Programming vs Go |
IMHO the main difference is that in Go mistakes make you lose a game while in programming they make you start a debugger. |
Author: | John Fairbairn [ Mon Apr 13, 2015 1:04 am ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Uberdude [ Mon Apr 13, 2015 1:54 am ] |
Post subject: | Re: Programming vs Go |
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 |
Author: | schawipp [ Mon Apr 13, 2015 2:41 am ] |
Post subject: | Re: Programming vs Go |
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... ![]() 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. |
Author: | LokBuddha [ Mon Apr 13, 2015 8:51 am ] |
Post subject: | Re: Programming vs Go |
What about the time to master programming vs go? Like becoming pro level or high Dan amateur |
Author: | joellercoaster [ Mon Apr 13, 2015 9:14 am ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Solomon [ Mon Apr 13, 2015 10:07 am ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Polama [ Mon Apr 13, 2015 10:31 am ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Bantari [ Mon Apr 13, 2015 12:31 pm ] |
Post subject: | Re: Programming vs Go |
To me, the are big difficulties in comparing programming skills to Go skills. There are several factors which make it quite different.
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:
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. ![]() |
Author: | Kirby [ Mon Apr 13, 2015 2:58 pm ] |
Post subject: | Re: Programming vs Go |
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? |
Author: | Bantari [ Mon Apr 13, 2015 3:31 pm ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Kirby [ Mon Apr 13, 2015 3:41 pm ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Boidhre [ Mon Apr 13, 2015 3:59 pm ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Kirby [ Mon Apr 13, 2015 4:50 pm ] |
Post subject: | Re: Programming vs Go |
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. |
Author: | Loons [ Mon Apr 13, 2015 6:37 pm ] |
Post subject: | Re: Programming vs Go |
Author: | daal [ Tue Apr 14, 2015 10:30 am ] |
Post subject: | Re: Programming vs Go |
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... |
Page 1 of 3 | All times are UTC - 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |