30 Matching Annotations
  1. 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.

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

  3. Jan 2018
  4. 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

  5. Oct 2017
    1. Transcription is supported in the following languages for MECHANICAL fidelity jobs:

      List of supported languages for ASR or Mechanical captions.

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

  7. Apr 2017
  8. Mar 2017
    1. Suggestion for a programming language in which commands are displayed as comic strip panels, with each one showing the output up to that point.

      https://twitter.com/jasonbrennan

  9. Jul 2016
    1. a handful in a few major world languages

      One might think that those other languages are well-represented. People connected with the Open Knowledge Foundation are currently tackling this very issue. Here, Open Education isn’t just about content.

  10. Jan 2016
  11. kotlinlang.org kotlinlang.org
    1. Kotlin, a statically typed language that compiles to Java bytecode or JavaScript.

  12. Dec 2015
    1. The Red programming language is based on Rebol (a Lisp-like interpreted language), but can compile binaries for several platforms. It is extremely lightweight. It covers the full range of programming tasks, from embedded systems to scripting. It's very young: they are working on a GUI library. http://www.red-lang.org/

  13. 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".

  14. Sep 2015
  15. Jul 2015
  16. Nov 2014
    1. Python was created by Guido Van Rossum in the early 90s. It is now one of the most popular languages in existence. I fell in love with Python for its syntactic clarity. It’s basically executable pseudocode.

      Helpful concise, Python syntax doc

    1. Full Text Beginning Perl Modern Perl Impatient Perl Extreme Perl Embedding Perl in HTML with Mason Picking Up Perl Perl 5 Internals Practical Mod Perl Perl & LWP

      Full e-books on Perl

    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

  17. Feb 2014
    1. The Benjamin Franklin Programming Practice Model
      • Find a program that you greatly admire and read it.
      • Takes note on the roles, inputs, and outputs of each major component.
      • Take notes on how the components interact.
      • Rewrite the program.
      • Compare your code with the original.
      • Note where you can improve and study accordingly.
    2. The hard part is teaching the consequences of each choice.

      Once you get the syntax and basic language idioms out of the way this is the real problem that faces us no matter what language we pick.

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