HNHacker News
TopNewBestAskShowJobs

archena

87 karma · joined April 7, 2014

Co-founder of Fuzzy Labs - http://fuzzylabs.ai
submissionscomments
archena··on Pedants' Favorite Grammar Rules are Probably Fake
But there's a key difference between language and writing: while writing is taught formally, language is learnt by imitation. If that's how we've evolved to use language, I don't see how standardisation could even make sense.

Regarding language being about communication, I think a subtlety is often missed: what are we communicating? our choice of linguistic conventions communicates a lot about the community we identify with, our status, age, etc.

archena··on Uncleftish Beholding: English minus the non-Germanic words (1998)
It would need the ability to coin plausible replacement words too, like 'firststuffs'.
archena··on Why Chinese Is So Damn Hard (1992)
Not to nit-pick, but Chinese has as much grammar as any other language. The idea that Chinese "lacks grammar" needs to die. It seems to stem from the very eurocentric view that grammar consists of rules for inflecting words according to case, number, gender, etc. While Chinese lacks these, it does have rules and patterns which dictate how sentences are formed (e.g. the use of'le', topic marking, measure words) - it just doesn't use patterns familiar to speakers of indo-european languages.
archena··on Why Chinese Is So Damn Hard (1992)
What do "implict" and "explicit" languages even mean? Chinese uses a different grammar, so in that sense it puts ideas into words differently, but the idea that Chinese is somehow less literal than English is nonsense.
archena··on Why Chinese Is So Damn Hard (1992)
Much of this article focuses on the writing system, but it's possible to learn to converse in a language without being literate in it. It's a fallacy to say that Chinese is "hard" because it is written with characters (and besides, there's always romanisation via Pinyin).

I'm glad it made sure to state that difficulty is relative in language - the Chinese learn their languages just fine afterall.

I don't think tone is as big of a problem as it's made out to be. As a foreiger who studies Mandarin I've found that with enough listening I began to pick out the tones well (although I still can't reproduce them as acurately!).

Unfortunately there is a lot of misinformation surrounding Chinese. A good book mentioned in the bibliography is The Chinese Language: Fact and Fantasy by John DeFrancis.

archena··on Math topics useful for computer science/programming
That and tail-call optimisation :)
archena··on Math topics useful for computer science/programming
I'd include combinatorics under 'useful' too - although the basics are usually covered in statistics courses. Odd that the list mentions differential equations but not basic calculus, which I'd think is more fundamental.

It's also interesting to consider the chapter headings in Concrete Mathematics (Graham, Knuth, Patashnik), a text designed with students of CS and programming in mind:

    Recurrent Problems
    Summation
    Integer Functions
    Number Theory
    Binomial Coefficients
    Special Numbers
    Generating Functions
    Discrete Probability
    Asymptotics
archena··on Programming paradigms that change how you think about coding
Why do you think SQL doesn't qualify? it's certainly not the only example of declarative programming, and maybe not the most interesting, but it is one which most developers have come across.
archena··on Google C++ style guide
I've encountered a lot of c++ programmers who seem to dislike a lot of c++; even refusing to use the STL. Perhaps it's because c++ and Python have different cultural backgrounds: a lot of early c++ programmers came over grudgingly from c and continued to program in a c-style.
archena··on Unpythonic Python
I like these. Another generator version:

  def fbgen(text, divisor):
      while True:
          for i in range(1, divisor):
              yield ""
          yield text

  def derrangedBuzz(max):
      fizzer = fbgen("Fizz", 3)
      buzzer = fbgen("Buzz", 5)

      for i in range(1, max + 1):
          s = fizzer.next() + buzzer.next()
          
          if s == "":
              print i
          else:
              print s