рд╣реИрд▓реЛ рджреЛрд╕реНрддред
рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╣рд░ рд╕рдореНрдорд╛рдирд┐рдд рдХреЛрдбрд░ рдЬрд▓реНрдж рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рдХрдбрд╝рд╣рд╛рд░рд╛, рдЬреЛрдВрд╕ рдкрд╛рд░реНрд╕рд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд▓рд┐рдЦрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд╣рд▓рд╛ рдФрд░ рджреВрд╕рд░рд╛ рд▓рд┐рдЦрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдирдИ рдирд╡реЛрдиреНрдореЗрд╖реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд╛рд░рд╛рд╕рд┐рдХ рдореЗрдВ рдЕрдкрдиреА рдЙрдкрд▓рдмреНрдзрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред

рджреБрдирд┐рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд╣рд░ рд╕рд╛рд▓ рдирдИ рднрд╛рд╖рд╛рдПрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИрдВ, рд▓реЛрдЧреЛрдВ рдкрд░ рдЬреАрди рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╡рдВрд╢рдЬреЛрдВ рдХреЛ рд╕реМрдВрдкрддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рдорд░ рдЬрд╛рддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдирдИ рднрд╛рд╖рд╛ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдирд╡рд╛рдЪрд╛рд░ рдЗрддрдиреЗ рдирдП рд╡рд┐рдХрд╛рд╕ рдирд╣реАрдВ рд╣реИрдВ рдЬрд┐рддрдирд╛ рдХрд┐ рдореМрдЬреВрджрд╛ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдкреБрд░рд╛рдиреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рдкреБрдирд░реНрд╡рд┐рдЪрд╛рд░ред
рдХрд╛рд░рд╕реЗрдирд┐рдХ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рд╣рдо рджреЛрдиреЛрдВ рдорд╛рдиреНрдпрддрд╛рдкреНрд░рд╛рдкреНрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рдереЗ, рдЬреИрд╕реЗ рдХрд┐ рдЬрдВрдЧ, рдЕрдЬрдЧрд░, рд╕реА ++, рд╡реБрд▓реНрдлрд░рд╛рдо рдФрд░ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдирдореВрдиреЗ, рдЬреИрд╕реЗ рдбрдХреИрд╕, рдЧреНрд▓рд┐рдВрдХ, рд╡реНрд╣реЙрдЯреНрд╕рдПрдк рдФрд░ рдЕрдиреНрдп, рдЗрддрдирд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрдо рдкреНрд░реЗрд░рд┐рдд рдирд╣реАрдВред
рддреЛ, рдЪрд▓рд┐рдП рдЙрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╣рдо рдЖрдкрдХреЗ рд▓рд┐рдП рд▓рд╛рдП рд╣реИрдВ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдпрд╣ рддрд░реАрдХрд╛ рд╣реИред
рд╕рд╣реА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рд╕рд┐рдВрдЯреИрдХреНрд╕
, , , , ( ) .
:
mov
, .- ,
strcpy
, memmove
, .
, :
, , , , , , ...
, . . , . - , .
karasic :
42 => answer
foo(42) => answer
, . , .
: - -:

, :
42 => answer = 42
,
, , , , , . karasic , .
<typing:dynamic>
fn foo(a,b)
{
a + b => c
return c
}
fn bar(a:i32,b)
{
a + b => c
return c
}
[typing:static]
fn fubar(a:i32,b:i32) -> i32
{
a + b => c : i32
return c
}
, - , , ( jit ). , . ( , ).
karasic . , . , , , , , , :

karasic , , , whitespace. , go, , , , , .
karasic !
a + foo(b) => c
a + foo(b) => c
, . . ,
try {
foo();
}
catch (...) {}
, . . , . -- .
, ( ), karasic .
, try-catch
try {
throw Exception(42);
} catch ex {
print(ex.value)
exit(0)
}
, result-
fn foo() -> result(i32)
{
return Exception(42)
}
karasic , , tryso
, , , stack_overflow.
tryso {
throw Exception(42)
}
tryso_explicit
, , stack_overflow, .
tryso_explicit {
throw Exception(42)
}
force_retry
, , .
force_retry {
throw Exception(42)
}

smart_try
, , .
smart_try {
throw casdcasd sdfsadf Exception(42)
}
, shallow_throw(N), N .
shallow_throw(n) Exception(42)
, , - .
. , karasic, , , , - . , karasic O(1). karasic ( ) , , karasic .

, karasic , . , , karasic , . karasic , , .
, . , . .
karasic.

, , , . , , gpu.
, .
, , .
.
, karasic , -, lua, python . karasic .
python:
import python3:numpy as np
fn main()
{
np.arange([42,41,40]) => arr
np.log10(arr)
}
:
import clang:string.h as cstring
import clang:stdlib.h as cstdlib
fn main()
{
raw_buffer(cstdlib.malloc(40),40) => buf0
cstring.strcpy(buf0, "HelloWorld")
println(buf0)
}
, , , . , , , , , , .

karasic ,
RFC1149
import rfc1149
fn main()
{
rfc1149.datagramm("HelloFriend") => dgramm
rfc1149.send_bird("- .12. , , 17 20.00", dgramm)
}
RFC2795
import rfc2795
fn main()
{
rfc2795.monkey("Jonh") => jonh
rfc2795.monkey("George") => george
rfc2795.monkey("Stephen") => stephen
rfc2795.monkey_group([jonh, george]) => jonh_and_george
"" => sonnet
do
{
jonh_and_george.make_sonnet(66) => sonnet
} while(stephen.do_critic(sonnet) is false)
println(sonnet)
}
.
, , . IT . karasic , , , , karasic , . , karasic, Junior Karasic Developer, Middle Karasic Developer, , Senior Karasic Developer.
karasic . , !
, .
Copyright
(рдЧ) рдХрд╛рд░рд╕рд┐рдХ рдЗрдВрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рдХреНрд░реВрд╕рд┐рдпрди

UPD: рдкрд╛рда рдХрд╛ рдЕрдВрдЧреНрд░реЗрдЬреА рд╕рдВрд╕реНрдХрд░рдг