mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2025-04-27 07:33:57 +00:00
[julia/*] highlight as julia
This commit is contained in:
parent
de3ddb18c1
commit
e1bc8441e8
@ -9,9 +9,7 @@ filename: learnjulia-es.jl
|
||||
lang: es-es
|
||||
---
|
||||
|
||||

|
||||
|
||||
[Julia](http://julialanges.github.io) es un [lenguaje de programación](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n) [multiplataforma](http://es.wikipedia.org/wiki/Multiplataforma) y [multiparadigma](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_multiparadigma) de [tipado dinámico](http://es.wikipedia.org/wiki/Tipado_din%C3%A1mico), [alto nivel](http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel) y [alto desempeño](http://es.wikipedia.org/wiki/Computaci%C3%B3n_de_alto_rendimiento) para la computación [genérica](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_de_prop%C3%B3sito_general), [técnica y científica](http://es.wikipedia.org/wiki/Computaci%C3%B3n_cient%C3%ADfica), con una sintaxis que es familiar para los usuarios de otros entornos de computación técnica y científica. Provee de un [sofisticado compilador JIT](http://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n), [ejecución distribuida y paralela](http://docs.julialang.org/en/release-0.3/manual/parallel-computing), [precisión numérica](http://julia.readthedocs.org/en/latest/manual/integers-and-floating-point-numbers) y de una [extensa librería con funciones matemáticas](http://docs.julialang.org/en/release-0.3/stdlib). La librería estándar, escrita casi completamente en Julia, también integra las mejores y más maduras librerías de C y Fortran para el [álgebra lineal](http://docs.julialang.org/en/release-0.3/stdlib/linalg), [generación de números aleatorios](http://docs.julialang.org/en/release-0.3/stdlib/numbers/?highlight=random#random-numbers), [procesamiento de señales](http://docs.julialang.org/en/release-0.3/stdlib/math/?highlight=signal#signal-processing), y [procesamiento de cadenas](http://docs.julialang.org/en/release-0.3/stdlib/strings). Adicionalmente, la comunidad de [desarrolladores de Julia](https://github.com/JuliaLang/julia/graphs/contributors) contribuye un número de [paquetes externos](http://pkg.julialang.org) a través del gestor de paquetes integrado de Julia a un paso acelerado. [IJulia](https://github.com/JuliaLang/IJulia.jl), una colaboración entre las comunidades de [IPython](http://ipython.org) y Julia, provee de una poderosa interfaz gráfica basada en el [navegador para Julia](https://juliabox.org).
|
||||
[Julia](https://julialang.org/) es un [lenguaje de programación](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n) [multiplataforma](http://es.wikipedia.org/wiki/Multiplataforma) y [multiparadigma](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_multiparadigma) de [tipado dinámico](http://es.wikipedia.org/wiki/Tipado_din%C3%A1mico), [alto nivel](http://es.wikipedia.org/wiki/Lenguaje_de_alto_nivel) y [alto desempeño](http://es.wikipedia.org/wiki/Computaci%C3%B3n_de_alto_rendimiento) para la computación [genérica](http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_de_prop%C3%B3sito_general), [técnica y científica](http://es.wikipedia.org/wiki/Computaci%C3%B3n_cient%C3%ADfica), con una sintaxis que es familiar para los usuarios de otros entornos de computación técnica y científica. Provee de un [sofisticado compilador JIT](http://es.wikipedia.org/wiki/Compilaci%C3%B3n_en_tiempo_de_ejecuci%C3%B3n), [ejecución distribuida y paralela](http://docs.julialang.org/en/release-0.3/manual/parallel-computing), [precisión numérica](http://julia.readthedocs.org/en/latest/manual/integers-and-floating-point-numbers) y de una [extensa librería con funciones matemáticas](http://docs.julialang.org/en/release-0.3/stdlib). La librería estándar, escrita casi completamente en Julia, también integra las mejores y más maduras librerías de C y Fortran para el [álgebra lineal](http://docs.julialang.org/en/release-0.3/stdlib/linalg), [generación de números aleatorios](http://docs.julialang.org/en/release-0.3/stdlib/numbers/?highlight=random#random-numbers), [procesamiento de señales](http://docs.julialang.org/en/release-0.3/stdlib/math/?highlight=signal#signal-processing), y [procesamiento de cadenas](http://docs.julialang.org/en/release-0.3/stdlib/strings). Adicionalmente, la comunidad de [desarrolladores de Julia](https://github.com/JuliaLang/julia/graphs/contributors) contribuye un número de [paquetes externos](http://pkg.julialang.org) a través del gestor de paquetes integrado de Julia a un paso acelerado. [IJulia](https://github.com/JuliaLang/IJulia.jl), una colaboración entre las comunidades de [IPython](http://ipython.org) y Julia, provee de una poderosa interfaz gráfica basada en el [navegador para Julia](https://juliabox.org).
|
||||
|
||||
En Julia los programas están organizados entorno al [despacho múltiple](http://docs.julialang.org/en/release-0.3/manual/methods/#man-methods); definiendo funciones y sobrecargándolas para diferentes combinaciones de tipos de argumentos, los cuales también pueden ser definidos por el usuario.
|
||||
|
||||
@ -41,7 +39,7 @@ En Julia los programas están organizados entorno al [despacho múltiple](http:/
|
||||
|
||||
Esto se basa en la versión `0.3.11`.
|
||||
|
||||
```ruby
|
||||
```julia
|
||||
# Los comentarios de una línea comienzan con una almohadilla (o signo de gato).
|
||||
|
||||
#=
|
||||
@ -931,8 +929,6 @@ code_native(area_circulo, (Float64,))
|
||||
=#
|
||||
```
|
||||
|
||||

|
||||
|
||||
## ¿Listo para más?
|
||||
|
||||
Para más detalles, lee el [manual de Julia](http://docs.julialang.org/en/release-0.3).
|
||||
|
@ -14,7 +14,7 @@ Julia は科学技術計算向けに作られた、同図像性を持った(homo
|
||||
|
||||
この文章は、Julia の2013年10月18日現在の開発バージョンを元にしています。
|
||||
|
||||
```ruby
|
||||
```julia
|
||||
# ハッシュ(シャープ)記号から改行までは単一行コメントとなります。
|
||||
#= 複数行コメントは、
|
||||
'#=' と '=#' とで囲むことで行えます。
|
||||
|
@ -12,7 +12,7 @@ Julia é uma linguagem homoicônica funcional focada na computação técnica. A
|
||||
|
||||
Este tutorial é baseado no Julia 0.3.
|
||||
|
||||
```ruby
|
||||
```julia
|
||||
# Linhas únicas de comentários começam com o simbolo hash(jogo da velha).
|
||||
#= Comentários de multiplas linhas podem ser escritos
|
||||
colocando '#=' antes do texto e '=#'
|
||||
@ -315,7 +315,7 @@ end
|
||||
# Tipos iterativos incluem Range, Array, set Dict e String.
|
||||
for animal=["dog", "cat", "mouse"]
|
||||
println("$animal is a mammal")
|
||||
# Você pode interpolar variáveis usando $ ou expressões em strings
|
||||
# Você pode interpolar variáveis usando $ ou expressões em strings
|
||||
end
|
||||
# exibe:
|
||||
# dog is a mammal
|
||||
@ -379,7 +379,7 @@ end
|
||||
function add(x, y)
|
||||
println("x is $x and y is $y")
|
||||
|
||||
# Funções retornam o valor da sua ultima declaração
|
||||
# Funções retornam o valor da sua ultima declaração
|
||||
t x + y
|
||||
end
|
||||
|
||||
@ -744,5 +744,5 @@ code_native(circle_area, (Float64,))
|
||||
|
||||
## Extras
|
||||
|
||||
Você pode ver mais um monte de detalhes no [manual de Julia] (http://docs.julialang.org/en/latest/manual/)
|
||||
Você pode ver mais um monte de detalhes no [manual de Julia](http://docs.julialang.org/en/latest/manual/)
|
||||
O melhor lugar pra pedir ajuda em Julia é a (muito amigável) [mailing list](https://groups.google.com/forum/#!forum/julia-users).
|
||||
|
@ -13,7 +13,7 @@ Julia — гомоиконный функциональный язык прог
|
||||
|
||||
Документ описывает текущую dev-версию Julia от 18-о октября 2013 года.
|
||||
|
||||
```ruby
|
||||
```julia
|
||||
# Однострочные комментарии начинаются со знака решётки.
|
||||
|
||||
####################################################
|
||||
@ -673,39 +673,39 @@ square_area(5) #25
|
||||
|
||||
# Что происходит, когда мы передаём функции square_area целое число?
|
||||
code_native(square_area, (Int32,))
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1 # Вводная часть
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# movsxd RAX, EDI #
|
||||
# imul RAX, RAX #
|
||||
# pop RBP #
|
||||
# ret #
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1 # Вводная часть
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# movsxd RAX, EDI #
|
||||
# imul RAX, RAX #
|
||||
# pop RBP #
|
||||
# ret #
|
||||
|
||||
code_native(square_area, (Float32,))
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vmulss XMM0, XMM0, XMM0 # Произведение чисел одинарной точности (AVX)
|
||||
# pop RBP
|
||||
# ret
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vmulss XMM0, XMM0, XMM0 # Произведение чисел одинарной точности (AVX)
|
||||
# pop RBP
|
||||
# ret
|
||||
|
||||
code_native(square_area, (Float64,))
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vmulsd XMM0, XMM0, XMM0 # Произведение чисел двойной точности (AVX)
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vmulsd XMM0, XMM0, XMM0 # Произведение чисел двойной точности (AVX)
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
# Если хотя бы один из аргументов является числом с плавающей запятой,
|
||||
# то Julia будет использовать соответствующие инструкции.
|
||||
# Вычислим площать круга
|
||||
@ -713,33 +713,33 @@ circle_area(r) = pi * r * r # circle_area (generic function with 1 method)
|
||||
circle_area(5) # 78.53981633974483
|
||||
|
||||
code_native(circle_area, (Int32,))
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vcvtsi2sd XMM0, XMM0, EDI # Загрузить целое число (r)
|
||||
# movabs RAX, 4593140240 # Загрузить pi
|
||||
# vmulsd XMM1, XMM0, QWORD PTR [RAX] # pi * r
|
||||
# vmulsd XMM0, XMM0, XMM1 # (pi * r) * r
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# Source line: 1
|
||||
# vcvtsi2sd XMM0, XMM0, EDI # Загрузить целое число (r)
|
||||
# movabs RAX, 4593140240 # Загрузить pi
|
||||
# vmulsd XMM1, XMM0, QWORD PTR [RAX] # pi * r
|
||||
# vmulsd XMM0, XMM0, XMM1 # (pi * r) * r
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
|
||||
code_native(circle_area, (Float64,))
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# movabs RAX, 4593140496
|
||||
# Source line: 1
|
||||
# vmulsd XMM1, XMM0, QWORD PTR [RAX]
|
||||
# vmulsd XMM0, XMM1, XMM0
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
# .section __TEXT,__text,regular,pure_instructions
|
||||
# Filename: none
|
||||
# Source line: 1
|
||||
# push RBP
|
||||
# mov RBP, RSP
|
||||
# movabs RAX, 4593140496
|
||||
# Source line: 1
|
||||
# vmulsd XMM1, XMM0, QWORD PTR [RAX]
|
||||
# vmulsd XMM0, XMM1, XMM0
|
||||
# pop RBP
|
||||
# ret
|
||||
#
|
||||
```
|
||||
|
||||
## Что дальше?
|
||||
|
@ -749,20 +749,20 @@ square_area(5) # => 25
|
||||
|
||||
# 当我们喂给 square_area 一个整数时会发生什么?
|
||||
code_native(square_area, (Int32,), syntax = :intel)
|
||||
# .text
|
||||
# ; Function square_area {
|
||||
# ; Location: REPL[116]:1 # 函数序言 (Prologue)
|
||||
# push rbp
|
||||
# mov rbp, rsp
|
||||
# ; Function *; {
|
||||
# ; Location: int.jl:54
|
||||
# imul ecx, ecx # 求 l 的平方,并把结果放在 ECX 中
|
||||
# ;}
|
||||
# mov eax, ecx
|
||||
# pop rbp # 还原旧的基址指针(base pointer)
|
||||
# ret # 返回值放在 EAX 中
|
||||
# nop dword ptr [rax + rax]
|
||||
# ;}
|
||||
# .text
|
||||
# ; Function square_area {
|
||||
# ; Location: REPL[116]:1 # 函数序言 (Prologue)
|
||||
# push rbp
|
||||
# mov rbp, rsp
|
||||
# ; Function *; {
|
||||
# ; Location: int.jl:54
|
||||
# imul ecx, ecx # 求 l 的平方,并把结果放在 ECX 中
|
||||
# ;}
|
||||
# mov eax, ecx
|
||||
# pop rbp # 还原旧的基址指针(base pointer)
|
||||
# ret # 返回值放在 EAX 中
|
||||
# nop dword ptr [rax + rax]
|
||||
# ;}
|
||||
# 使用 syntax 参数指定输出语法。默认为 AT&T 格式,这里指定为 Intel 格式
|
||||
|
||||
code_native(square_area, (Float32,), syntax = :intel)
|
||||
|
Loading…
Reference in New Issue
Block a user