Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 2.92 KB

appendix-programming-languages.md

File metadata and controls

45 lines (33 loc) · 2.92 KB
Programming languages you were interested in
  • Fortran/Algol (sth old),
  • Go,
  • PhP,
  • Q#,
  • Matlab,
  • Ruby on Rails,
  • Rust
  • Scala
  • Arduino
  • ... probably some more ...

one language I would like to add is

  • Elm which used to be based on Functional Reactive Programming, but moved to a new architecture. Elm is a programming to implement reactive systems, which is related to a discussion we had in class of how to reconcile the idea of functional programming with the idea of not having just one input and one output but rather streams of inputs and outputs (and continue computing/reacting potentially forever)

there was also the question about using python for a machine learning project ... I think you need to be able to argue that your project contributes to learning sth new about Programming Languages ... so if you used machine learning to analyse the data on github in order to learn sth new about Programming Languages that could be possible ... so I add

  • machine learning Programming Languages data

On Friday, I will present you a class of programming languages called theorem provers or proof assistants, where programs are mathematical proofs. Proof assistants are not only a tool in programming languages (see the course concrete semantics which teaches theorem proving and programming languages together), they are also a great way to learn more about logic from the point of view of a programmer (because you write proofs by writing programs). The proof assistant I will present is

but there are also other ones such as Coq and Agda and, in particular,

which is not only a proof assistant but also a fully fledged functional programming language about which it is said that Idris is what Haskell would look like if Haskell had been designed with dependent types. In my view Isabelle makes it easier to bring maths on the machine whereas Idris (and Coq and Agda) are a more natural starting point from a programmers perspective as they directly implement the the paradigm "proofs=programs".

Programming languages that have been chosen (let me know if I missed some)

  • Haskell (Matt McCortney)
  • Julia (Ryan Lindner)
  • Solidity (Christina Berardi, Ben Wasserman)
  • Go (Grayson Berman, Parker Janke)
  • Swift (Majid Aziz, Matthew Schwab, Alfonso Castanos)
  • Haskell (Daniel Briseno, ...)
  • IBM Q (Sam Kagan, Trevor Kling)
  • Fortran (Akash Arora, ... somebody wants to join?)
  • Javascript/JQuery (Theo Balestra, Rielle Dizon)
  • Elixir (Cole Gotelli, Nick Lai, Charlie Liu)
  • Ruby on Rails (Brendan Forde, Tommy Madden)
  • ...