226 Matching Annotations
  1. Oct 2018
    1. 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>

    2. 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

  2. Jan 2018
  3. Nov 2017
    1. The considerations which have governed the specification of languages to be taught by the professor of Modern Languages were that the French is the language of general intercourse among nations, and as a depository of human Science is unsurpassed by any other language living or dead: that the Spanish is highly interesting to us, as the language spoken by so great a portion of the inhabitants of our Continents, with whom we shall possibly have great intercourse ere long; and is that also in which is written the greater part of the early history of America.

      I found this excerpt very admirable, as it emphasizes the importance of teaching and learning different languages. This not only broadens the possibilities for someone, but in this day and age, it is necessary to be at least bilingual given the amount of languages people speak in the U.S. alone.

    2. The considerations which have governed the specification of languages to be taught by the professor of Modern Languages were that the French is the language of general intercourse among nations, and as a depository of human Science is unsurpassed by any other language living or dead: that the Spanish is highly interesting to us, as the language spoken by so great a portion of the inhabitants of our Continents, with whom we shall possibly have great intercourse ere long; and is that also in which is written the greater part of the early history of America.

      This excerpt Is remarkable because in order to feel the need to establish a new university, the board must have seen discrepancies in education amongst the other universities of the day. Languages being a missing component of a university that was of need to be changed is interesting since the board's purpose of including it so specifically shows that UVA was meant to be very cutting edge. It is mentioned that Spanish and French are needed to communicate with the other people of the Americas, which shows that the boar meant to educate generations of men who should amount to great stature in order to be needing these skills. This nuance shows me to me the thriving character of UVA, which is an education that is very practical.

      Muhammad Amjad

  4. Oct 2017
  5. Sep 2017
    1. The tender age at which this part of education commences, generaly about the tenth year, would weigh heavily with parents in sending their sons to a school so distant as the Central establishment would be from most of them

      The University set out a goal for the parents of young boys to begin their studies of the ancient languages at the year of age ten. This is an extremely young age, considering that the boys would be going to college eight years later. The minds of the young boys seem to be too young to be able to grasp this form of art. This correlates to my Engagement, Art Inside/Out, by focusing on the art aspect. Latin, Greek, and Hebrew are forms of art in the language aspect. This piece of art is powerful and intriguing; however, it may be too complex for the minds of ten year olds who are still trying to develop.

  6. Apr 2017
  7. Mar 2017
  8. Jul 2016
  9. Jan 2016
  10. kotlinlang.org kotlinlang.org
  11. Dec 2015
  12. Nov 2015
    1. In my opinion one of the key properties of a scripting language is not to be found in the language itself, but rather the tools that are used to deploy it. Traditionally a script in Perl or Python can just be run, without explicitly invoking a complex compilation and linkage script.

      A good point, but unlike the author, I still feel that having a REPL is also important for distinction as a scripting language, as it facilitates rapid prototyping.

    2. almost all languages are dynamic and involve dynamic typing, even languages like Ocaml and Haskell. Every time your code interprets data and makes choices based on that, you have dynamic typing. The simple fact is that there's no hard and fast distinction between type information and data: constraints on data, such as the format of a stream of text, are type constraints which are beyond the static type system to check, so the checks are done dynamically at run time by your code, and that's dynamic typing!

      An interesting perspective, which is a bit like the dual of the Lisp mantra: "code is data".

  13. Sep 2015
  14. Jul 2015
  15. Nov 2014
    1. The goal of this site is to provide a set of materials in support of my Python for Informatics: Exploring Information book to allow you to learn Python on your own. This page serves as an outline of the materials to support the textbook.

      http://www.pythonlearn.com/ | A great resource for starting programmers looking to build knowledge and gain skills. Open Source Course

  16. Feb 2014
  17. Oct 2013
    1. The study of Latin ought, therefore, to follow at no long interval, and soon after to keep pace with the Greek; thus it will happen that when we have begun to attend to both tongues with equal care, neither will impede the other.

      Languages were taught in grade school as a rule in modern times, but are no longer integral to public secondary education, as a rule.