Skip to content

Instantly share code, notes, and snippets.

@richorama
Last active August 29, 2015 14:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richorama/99947da0405c923dad3a to your computer and use it in GitHub Desktop.
Save richorama/99947da0405c923dad3a to your computer and use it in GitHub Desktop.
Some things I like about Julia do far

The Good

HTTP

Starting an HTTP server looks a lot like node:

using Morsel

app = Morsel.app()

get(app, "/about") do req, res
    "This app is running on Morsel"
end

start(app, 8000)

The Package System

Seem to be built into the language

> Pkg.add("foo")

Packages are github repos. They're imported with a git clone. Therefore you can patch the package in situ and push the changes up straight away.

However, they seem to be installed globally with no versioning, not sure what's quite going on here.

Syntax

Seems easy to understand. C style but without the cruft.

function x(y)
  for z in x
    print(z)
  end
end

Simple type system

type Point
  x::Int64
  y::Int64
end

point = Point(1,2)
point.x = 3

Other stuff

  • Simple install
  • REPL support
  • No compilation (it looks like a script)
  • Sublime Text 3 support (via a plugin)
  • Destructing assignment
  • "a string with a $variable_name"
  • coroutines

The Bad

  • It's a bit slow to compile (circa 4 seconds on Windows)
  • I can't edit a file while it's running (file is locked)

The Ugly

  • Has locked the command prompt from time to time on exit (for about 10 seconds)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment