Live data from Hacker News

Programming Idioms

programming-idioms.org

11–19 of 19 posts

Re: Programming Idioms

#11
post #5

Sorry, [Common Lisp] is currently not a supported language. New time sink avoided.

[Lisp] seems to be a tag though. Add it as [Lisp] (if you still want your new shiny time sink) and write comment of which implementation it is.

Re: Programming Idioms

#12
post #7

The clojure one to reverse a string makes it a sequence of characters, then reverses that sequence and puts it back together again as a string.. Why not jsut: (require '[clojure.string :as str]) (let [s "hello"] (str/reverse s)) => "olleh" Reversing a string is in the core library...

On a related note, the problem is underspecified.

> Create string t containing the same characters as string s, in reverse order. Original string s must remain unaltered. Each character must be handled correctly regardless its number of bytes in memory.

What encoding? Assuming UTF-8, what is a "character"? A code point? A grapheme? The result of the lack of specification is that the different approaches really solve different problems. Some, like the C implementation, have a naive approach that only solves the problem in fixed size encodings where the width is equal to CHAR_BIT. Others I'm sure run into problems with combining characters

Re: Programming Idioms

#13
This is a nice to have all in 1 place.

This improves time when learning 1 language to another. I could get lost spending time here advancing what I already know (or don't know) and enjoy the format of the content here.

What was your process like in going about getting the original content for the various languages? Are you you somewhat familiar with all these languages and how to the curators go about accepting (or denying) a new submission.

Re: Programming Idioms

#14

This is really cool and seems pretty up-to-date ... which leaves me surprised that Obj-C is present but Swift isn't. (Even moreso considering that both Java and Kotlin are present).

You can vote for Swift here https://github.com/Deleplace/programming-idioms/issues/30

Re: Programming Idioms

#15
post #11
post #5

Sorry, [Common Lisp] is currently not a supported language. New time sink avoided.

[Lisp] seems to be a tag though. Add it as [Lisp] (if you still want your new shiny time sink) and write comment of which implementation it is.

Thanks, I might write some idioms in it.

Re: Programming Idioms

#16

This is a nice to have all in 1 place. This improves time when learning 1 language to another. I could get lost spending time here advancing what I already know (or don't know) and enjoy the format of the content here. What was your process like in going about getting the original content for the various languages? Are you you somewhat familiar with all these languages and how to the curators go about accepting (or d…

Author here: there were 2 initial use cases for me,

(1) I'm familiar with the language X but I forget e.g. how to "check if a file exists"

(2) I'm learning a new language Y, I know that "checking if a file exists" is a legit need and there must be an idiomatic way to do it in Y, so I look at the entry, alongside implementations in other languages that I'm more familiar with, so I can quickly spot the similitudes and the differences.

I do (1) all the time because my brain has very little onboard memory.

The website is open to contributions without prior validations. This means that not all snippets end up being both correct and idiomatic. I manually revert spam and "obviously incorrect" entries. For languages that I don't know very well, I encourage actual experts to fix snippets, or add a better new implementation, when they see poor contents.

Re: Programming Idioms

#18

This is a nice to have all in 1 place. This improves time when learning 1 language to another. I could get lost spending time here advancing what I already know (or don't know) and enjoy the format of the content here. What was your process like in going about getting the original content for the various languages? Are you you somewhat familiar with all these languages and how to the curators go about accepting (or d…

Author here: there were 2 initial use cases for me, (1) I'm familiar with the language X but I forget e.g. how to "check if a file exists" (2) I'm learning a new language Y, I know that "checking if a file exists" is a legit need and there must be an idiomatic way to do it in Y, so I look at the entry, alongside implementations in other languages that I'm more familiar with, so I can quickly spot the similitudes and…

Great resource, thank you for building it!

Re: Programming Idioms

#19
post #7

The clojure one to reverse a string makes it a sequence of characters, then reverses that sequence and puts it back together again as a string.. Why not jsut: (require '[clojure.string :as str]) (let [s "hello"] (str/reverse s)) => "olleh" Reversing a string is in the core library...

On a related note, the problem is underspecified. > Create string t containing the same characters as string s, in reverse order. Original string s must remain unaltered. Each character must be handled correctly regardless its number of bytes in memory. What encoding? Assuming UTF-8, what is a "character"? A code point? A grapheme? The result of the lack of specification is that the different approaches really solve…

Submit a task/"idiom" with an improved/stricter spec and link back to the original one.
Post reply on HN