Skip to content

Commit

Permalink
Add section headings to the Doc's home page & links (JuliaLang#47646)
Browse files Browse the repository at this point in the history
* Add sections heading to the Doc's home & links

Co-authored-by: Viral B. Shah <[email protected]>
Co-authored-by: Fredrik Ekre <[email protected]>
  • Loading branch information
3 people authored Nov 29, 2022
1 parent 2642c4e commit 865007d
Showing 1 changed file with 22 additions and 4 deletions.
26 changes: 22 additions & 4 deletions doc/src/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,19 @@ Markdown.parse("""
""")
```

### [Introduction](@id man-introduction)
## [Important Links](@id man-important-links)

Below is a non-exhasutive list of links that will be useful as you learn and use the Julia programming language.

- [Julia Homepage](https://julialang.org)
- [Download Julia](https://julialang.org/downloads/)
- [Discussion forum](https://discourse.julialang.org)
- [Julia YouTube](https://www.youtube.com/user/JuliaLanguage)
- [Find Julia Packages](https://julialang.org/packages/)
- [Learning Resources](https://julialang.org/learning/)
- [Read and write blogs on Julia](https://forem.julialang.org)

## [Introduction](@id man-introduction)

Scientific computing has traditionally required the highest performance, yet domain experts have
largely moved to slower dynamic languages for daily work. We believe there are many good reasons
Expand All @@ -46,7 +58,9 @@ with performance comparable to traditional statically-typed languages.
Because Julia's compiler is different from the interpreters used for languages like Python or
R, you may find that Julia's performance is unintuitive at first. If you find that something is
slow, we highly recommend reading through the [Performance Tips](@ref man-performance-tips) section before trying anything
else. Once you understand how Julia works, it's easy to write code that's nearly as fast as C.
else. Once you understand how Julia works, it is easy to write code that is nearly as fast as C.

## [Julia Compared to Other Languages](@id man-julia-compared-other-languages)

Julia features optional typing, multiple dispatch, and good performance, achieved using type inference
and [just-in-time (JIT) compilation](https://en.wikipedia.org/wiki/Just-in-time_compilation) (and
Expand All @@ -70,14 +84,16 @@ The most significant departures of Julia from typical dynamic languages are:
* Automatic generation of efficient, specialized code for different argument types
* Good performance, approaching that of statically-compiled languages like C

Although one sometimes speaks of dynamic languages as being "typeless", they are definitely not:
every object, whether primitive or user-defined, has a type. The lack of type declarations in
Although one sometimes speaks of dynamic languages as being "typeless", they are definitely not.
Every object, whether primitive or user-defined, has a type. The lack of type declarations in
most dynamic languages, however, means that one cannot instruct the compiler about the types of
values, and often cannot explicitly talk about types at all. In static languages, on the other
hand, while one can -- and usually must -- annotate types for the compiler, types exist only at
compile time and cannot be manipulated or expressed at run time. In Julia, types are themselves
run-time objects, and can also be used to convey information to the compiler.

### [What Makes Julia, Julia?](@id man-what-makes-julia)

While the casual programmer need not explicitly use types or multiple dispatch, they are the core
unifying features of Julia: functions are defined on different combinations of argument types,
and applied by dispatching to the most specific matching definition. This model is a good fit
Expand All @@ -93,6 +109,8 @@ languages. For large scale numerical problems, speed always has been, continues
always will be crucial: the amount of data being processed has easily kept pace with Moore's Law
over the past decades.

### [Advantages of Julia](@id man-advantages-of-julia)

Julia aims to create an unprecedented combination of ease-of-use, power, and efficiency in a single
language. In addition to the above, some advantages of Julia over comparable systems include:

Expand Down

0 comments on commit 865007d

Please sign in to comment.