Code golf: Difference between revisions

Jump to navigation Jump to search
429 bytes added ,  12:24, 31 December 2021
no edit summary
m (two minor "typos")
No edit summary
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''Code golf''' is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that solves a given problem. While the exact origins of this sport is lost to history, it is known to have been popular with early APLers. While dedicated ''golfing languages'' (programming languages constructed expressly for the purpose of winning code golf competitions) usually can accomplish the goal with shorter code than APL can muster, APL does almost always have the upper hand when compared to other production languages. This is thanks to APL's array comprehension and common operations being represented by [[glyph|single character]]s.
'''Code golf''' is a type of recreational computer programming competition in which participants strive to achieve the shortest possible source code that solves a given problem. While the exact origins of this sport is lost to history, it is known to have been popular with early APLers. While dedicated ''golfing languages'' (programming languages constructed expressly for the purpose of winning code golf competitions) usually can accomplish the goal with shorter code than APL can muster, APL does almost always have the upper hand when compared to other production languages. This is thanks to APL's array comprehension and common operations being represented by [[glyph|single character]]s.


For production code, one normally shouldn't just strive for code that is as short as possible, as code clarity, execution speed, and memory usage usually are more import. However, engaging in code golf can serve to:
For production code, one normally shouldn't just strive for code that is as short as possible, as code clarity, execution speed, and memory usage usually are more important. However, engaging in code golf can serve to:


* encourage exploration of the programming language's facilities
* encourage exploration of the programming language's facilities
Line 8: Line 8:
* become accustomed to think out-of-the-box which may lead to realising better ways of approaching problems
* become accustomed to think out-of-the-box which may lead to realising better ways of approaching problems
* have fun while programming leading to a better state of mind and thus better code and higher effectivity
* have fun while programming leading to a better state of mind and thus better code and higher effectivity
* meet other APLers and participate in community-building


Stack Exchange's ''Code Golf'' site has a very active group of APL golfers, with a significant percentage of new posts receiving APL answers within a relatively short time. They tend to convene in the [[APL Orchard]] to ask for help, discuss solutions, and challenge each other.
Stack Exchange's ''Code Golf'' site has a very active group of APL golfers, with a significant percentage of new posts receiving APL answers within a relatively short time. They tend to convene in the [[APL Orchard]] to ask for help, discuss solutions, and challenge each other.
Line 15: Line 16:
== External links ==
== External links ==
* [[Wikipedia: Code golf]]
* [[Wikipedia: Code golf]]
* [https://codegolf.stackexchange.com/questions/17665/tips-for-golfing-in-apl Code Golf Stack Exchange: ''Tips for golfing in APL'']
* [https://codegolf.stackexchange.com/ Code Golf Stack Exchange]: Tips for golfing in [https://codegolf.stackexchange.com/questions/17665/tips-for-golfing-in-apl APL], [https://codegolf.stackexchange.com/questions/6596/tips-for-golfing-in-j J], [https://codegolf.stackexchange.com/questions/50657/tips-for-golfing-in-k K]
* [https://codegolf.codidact.com/ Codidact Code Golf]
* [https://razetime.github.io/APLgolf/ APLgolf] ― a website that assists in composing answers for Code Golf Stack Exchange
* [https://dyalog.tv/Webinar/?v=3FjYly2G_QI Dyalog webinar: ''APL Code Golf Autumn Tournament'']
* [https://dyalog.tv/Webinar/?v=3FjYly2G_QI Dyalog webinar: ''APL Code Golf Autumn Tournament'']
* [https://www.dyalog.com/user-meetings/dyalog17.htm#TP03 2017 Dyalog User Meeting: ''Code Golf Hackathon'']
* [https://www.dyalog.com/user-meetings/dyalog17.htm#TP03 2017 Dyalog User Meeting: ''Code Golf Hackathon'']

Navigation menu