JULIA Projects
Contact
Prof. Dr. Claus Möbus
Secretary
Manuela Wüstefeld
JULIA Projects
Julia's Pros and Cons
We refer here to the master course Scientific Programming in Julia taught at the Czech Technical University in Prague.
The following two blog posts summarize the pros and cons:
Quotes
Two Julia pearls
*While trying once again to find if there was any Julia version of the Classic Computer Science Problems by David Kopec (there are versions in Python, Java, Rust, JavaScript and others in GitHub - davecom/ClassicComputerScienceProblemsInPython: Source Code for the Book Classic Computer Science Problems in Python 9), I found these very important pearls from @CMoebus in JULIA Projects // University of Oldenburg 25 a Julia application of the SICP and of the ISLR2, both using Pluto.jl.*
Transpilation of SDFF: From MIT/GNU-Scheme to Julia/Pluto.jl
Hanson, Ch. & Sussman, G.J.; Software Design For Flexibility: How To Avoid Programming Yourself into a Corner, MIT Press, 2021
The authors try to motivate devs to use an additive style in designing software. All programs in the book are written in MIT/GNU-Scheme – a highly flexible language -. The authors argue that the presentation and explanation of programming ideas is more concise in Scheme than in other more popular languages (SDFF, 2021, p.xvi). Our hypothesis is that Julia being more popular than Scheme offers the same or even more conciseness and higher usability. In some cases we use RACKET/Scheme as an intermediate representation in the transpilation process.As IDE we have chosen PLUTO a reactive notebook offering a fantastic platform for development and documentation of Julia programs.
This experiment has two aims. The first is rather selfish. We want to improve our competence in Racket, Scheme and Julia. The second is centered at our hypothesis, whether Julia is sufficiently usable, flexible, expressible, and concise to follow all ideas of Hanson and Sussman expressed in their book SDFF.
- 2. Domain-Specific Languages
- 2.1 Combinators
- 2.1.1 Function Combinators (Julia/Pluto)
- 2.1.1 Function Combinators (Racket / Scheme)
- 2.2 Julia Modules, Types, and OOP (replacement of SDFF’s ch. 2.2 *Regular Expressions*)
- 2.3 Wrappers (Julia/Pluto)
-----------------------------------------------------------------------------------------
This is all draft for personal use; comments, bug reports, or proposals are welcome:
claus.moebus(at)uol.de
-----------------------------------------------------------------------------------------