Hallo Freund.
Wie Sie wissen, schreibt jeder angesehene Codierer früher oder später seinen eigenen Logger, JSON-Parser und seine eigene Programmiersprache. Da wir bereits das erste und das zweite geschrieben haben, haben wir keine andere Wahl, als unsere Erfolge in der neuen innovativen Programmiersprache Karasic zu präsentieren.

Wie Sie wissen, steht die Welt nicht still. Die Entwicklung der Programmiersprachen ist nicht abgeschlossen. Jedes Jahr tauchen neue Sprachen auf, testen Gene an Menschen, geben sie an ihre Nachkommen weiter und sterben ab, einige früher, andere später. Die meisten Innovationen in einer neuen Sprache sind weniger Neuentwicklungen als vielmehr die Entwicklung bestehender Ideen und das Überdenken alter Methoden.
Bei der Erstellung von Karasic haben wir uns von beiden anerkannten Projekten wie Rost, Python, C ++, Wolfram und experimentellen Beispielen wie Dcastf, Glink, Whitespace und anderen inspirieren lassen, die nicht so maßgeblich, aber nicht weniger inspiriert waren.
Beginnen wir also mit der Analyse der Funktionen, die wir Ihnen zur Verfügung gestellt haben, denn dies ist der Weg.
Syntax für die richtige Zuweisung
, , , , ( ) .
:
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
(c) bereitgestellt von Karasic inc.
Karausche

UPD: Englische Version des Textes