Julia is a
dynamic programming language (It is optionally typed language, Specifying the
type is optional, user choice), used for scientific and numeric computing. Julia
is available on Windows, Linux and Mac platforms. Much of the Julia is written
in Julia itself. Just like python, Julia is easy to learn. Statically Vs Dynamically typed Programming languages explain the differences between static and dynamically typed programming languages
Why Julia?
a.
Julia
is open source
b.
Available
on all platforms like Mac, Linux and Windows
c.
You
can call C, Python, Fortran libraries seamlessly.
d.
Dynamically
typed language, support custom types.
e.
Supports
Meta programming.
f.
Provides
Unicode support
- Installing Julia on Mac OS
- Get julia command help
- Julia shell: Auto complete feature
- help : Access julia documentation
- apropos: Search documentation
- Julia IDE : Install Juno
- Variables
- Execute code in a file
- Command line arguments
- Run system commands
- comments
- Installing new packages
- Get the type of the variable
- Specifying type of variable
- Check the type of variable
- Integers
- Get max and min values of integer types
- mod Vs rem functions
- Represent Big integers
- Floating point numbers
- Positive and Negative zero
- Special floating point values
- eps(): Get distance between adjacent floating point numbers
- Get next and previous float values
- Rounding floating point numbers
- Rounding functions
- Division functions
- Remainder functions
- Get quotient and remainder at a time
- Get GCD of Numbers
- Get LCM of numbers
- Represent Big float values
- Arithmetic operators
- Bitwise operators
- Assignment operator
- Comparison operators
- Comparison operators Vs Special float values
- Chaining comparison operators
- Boolean operators
- Functions to check for special values
- Complex numbers
- Rational numbers
- Characters
- Strings
- length Vs endof functions
- $: Evaluate expression inside string literal
- Triple-Quoted String
- Regula Expressions
- Regular expression using match function
- replace: Replace given pattern
- if-elseif-else statement
- Ternary operator (?:)
- while loop
- for loop
- break statement
- continue statement
- Compound expressions
- functions
- Using operators as functions
- Anonymous functions
- Create anonymous functions using do block
- Return values from function
- varargs: variable number of arguments to function
- Passing default values to arguments
- keyword arguments to a function
- Restrict function arguments to specific type
- function inside a function
- Function as an argument to other function
- Return function from other function
- Get size of data type (or) variable
- Methods
- Method overloading ambiguities
- Parametric methods
- Exceptions
- Built in exceptions
- DivideError
- BoundsError
- Throw an exception explicitly
- Define Generic error messages
- logging information, warning and error messages
- local Vs global scopes
- const: Declare constants
- Arrays
- Multi Dimensional arrays
- Tuples
- Dictionaries
- Sets
- convert(): convert one type of data to other
- Convert string to integer
- Get parent type of data type
- Get sub types of given type
- User defined types (composite types)
- Type conversion for user defined types
- Check for objects equality
- Create sub types
- Abstract Vs concrete types
- Constructors
- Outer Vs Inner constructor methods
- Get all the field names of composite type
- Union type
- bitstype: declare new concrete type
- Parametric Types: generic programming
- Singleton types
- Modules
- Define module using baremodule
- How does Julia finds a module
- using Vs import
- Standard modules
- Include, require, reload: Load code from files
- Documenting source code
- Include, require, reload: Load code from files
- Documenting source code
- Pkg.status(), Pkg.update() got following errors.
- Terminate Julia session
- Interrupt current command
- Clear screen
- Reset the session
- Run system commands
- julia_history file
- Get the version of Julia
- Evaluate expression in terminal (or) command prompt
- Julia shell: Get last computed value
No comments:
Post a Comment