# Suggestion for using Word Search as a basis for Julia coding practices

**URL:** <https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028>\
**Category:** Meta Discussion\
**Created:** [September 11, 2021, 5:10pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028 "2021-09-11T17:10:53Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [September 11, 2021, 5:10pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/1 "2021-09-11T17:10:54Z")

</div>

Hello there.

Although discourse is rich with excellent approach discussions I would suggest it might be interesting to have a GENERAL goal which could address many of the areas that interest people.

**My suggestion is to use the Word search application. It could serve as a basis for newcomers to begin to understand Julia with a problem we all can relate to.**

**You need to address data management:**  
the letter structure ( 2d ( square) 3d ( cube))  
the sought words which can be static or dynamic  
the found words which are discovered ( 3d)  
interesting emergent relationships and representation of same.

**You need to consider efficiency:**  
how effective is the manner in which you allow participants to interact. How easy is it to populate the structures needed  
how quickly can you find the words, how can it be seen to be more efficient using later releases of Julia or more effective algorithms.  
can you find new relationships and if so how?

It would serve as a mechanism for teaching and discovery. It would serve as discussion tool for new approaches in a fun and interesting manner.

So it would end up as a 'sticky" topic where people would contribute their solutions to any of the challenges presented.

---

<div class="post-metadata">

**Author:** ![mbauman](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mbauman/32/31082_2.png) [@mbauman](https://discourse.julialang.org/u/mbauman)\
**Post date:** [September 12, 2021, 3:35am UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/2 "2021-09-12T03:35:58Z")

</div>

I’m afraid I don’t follow. What’s the suggestion?

---

<div class="post-metadata">

**Author:** ![johnmyleswhite](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/johnmyleswhite/32/31_2.png) [@johnmyleswhite](https://discourse.julialang.org/u/johnmyleswhite)\
**Post date:** [September 12, 2021, 11:43am UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/3 "2021-09-12T11:43:42Z")

</div>

I believe OP’s intent is to use this as the canonical example of writing and optimizing Julia code. In general, I think the word “approach” is being used to refer to a mixture of design and implementation, so that this problem would admit of several “approaches”, each of which teach how design and implementation choices affect performance.

I, for one, am a big believer that having one very deep example with hundreds of variations is a great way to learn about writing code, so if OP pushed on this I think it would be a great win for the community. On the flip side, I think it’s likely not what people coming to a forum are looking for; people asking about performance optimizations usually do truly want those optimizations to be applied to their own code rather than to a community-maintained program.

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [September 12, 2021, 12:35pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/4 "2021-09-12T12:35:50Z")

</div>

@johnmyleswhite has it spot on. A word search to show examples of best practices. How to document, code layout, modules, functions the whole 9 yards. I find that a good, as defined by the feedback from the forum, would help tremendously. Especially if many people put up examples.  
This would target people looking for examples to quote in their answers, new to julia and learning in general. Might even serve as a benchmark. I think people come to forums for many reasons and the most interesting ones, I think, are stimulation and education. Having a specific example that is common to most would serve a larger population than just a math or stats problem.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 13, 2021, 11:11am UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/5 "2021-09-13T11:11:01Z")

</div>

> [@anon69491625](#):
>
> How to document, code layout, modules, functions

Base, the standard libraries, and a lot of mature packages are already good examples for these things. And, of course, all of these things are documented.

I am skeptical about authoring code (that does not yet exist) solely for demonstrating some style. Code that is not useful because of its _functionality_ always ends up unmaintained eventually.

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [September 13, 2021, 1:26pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/6 "2021-09-13T13:26:18Z")

</div>

all fair points:  
1 the code doesn’t currently exist because it’s a form of challenge. Many people MIGHT attempt it and from those attempts ALL will learn. A bad example of code is a good example of what not to do.  
2 It’s not just about style but functionality. What are the technical and maintenance considerations of having a module vs a function, should it be used or included? why? those sorts of question could be highlit in the comments.  
3 as to the maintenance aspect this would not be a single attempt but many. Perhaps in the future code evolution would allow for a single best practices example to emerge where code segments considered to be the best approaches by the community ( at the time) would be put into the master code example together with who wrote it and when. A form of code scoreboard.

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [September 13, 2021, 1:41pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/7 "2021-09-13T13:41:45Z")

</div>

> [@anon69491625](#):
>
> maintenance aspect this would not be a single attempt but many

Of this, I am skeptical. Even in FOSS ecosystems, people are time-constrained, so they invest effort into projects which are useful and/or fun. (In any case, don’t let this discourage you, of course you can start this project yourself and maybe people will contribute).

> [@anon69491625](#):
>
> technical and maintenance considerations of having a module vs a function

In what context would a module and a function be considered alternative solutions to a problem?

They are entirely different concepts.

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [September 13, 2021, 1:51pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/8 "2021-09-13T13:51:59Z")

</div>

My tip if you want to do this: just claim that Python/Matlab/Java are 100 times faster than Julia in solving the problem, and you should quickly get a few implementations out of Discourse 🙂

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [September 13, 2021, 1:52pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/9 "2021-09-13T13:52:09Z")

</div>

Skeptical is good and I will give my suggestion more thought and see if I want to put my code where my thoughts are. I was using wordsearch to make the concept approachable to many ( most people have an idea what is involved) BUT mostly fun.

I don’t know what I was thinking about when I compared a module to a function. Sorry about that, I have no excuse.

---

<div class="post-metadata">

**Author:** ![blackeneth](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/blackeneth/32/10353_2.png) [@blackeneth](https://discourse.julialang.org/u/blackeneth)\
**Post date:** [September 13, 2021, 6:36pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/10 "2021-09-13T18:36:03Z")

</div>

It could be fun. Sort of like [Al Zimmerman’s Programming Contests](http://azspcs.com)

Maybe a new one every six months or so. If the problem was an easy one (say, the 8 queens), maybe 3 months.

---

<div class="post-metadata">

**Author:** ![anon69491625](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@anon69491625](https://discourse.julialang.org/u/anon69491625)\
**Post date:** [September 13, 2021, 9:24pm UTC](https://discourse.julialang.org/t/suggestion-for-using-word-search-as-a-basis-for-julia-coding-practices/68028/11 "2021-09-13T21:24:35Z")

</div>

excellent idea, well done. Never heard if Mr Zimmerman, great piece of intel thanks @blackeneth
