0% developed

Introducing Julia: Difference between revisions

From Wikibooks, open books for an open world
Jump to navigation Jump to search
[checked revision][checked revision]
Content deleted Content added
No edit summary
→‎Introduction: update with references to books etc.
Line 3: Line 3:
== Introduction ==
== Introduction ==


Julia is a recent arrival to the world of programming languages, and has yet to accumulate a profusion of introductory texts and tutorials. This will surely change. Soon we might see:
Julia is a recent arrival to the world of programming languages, and tutorials and introductory texts are now starting to appear.


The [http://docs.julialang.org/en/release-0.3/ official Julia documentation] is excellent, but it's aimed primarily at the early adopters, developers, and more experienced programmers. You should refer to it as often as possible.
* Julia in 24 hours


In addition to the many introductory videos and online Julia blog posts and notebooks, you can purchase (or order) the following Julia tutorials:
* <s>Learn Julia the Hard Way</s> Done[https://github.com/chrisvoncsefalvay/learn-julia-the-hard-way]


* [https://www.packtpub.com/application-development/getting-started-julia-programming/ Getting started in Julia Programming, Ivo Balbaert, Packt Publishing]
* Julia for Dummies


* [https://www.packtpub.com/application-development/mastering-julia Mastering Julia, Malcolm Sherrington, Packt Publishing]
* Julia for Fun and Profit


* [https://www.manning.com/books/learn-julia Learn Julia, Chris von Csefalvay, Manning Publications]
and many others. (You can now buy an ebook about Julia at [https://www.packtpub.com/application-development/getting-started-julia-programming/]).


* (in preparation) [http://blog.leahhanson.us/pages/about.html Learning Julia, Leah Hanson, O'Reilly Publishing]
In this wikibook you'll find a collection of notes and introductory paragraphs that comprise — if not a tutorial — at least a gentle introduction to the Julia programming language.


This wikibook (which predates all these publications) is however, less of a tutorial, and more a collection of notes and examples to help you while you're learning the lanaguage.
The advantage of a wikibook is that anyone can edit anything at any time. In theory, a wikibook will only get better, as more people add improvements and corrections. In practice, a wikibook can lose focus and consistency even while it gains accuracy and coverage. But because the Julia community has established a good ethos of encouraging participation in the development of the language, it's right that this wikibook is freely editable by everyone. So feel free to correct and improve anything you read here, although keeping the focus on the new user rather than the computer science guru is recommended.


The advantage of a wikibook is that it's made and edited by the Julia community — you can edit anything at any time. If you find something that's wrong, or unclear, feel free to correct it, or add examples. (Your first few edits are reviewed, just in case you have less than good intentions. And, as with the Wikipedia, you should expect your writing to be edited by others!)
The [http://docs.julialang.org/en/release-0.3/ official Julia documentation] is excellent, although aimed more at the early adopters, developers, and more experienced programmers. Refer to it as often as possible.


The Julia community has established a good ethos of encouraging participation in the development of the language on '''github'''. In the same way, this wikibook is freely editable. The focus should be largely on the new user, rather than the computer science expert.
This wikibook is currently being updated to work with the new version of Julia, version 0.4, which, as the time of writing (September 2015), is due to be released in a few weeks.

This wikibook has been mostly updated to work with the new version of Julia, version 0.4, which, as the time of writing (September 2015), is due to be released in a few weeks.


== Outline ==
== Outline ==

Revision as of 12:08, 8 September 2015

Previous page
Introducing Julia Next page
Getting started
Contents

Introduction

Julia is a recent arrival to the world of programming languages, and tutorials and introductory texts are now starting to appear.

The official Julia documentation is excellent, but it's aimed primarily at the early adopters, developers, and more experienced programmers. You should refer to it as often as possible.

In addition to the many introductory videos and online Julia blog posts and notebooks, you can purchase (or order) the following Julia tutorials:

This wikibook (which predates all these publications) is however, less of a tutorial, and more a collection of notes and examples to help you while you're learning the lanaguage.

The advantage of a wikibook is that it's made and edited by the Julia community — you can edit anything at any time. If you find something that's wrong, or unclear, feel free to correct it, or add examples. (Your first few edits are reviewed, just in case you have less than good intentions. And, as with the Wikipedia, you should expect your writing to be edited by others!)

The Julia community has established a good ethos of encouraging participation in the development of the language on github. In the same way, this wikibook is freely editable. The focus should be largely on the new user, rather than the computer science expert.

This wikibook has been mostly updated to work with the new version of Julia, version 0.4, which, as the time of writing (September 2015), is due to be released in a few weeks.

Outline

Getting started
some introductory words, installation, paths, and various bits of magic
The REPL
Using the REPL; Julia as a calculator; getting help
Arrays and tuples
Storing data - Arrays and tuples; the core of Julia and scientific programming
Types
a quick introduction to types, the secret to making your programs fast
Controlling the flow
loops and decisions; ifs and elses
Functions
functions and methods; multiple dispatch
Dictionaries and sets
storing data in dictionaries and sets
Strings and characters
working with strings
Working with text files
reading data from text files; elementary file processing
Working with dates and times
working with date and time functions
Plotting
Plotting; an introduction to some of the plotting packages
Metaprogramming
metaprogramming, expressions and macros
Modules and packages
how Julia code is organized, and should be developed
DataFrames
data frames; organizing data in tables