221 Matching Annotations
  1. Sep 2024
    1. In comparison, Perl/Python/Javascript, which also have the latter property, have other false-like values (0 and empty string), which make || differ from a null-coalescing operator in many more cases (numbers and strings being two of the most frequently used data types). This is what led Perl/Python/Javascript to add a separate operator while Ruby hasn't.
    2. Examples by languages
  2. Aug 2024
  3. May 2024
    1. Theoretically interested readers should therefore follow the advice of learning as many languages as possible in such a way that they have at least passive mastery of them and thus can read and understand them.

      Interesting, Luhmann recommends to know many languages so as to prevent the pitfalls of translational errors in conveying meaning when it is to read translated books. So read books in their original language.

  4. Apr 2024
    1. During the first three years of their education, South African children receive schooling in one of the 11 written official languages. Generally, this means being taught in their home language.

      Check how many official languages we have now, 11, 12 or 13?

  5. Mar 2024
  6. Feb 2024
    1. Most of these enthusiasts were idealists who wanted to create auniversal language which would help international relations and unite theworld. This noble hope stood in contrast with – and probably in reaction to –the rise of nationalisms in the late nineteenth century. Over 150 newlanguages were created in this period, the best-known being Volapük (1879),Pasilingua (1885), Esperanto (originally called Lingvo Internacia) (1887),Spelin (1888), Spokil (1889), Mundolingue (1889), and Ido (1907).
    2. Byington shared her uncle’s interest in and support for indigenousculture and language, serving as President of the Stockbridge branch of theIndian Rights Association, and on the Education Committee for the Women’sNational Indian Associatio

      Support for

    3. But it was her uncle, the RevdCyrus Byington, who had the greatest influence on her life and interests. Hehad been a missionary with the Brewer sisters’ father to the Choctaw NativeAmerican Communities at the old mission station in Stockbridge; he hadtranslated the Bible into Choctaw, and wrote a grammar and dictionary of thelanguage.
    4. Tribes of the Extreme Northwest by the American naturalist WilliamDall was another important book on the indigenous peoples and languages ofAlaska, western Washington, and north-western Oregon
    5. Over thetwenty-three years that Minor had sent in slips to the Scriptorium, he mainlyread travellers’ tales and medical texts from the sixteenth and seventeenthcenturies. It was the travellers’ tales that interested me because they broughtthousands of words from indigenous languages around the world into theEnglish language.
    1. Sarah is a Senior Research Fellow in the Faculty of Linguistics, Philology, and Phonetics, and Director of the Dictionary Lab at Oxford. She specializes in lexicography, endangered languages, language revitalization, the history of dictionaries, and the interface of technology with the Social Sciences and Humanities (digital humanities). Her research includes work on Australian Aboriginal and American Indian languages, especially relating to language documentation and revitalization. She is the Director of the new MSc in Digital Scholarship.

      What a fascinating set of areas she's working in... I want to do this...

  7. Jan 2024
    1. Some of Newton's notes come from a 1654 edition of: Gregory, Francis. Ονομαστικὸν βραχύ; sive, Nomenclatura brevis, Anglo-Latino-Græca, in usum Scholæ Westmonasteriensis. Per F. G. [i.e. Francis Gregory.] Editio vigesima secunda, etc. John Meredith, in trust for Royston and Elizabeth Meredith, 1710.

  8. Dec 2023
  9. Nov 2023
  10. Oct 2023
    1. Is there a list of every possibility a Latin verb can take on, and it's English meaning? .t3_17hvr75._2FCtq-QzlfuN-SwVMUZMM3 { --postTitle-VisitedLinkColor: #9b9b9b; --postTitleLink-VisitedLinkColor: #9b9b9b; --postBodyLink-VisitedLinkColor: #989898; }

      I've not used Mango before, but if it's like other similar apps (Duolingo, Babel, etc.) which focus primarily on spoken language and general understanding over grammar (and you've never learned other languages or had a good grounding in grammar) you're likely going to be a tad lost. These apps usually focus on spoken fluency over reading/writing which is how most Latin grammar books and high school/college courses are traditionally laid out.

      You've got options:

      • ignore your question(s) and move on with what the app presents and you'll slowly/eventually catch on naturally, which is how many apps geared toward fluency are meant to be done. Trust that eventually your questions will be cleared up, or
      • pick up a Latin grammar and begin working your way through the structured reading/writing approach, or
      • do a little of both approaches depending on what your focus for reading, writing, and speaking Latin may be.

      Your question will become much clearer to you when you've seen how verbs are parsed within a grammar textbook (using person, number, and tense) as they're very logically and rigidly structured outside of a handful of irregular verbs. (Most books present these as a grid of two columns (by number: singular/plural) and three rows (first, second, third person).) As a beginner, you'll be glad to know there hasn't been a huge jump in the state of the art in Latin for several hundred years, so even inexpensive, used copies of Wheelock, Allen & Greenough, or Jenny/Scudder/Baade or a trip to the library for one of them should help you along your way. Once you've seen some of the grammatical structure of verbs and how they work, you'll come to understand that a list like what you're looking for isn't really what you're looking for.

      You could, likely, in a couple of days have a rote memorization of most of the forms of almost all verbs such that when you encounter them, but in practice this means that you have to pick each one apart like a formula as you encounter them. You may be better off practicing/drilling each of the ones you encounter to make it an elemental part of you. This way you'll be able to sight read or listen and respond much more quickly and much faster than anyone who learns from standard grammars.

      Good luck!

    1. Revise, Nicolas. “Tech Breathes New Life into Endangered Native American Languages.” News. Phys.org, October 19, 2023. https://phys.org/news/2023-10-tech-life-endangered-native-american.html.

    2. According to TLC, 143 out of 219 languages are in danger of extinction in the United States, while 75 of 94 are at similar risk in Canada.
    3. The RWC was developed by The Language Conservancy (TLC), an NGO dedicated to protecting around 50 Indigenous languages around the world, in order to churn out such dictionaries at super-speed. TLC, which has a $3 million budget, regularly teams up linguists with Native American language teachers to work on these dictionaries.
    4. International Conference on Indigenous Language Documentation, Education and Revitalization (ICILDER) last weekend at the University of Indiana.
    1. During the establishment of the covenant between Yahweh and Israel, the people were commanded to destroy the sacred stones of the Canaanites, “You must demolish them and break their sacred stones (masseboth) to pieces” (Exodus 23:24).

      In neighboring cultures in which both have oral practices relating to massebah, one is not just destroying "sacred stones" to stamp out their religion, but it's also destroying their culture and cultural memory as well as likely their laws and other valuable memories for the function of their society.

      View this in light also of the people of Israel keeping their own sacred stones (Hosea 10:1) as well as the destruction of pillars dedicated to Baal in 2 Kings 18:4 and 2 Kings 23:14.

      (Link and) Compare this to the British fencing off the land in Australia and thereby destroying Songlines and access to them and the impact this had on Indigenous Australians.

      It's also somewhat similar to the colonialization activity of stamping out of Indigenous Americans and First Nations' language in North America, though the decimation of their language wasn't viewed in as reciprocal way as it might be viewed now. (Did colonizers of the time know about the tremendous damage of language destruction, or was it just a power over function?)

    1. When a language presumes to know more than its user, that's when there's trouble.
    2. Just because a language has a feature that might be dangerous doesn't mean it's inherently a bad thing. When a language presumes to know more than its user, that's when there's trouble.
    3. I'd argue that when you find a programming language devoid of danger, you've found one that's not very useful.
    4. The reason eval is there is because when you need it, when you really need it, there are no substitutes. There's only so much you can do with creative method dispatching, after all, and at some point you need to execute arbitrary code.
  11. Sep 2023
    1. I think "purely functional, not a single re-assigned variable" often introduces significant extra complexity, when Ruby is a language that embraces both functional and imperative programming.
    2. One of my favorite aspects of Ruby is how easy it is to write in a functional programming style, and including the scan operation would expand the number of use cases covered by functional methods.
  12. Aug 2023
    1. Behind these tariff walls the professors who hadmany of the great writers and much of the liberal arts intheir charge contentedly sat, oblivious of the fact that theywere depriving the rising generation of an important part oftheir cultural heritage and the training needed to understandit, and oblivious also of the fact that they were deprivingthemselves of the reason for their existence.

      It can be easy to deprive a generation of important pieces of their cultural heritage by omitting any focus on it.

      • shiboleth
      • philology
      • disinterest
      • overwhelm

      Compare the loss of classical education and cultural heritage by "internal decay" as described by Hutchins in the early 1900s and the forced loss of cultural heritage of Indigenous Americans by the U.S. Government in roughly the same period by re-education and stamping out Indigenous language.

      Certainly one was loss through lack of exposure, but the other was outright erasure due to the natures of orality and literacy.

  13. Jun 2023
    1. TypeScript offers special syntax for turning a constructor parameter into a class property with the same name and value. These are called parameter properties

      Doesn't this violate their own non-goal #6, "Provide additional runtime functionality", since it emits a this.x = x run-time side effect in the body that isn't explicitly written out in the source code?

  14. Mar 2023
    1. As an aside, I think I now prefer this technique to Python for at least one reason: passing arguments to the decorator method does not make the technique any more complex. Contrast this with Python: <artima.com/weblogs/viewpost.jsp?thread=240845>
    2. def document(f): def wrap(x): print "I am going to square", x f(x) return wrap @document def square(x): print math.pow(x, 2) square(5)
  15. Feb 2023
  16. Jan 2023
    1. High Country News, Rebecca Nagle reported that for every dollar the U.S. government spent on eradicating Native languages in past centuries, it has spent less than 7 cents on revitalizing them in the 21st century. 

      !- United States indigenous language : ststistic - US Govt spent less than 7 cents for every dolloar spent eradicating indigenous language in the past - Citation : report by Rebecca Nagle in the High Country News: https://www.hcn.org/issues/51.21-22/indigenous-affairs-the-u-s-has-spent-more-money-erasing-native-languages-than-saving-them

    2. Australian government won’t stop trying to infiltrate these communities with English. Disguised as “education,” the imposition of English is an attempt to reduce the already dismal number of 13 Indigenous languages spoken by children in Australia (from 300-700 languages before the U.K. colonized Australia, in 1788),

      !- Australian language genocide - 300 to 700 indigenous Australian languages before colonization in 1788 - now there are 13

    3. Learning a New Language Can Help Us Escape Climate Catastrophe

      !- Title : Learning a New Language Can Help Us Escape Climate Catastrophe !- Author : Nylan Burton !- comment : summary - while I agree with the analysis, the futures-related question I ask is this: what does a desirable hybridized linguistic landscape look like that integrates English, evolved into a post-colonialist lingua franca and reconstituted indigenous languages with their rich bio-cultural heritage?

  17. Dec 2022
  18. Nov 2022
    1. Language/location related Mastodon Instances:

      • https://ailbhean.co-shaoghal.net/
        • This server is aimed at Gaelic speakers. Tha am frithealaiche seo ann do luchd na Gàidhlig.
      • https://mastodon.scot
        • A community primarily intended for (but not limited to) people in Scotland or who identify as Scottish.
      • https://mastodon.ie/
        • Irish Mastodon
      • https://toot.wales
        • Twt is the free and open community for Wales and the Welsh, at home and abroad.
  19. Oct 2022
  20. Sep 2022
    1. For example, whereas C programmers have argued for years about where to put their brackets, and whether code should be indented with tabs or spaces, both Rust and Go eliminate such issues completely by using a standard formatting tool (gofmt for Go, rustfmt for Rust) which rewrites your code automatically using the canonical style. It’s not that this particular style is so wonderful in itself: it’s the standardisation which Rust and Go programmers appreciate.
    2. If you like the functional style of programming, though, you’ll find a lot more facilities for it in Rust, because Rust has a lot more facilities than Go in general.
  21. Aug 2022
  22. Jun 2022
    1. But the copyright on the materials still gives the organization control over how the information is used, which is what some tribal leaders find objectionable.

      Oral cultures treat information dramatically different than literate cultures, and particularly Western literate cultures within capitalism-based economies.

  23. May 2022
    1. The decision not to refer primary school children to online language resources such as AustLang and the Gambay map was appropriate as it would create difficulties for both those readers and their teachers. Those resources are usually used by Indigenous language speakers and experts with a sound training in linguistics.
    1. I think RSpec should provide around(:context)/around(:all). Not because of any particular use case, but simply for API consistency. It's much simpler to tell users "there are 3 kinds of hooks (before, after and around) and each can be used with any of 3 scopes (example, context and suite)". Having some kinds of hooks work with only some kinds of scopes makes the API inconsistent and forces us to add special case code to emit warnings and also write extra documentation for this fact.
    2. I've been thinking of looking into implementing this in rspec-core, primarily to make the API more consistent (e.g. so that you can combine any scope -- example/context/suite -- with any hook type before/after/around).
  24. Feb 2022
    1. "Context" manipulation is one of big topic and there are many related terminologies (academic, language/implementation specific, promotion terminologies). In fact, there is confusing. In few minutes I remember the following related words and it is good CS exam to describe each :p Thread (Ruby) Green thread (CS terminology) Native thread (CS terminology) Non-preemptive thread (CS terminology) Preemptive thread (CS terminology) Fiber (Ruby/using resume/yield) Fiber (Ruby/using transfer) Fiber (Win32API) Generator (Python/JavaScript) Generator (Ruby) Continuation (CS terminology/Ruby, Scheme, ...) Partial continuation (CS terminology/ functional lang.) Exception handling (many languages) Coroutine (CS terminology/ALGOL) Semi-coroutine (CS terminology) Process (Unix/Ruby) Process (Erlang/Elixir) setjmp/longjmp (C) makecontext/swapcontext (POSIX) Task (...)
  25. Jan 2022
    1. Instead of render props, we use Svelte's slot props: // React version <Listbox.Button> {({open, disabled} => /* Something using open and disabled */)} </Listbox.Button> <!--- Svelte version ---> <ListboxButton let:open let:disabled> <!--- Something using open and disabled ---> </ListboxButton>
  26. Dec 2021
  27. Nov 2021
    1. What Makes Ruby on Rails Perfect for Marketplace Development?AlinaE-Commerce & SaaS StrategistMarketplaceRuby/RailsHomeBlogEntrepreneurshipWhat Makes Ruby on Rails Perfect for Marketplace Development?PublishedJul 13, 2020UpdatedJul 13, 202012 min readThe last several years have been marked with the rise of different marketplaces. Airbnb, AliExpress, Etsy, Booking.com are on everyone’s lips. That's not surprising that the idea of launching a second Amazon or eBay seems so appealing. To win the e-commerce race, entrepreneurs focus on providing excellent customer experience and build fast-loading and scalable websites. Besides, business owners take various security measures to protect their customers’ sensitive information. This way, they can gain clients’ trust and boost sales. When building a custom marketplace, what technology stack is best to achieve all these goals? Our answer is simple: Ruby on Rails. In this article, we will fill you in on the Ruby on Rails marketplace development. At Codica, we are passionate fans of this framework and have built numerous e-commerce platforms with its help. Based on our experience, we will discuss the key reasons to choose RoR for building a successful marketplace.

      The last several years have been marked with the rise of different marketplaces. Airbnb, AliExpress, Etsy, Booking.com are on everyone’s lips. That's not surprising that the idea of launching a second Amazon or eBay seems so appealing.

      To win the e-commerce race, entrepreneurs focus on providing excellent customer experience and build fast-loading and scalable websites. Besides, business owners take various security measures to protect their customers’ sensitive information. This way, they can gain clients’ trust and boost sales.

      When building a custom marketplace, what technology stack is best to achieve all these goals? Our answer is simple: Ruby on Rails.

      In this article, we will fill you in on the Ruby on Rails marketplace development. At Codica, we are passionate fans of this framework and have built numerous e-commerce platforms with its help. Based on our experience, we will discuss the key reasons to choose RoR for building a successful marketplace.

  28. Oct 2021
    1. Another option is the use the functional library Ramda, while the syntax may be a bit different from the Ruby and Pure JS version, I find it to be more declarive: list = [null, "say", "kenglish", "co", null] R.reject(R.isNil, list) // return new array [ 'say', 'kenglish', 'co' ]
  29. Sep 2021
    1. At the same time, details about programming language semantics are quite precise and when articles like this get things sort of wrong, it just leads to more confusion.
    1. Whistlers of tonal languages thus face a dilemma: Should they whistle the tones, or the vowels and consonants? “In whistling, you can produce only one of the two. They have to choose,” says Meyer.

      Non-tonal speech is easy to transfer into whistling language, but tonal languages have to choose between whistling the tones or the vowels and consonants as one can only produce one of the two with whistling.

      What effect does this tell us about the information content and density of languages, particularly tonal languages and whistling?

  30. Aug 2021
  31. Jun 2021
    1. Same feature in TypeScript¶ It's worth mentioning that other languages have a shortcut for assignment var assignment directly from constructor parameters. So it seems especially painful that Ruby, despite being so beautifully elegant and succinct in other areas, still has no such shortcut for this. One of those other languages (CoffeeScript) is dead now, but TypeScript remains very much alive and allows you to write this (REPL): class Foo { constructor(public a:number, public b:number, private c:number) { } } instead of this boilerplate: class Foo { constructor(a, b, c) { this.a = a; this.b = b; this.c = c; } } (The public/private access modifiers actually disappear in the transpiled JavaScript code because it's only the TypeScript compiler that enforces those access modifiers, and it does so at compile time rather than at run time.) Further reading: https://www.typescriptlang.org/docs/handbook/2/classes.html#parameter-properties https://basarat.gitbook.io/typescript/future-javascript/classes#define-using-constructor https://kendaleiv.com/typescript-constructor-assignment-public-and-private-keywords/ I actually wouldn't mind being able to use public/private modifiers on instance var parameters in Ruby, too, but if we did, I would suggest making that be an additional optional shortcut (for defining accessor methods for those instance vars) that builds on top of the instance var assignment parameter syntax described here. (See more detailed proposal in #__.) Accessors are more of a secondary concern to me: we can already define accessors pretty succinctly with attr_accessor and friends. The bigger pain point that I'm much more interested in having a succinct shortcut for is instance var assignment in constructors. initialize(@a, @b, @c) syntax¶ jsc (Justin Collins) wrote in #note-12: jjyr (Jinyang Jiang) wrote: I am surprised this syntax has been repeatedly requested and rejected since 7 years ago. ... As someone who has been writing Ruby for over 10 years, this syntax is exactly that I would like. I grow really tired of writing def initialize(a, b, c) @a = a @b = b @c = c end This would be perfect: def initialize(@a, @b, @c) end I'm a little bit sad Matz is against this syntax, as it seems so natural to me. Me too!! I've been writing Ruby for over 15 years, and this syntax seems like the most obvious, simple, natural, clear, unsurprising, and Ruby-like. I believe it would be readily understood by any Rubyist without any explanation required. Even if you saw it for the first time, I can't think of any way you could miss or misinterpret its meaning: since @a is in the same position as a local variable a would normally be, it seems abundantly clear that instead of assigning to a local variable, we're just assigning to the variable @a instead and of course you can reference the @a variable in the constructor body, too, exactly the same as you could with a local variable a passed as an argument. A workaround pattern¶ In the meantime, I've taken to defining my constructor and list of public accessors (if any) like this: attr_reader \ :a, :b def new( a, b) @a, @b = a, b end ... which is still horrendously boilerplatey and ugly, and probably most of you will hate — but by lining up the duplicated symbols into a table of columns, I like that I can at least more easily see the ugly duplication and cross-check that I've spelled them all correctly and handled them all consistently. :shrug: Please??¶ Almost every time I write a new class in Ruby, I wish for this feature and wonder if we'll ever get it. Can we please?
  32. basarat.gitbook.io basarat.gitbook.io
    1. Having a member in a class and initializing it like below:class Foo { x: number; constructor(x:number) { this.x = x; }}is such a common pattern that TypeScript provides a shorthand where you can prefix the member with an access modifier and it is automatically declared on the class and copied from the constructor. So the previous example can be re-written as (notice public x:number):class Foo { constructor(public x:number) { }}
    1. Then, people from programming communities (mainly front-end) realized that CoffeeScript is out of date and is starting to lag behind the ever-evolving Javascript environment. As of today, January 2020, CoffeeScript is completely dead on the market (though the GitHub repository is still kind of alive).
    1. 語 is the suffix which means 'language'. Unlike English which needs two different nouns for a country and its language, in Japanese, you can simply add 語 after the name of a country to mean the language spoken in that country. (e.g. ドイツ = Germany, ドイツ語 = German, フランス = France, フランス語 = French)
    1. The US Library of Congress has been designated the official registration authority by the ISO and they publish the entire, official, up-to-date list as a trivial to parse text file for free.
  33. Apr 2021
  34. Mar 2021
    1. Title: "goal the use case is trying to satisfy"[23]:101 Main Success Scenario: numbered list of steps[23]:101 Step: "a simple statement of the interaction between the actor and a system"[23]:101 Extensions: separately numbered lists, one per Extension[23]:101 Extension: "a condition that results in different interactions from .. the main success scenario". An extension from main step 3 is numbered 3a, etc.

      Not sure why I find this example so interesting.

      Probably because it is a human-readable outline that uses machine-readable (programming language source code) constructs, namely loops/iteration.

      The format in which this is written in, then, is itself a kind of (high-level, human-oriented) programming language.

      Example:

      • numbered list of steps [introduces/names the loop/iterator/enumeration being done]
        • Step: "a simple statement of the interaction between the actor and a system" [defines the inner part of the loop that gets "executed" once per iteration]
    1. JavaScript needs to fly from its comfy nest, and learn to survive on its own, on equal terms with other languages and run-times. It’s time to grow up, kid.
    2. If JavaScript were detached from the client and server platforms, the pressure of being a monoculture would be lifted — the next iteration of the JavaScript language or run-time would no longer have to please every developer in the world, but instead could focus on pleasing a much smaller audience of developers who love JavaScript and thrive with it, while enabling others to move to alternative languages or run-times.
  35. Feb 2021
    1. This is the most popular article “railway oriented programming” on one of the most popular websites of F #.

      I may have seen it before but not really paid attention to it, but this just might be the first time I stopped to look it up.

      Because I saw the code below, didn't recognize the language, and was intrigued.

    1. {a: 1, b: 2, c: 3, d: 4} => {a:, b:, **rest} # a == 1, b == 2, rest == {:c=>3, :d=>4}

      equivalent in javascript:

      {a, b, ...rest} = {a: 1, b: 2, c: 3, d: 4}
      

      Not a bad replacement for that! I still find javascript's syntax a little more easily readable and natural, but given that we can't use the same syntax (probably because it would be incompatible with existing syntax rules that we can't break for compatibility reasons, unfortunately), this is a pretty good compromise/solution that they've come up with.

  36. Dec 2020
  37. Nov 2020
    1. Converting Angular components into Svelte is largely a mechanical process. For the most part, each Angular template feature has a direct corollary in Svelte. Some things are simpler and some are more complex but overall it's pretty easy to do.
    1. Thanks for posting this helpful, well written article. Learning programming, or any other thing one takes up, requires you to sit at one place have a plan of action for your study.

      I was going through my Firefox bookmarks and I found article. I had read this article two years back and had commented that I found it to be useful. I read it back in May 2018. As of now, November 2020, my programming skills are still novice-level. I haven't implemented the ideas or followed suggestions given here.

      It has been 2 years and 5 months since I found this article to be relevant and it baffles me that I haven't taken action by making use of the knowledge given in this article. Two long years flew by. I guess reviewing my bookmarks is something that I will do more often.

      The article was posted on May 23, 2018 and I had stumbled on it the next day itself, i.e., May 24, 2018. This gets me thinking that we could finds solutions for problems(latest ones in this case) once we identify it, articulate it, hit the search button and just read stuff. I could presume that what happened next was that I misunderstood "finding a solution" to "realizing the solution", and perhaps became complacent or maybe there were more problems that didn't come to my awareness to identify and further find solutions. I'm not quite sure. Should I have identified my problems and googled more so that I could have learned C and C++ sooner?

      I wonder what held me back from taking action to accomplish and master something that usually takes not more that 5-6 months maximum.

  38. Oct 2020
    1. Great resources

    2. This collection of forty theme-based readers utilizes authentic photographs and stories to explore topics immediately relevant to adult newcomers

      Adult ESL resources

    1. JavaScript is, of course, a dynamic language that allows you to add and remove objects and their members at any point in time. For many, this is precisely why they enjoy the language: there are very few constraints imposed by the language.
  39. Sep 2020
    1. in constructing representations of how to supportlearning in particular cases

      It reminds me of conjecture mapping. Are we going to make the similar thing?

    1. Cymraeg Byw was promoted with the intention of facilitating thelearning of Welsh particularly among adults, and providing a stable ‘plat-form’ from which they could progress to fluency – and inevitably, as withLiterary Welsh, the loser once again was the native speech of ordinaryWelsh speakers, dismissed by implication as irrelevant. The counter argu-ment, now all the stronger for hindsight, must be that, as with all languages,the aim of the serious learner is competence in the living language; if thatmeans coping with dialect variation, then so be it – it has to be faced sooneror later, and it may as well be sooner.
    2. Within the Celtic family, Welsh has as its closest relatives: Breton (Welshname Llydaweg), spoken in Brittany – estimates of number of speakersvary, but probably somewhat under half a million active users; and Cornish(Cernyweg), extinct since the late eighteenth century, though recently‘resurrected’ by enthusiasts. More distantly related are Irish (Gwyddeleg),Scots Gaelic (Gaeleg yr Alban) and the extinct Manx (Manaweg, whoselast native speaker died in 1974). Welsh, Breton and Cornish constitute theBrythonic group, while the others form the Goidelic group. There arestrong similarities within each group, and considerable differences betweenthe two. All six languages share certain basic characteristics which markthem out as Celtic languages – notably the mutation system (see §§3–12),and inflected prepositions (see §446).
  40. Aug 2020
    1. “I came to Rust from Haskell, and I feel that Haskell is a very elegant and safe language. The biggest differentiator for me is that there is a greater difference between high-performance code and idiomatic ‘clean’ code in Haskell than in Rust. Most Rust code looks like most other Rust code, even when it performs well. Haskell can become unfamiliar real quick if someone is operating under different libraries and goals from what you are typically doing. Small differences in syntax can result in huge differences in behavior, and Rust has more uniformity on that axis.”
    1. Then when giving answers I'm even less certain. For example I see occasional how-to questions which (IMO) are ridiculously complex in bash, awk, sed, etc. but trivial in python, (<10 lines, no non-standard libraries). On such questions I wait and see if other answers are forthcoming. But if they get no answers, I'm not sure if I should give my 10 lines of python or not.
  41. Jul 2020
    1. Most of Algol's "special" characters (⊂, ≡, ␣, ×, ÷, ≤, ≥, ≠, ¬, ⊃, ≡, ∨, ∧, →, ↓, ↑, ⌊, ⌈, ⎩, ⎧, ⊥, ⏨, ¢, ○ and □) can be found on the IBM 2741 keyboard with the APL "golf-ball" print head inserted; these became available in the mid-1960s while ALGOL 68 was being drafted. These characters are also part of the Unicode standard and most of them are available in several popular fonts.
  42. Jun 2020
  43. May 2020
    1. In natural languages, some apparent tautologies may have non-tautological meanings in practice. In English, "it is what it is" is used to mean 'there is no way of changing it'.[1] In Tamil, vantaalum varuvaan literally means 'if he comes, he will come', but really means 'he just may come'.[2]
  44. Apr 2020
    1. The programming language is augmented with natural language description details, where convenient, or with compact mathematical notation.
    1. Other languages, German for example, are notorious for very long compunds like this and this, that are made up and written as one word directly. Perhaps the way your native language deals with compounds explains your (or other authors') personal preference and sense of "right"?
    1. Just as with wine-tasting, having a bigger vocabulary for colours allows specific colours to be perceived more readily and remembered more easily, even if not done consciously.
  45. Mar 2020
    1. A NackClass is the same as NilClass except for any method it does not recognize, it return the instance of itself. nack.nack.nack.nack #=> nack Note I used to call this NullClass, but "nack" seems a little more fitting a term.
  46. Feb 2020
  47. Jan 2020
    1. I've often wished for some standard variable to use for blocks and such. Like some people here, I had considered it. Usually I use _ but I know that means "unused" to many/most programmers. I like the % option that Clojure has.

  48. Dec 2019
    1. ‘I have ten thousand florins a year without Greek, I eat heartily without Greek.’

      This passage comes from Oliver Goldsmith's (1730-1774) novel The Vicar of Wakefield (1766), and seems to ask whether education ought to be directed squarely towards vocational training (as clear from Clerval's father's opinion), or whether learning the classical languages or literature (or "the Greeks") is valuable in itself.

  49. Nov 2019
  50. Oct 2019
  51. Aug 2019
  52. Apr 2019
    1. The very concept of a “programming language” originated with languages for scientists — now such languages aren’t even part of the discussion! Yet they remain the tools by which humanity understands the world and builds a better one.

      A powerful recognition based on historical perspectives.

  53. Oct 2018
    1. Perhaps part of the confusion - and you say this in a different way in your little memo - is that the C/C++ folks see OO as a liberation from a world that has nothing resembling a first-class functions, while Lisp folks see OO as a prison since it limits their use of functions/objects to the style of (9.). In that case, the only way OO can be defended is in the same manner as any other game or discipline -- by arguing that by giving something up (e.g. the freedom to throw eggs at your neighbor's house) you gain something that you want (assurance that your neighbor won't put you in jail).

      [9] "Sum-of-product-of-function pattern - objects are (in effect) restricted to be functions that take as first argument a distinguished method key argument that is drawn from a finite set of simple names."

    2. Sum-of-product-of-function pattern - objects are (in effect) restricted to be functions that take as first argument a distinguished method key argument that is drawn from a finite set of simple names.

      fwiu: the "finte set of simple names" are all the objects defined in the codebase e.g. in java there are no functions as such just methods attached to classes i.e. "their key argument"

    3. All you can do is send a message (AYCDISAM) = Actors model - there is no direct manipulation of objects, only communication with (or invocation of) them. The presence of fields in Java violates this.

      from what I understand in Java... there are some variables on classes (class instances) that are only acessible through methods and for those the "only send message" paradigm holds but there are also fields which are like attributes in python which you can change directly

    4. Parametric polymorphism - functions and data structures that parameterize over arbitrary values (e.g. list of anything). ML and Lisp both have this. Java doesn't quite because of its non-Object types.

      generics so you've got a "template" collection e.g. Collectoin<animal> and you parametrise it with the Animal type in this example how is that broken by "non-Object types" in java</animal>

    5. Encapsulation - the ability to syntactically hide the implementation of a type. E.g. in C or Pascal you always know whether something is a struct or an array, but in CLU and Java you can hide the difference.

      is this because:

      • interfaces--contextually identical (because satisfy common set of behaviours)?
      • or being wrapped in objects (thus blurring the difference)?
    1. Following Christopher Strachey,[2] parametric polymorphism may be contrasted with ad hoc polymorphism, in which a single polymorphic function can have a number of distinct and potentially heterogeneous implementations depending on the type of argument(s) to which it is applied. Thus, ad hoc polymorphism can generally only support a limited number of such distinct types, since a separate implementation has to be provided for each type.

      kind of like clojure multimethods but those can dispatch on arbitary function hence arbitrary "property"

    2. In programming languages and type theory, parametric polymorphism is a way to make a language more expressive, while still maintaining full static type-safety. Using parametric polymorphism, a function or a data type can be written generically so that it can handle values identically without depending on their type.[1] Such functions and data types are called generic functions and generic datatypes respectively and form the basis of generic programming.

      so essentially this is just a way to escape the contrains of types--overspecifying the type of argument for e.g. append function

      I guess the behaviour implement cannot really implement on the type of value

  54. Jan 2018