ለሁላችሁም እንኳን ለአዲሱ ዓመት 2020 በሰላም አደረሳችሁ።
የመጀመሪያው ከታተመ ጀምሮ
በዚህ አመት ውስጥ ቋንቋው በጣም ተሻሽሏል, ብዙ ገፅታዎቹ የታሰቡበት እና የእድገት ቬክተር ተወስኗል.
እነዚህን ሁሉ ከማህበረሰቡ ጋር በማካፈል ደስተኛ ነኝ።
ማስተባበያ
ይህ ፕሮጀክት በጉጉት ብቻ እየተዘጋጀ ነው እና በተለዋዋጭ የፕሮግራም አወጣጥ ቋንቋዎች መስክ የዓለም የበላይነትን አያስመስልም!
ይህንን ልማት እንደ መመዘኛ መቁጠር የለብዎትም ፣ እርስዎ ሊሞክሩት ይገባል ፣ ፕሮጀክቱ ተስማሚ አይደለም ፣ ግን ግን እያደገ ነው።
አዲስ አቀናባሪ
በፕሮጀክት ማከማቻው /mashc ቅርንጫፍ ውስጥ በማሽ (የቋንቋው የመጀመሪያ ስሪት) የተጻፈውን አዲሱን የአቀናባሪውን ስሪት ማየት ይችላሉ.
አቀናባሪው በ asm ዝርዝሩ ውስጥ የኮድ ጀነሬተር አለው (በቁልል ቪኤም ስር ለሚሰበሰበው)።
በአሁኑ ጊዜ ለጃቫ (JDK 1.8) የጄነሬተሩን ስሪት እያዘጋጀሁ ነው።
አዲሱ የአቀናባሪው ስሪት የቋንቋውን የመጀመሪያ ስሪት ተግባራዊነት ሙሉ በሙሉ ይደግፋል እና ያሟላል።
አዲስ ኦኦፒ
በአዲሱ የቋንቋው ስሪት፣ ከክፍሎች ጋር መስራት በመጠኑ በአዲስ መልክ ተዘጋጅቷል።
የክፍል ዘዴዎች በሁለቱም በክፍል አካል ውስጥ እና ከእሱ ውጭ ሊታወቁ ይችላሉ.
ክፍሉ አሁን ግልጽ የሆነ ገንቢ አለው፡ init.
የኮድ ምሳሌ፡-
...
class MyClass:
private:
var a, b
public:
init(a, b):
$a ?= a
$b ?= b
end
func Foo():
return $a + $b
end
end
func MyClass::Bar(c):
return $a + $b + c
end
...
ውርስ ከተፈጠረ በቀላሉ የተወረሱ ጥሪዎችን (ሱፐር) የማድረግ ችሎታ አለን።
የኮድ ምሳሌ፡-
...
class MySecondClass(MyClass):
public:
var c
init(a, b, c):
super(a, b)
$c ?= c
end
func Bar():
super($c)
end
end
...
x ?= new MySecondClass(10, 20, 30)
println( x -> Bar() ) // 60
ለክፍል ሁኔታዎች ተለዋዋጭ ዘዴዎችን መሻር
...
func Polymorph::NewFoo(c):
return $a + $b + c
end
...
x -> Foo ?= Polymorph -> NewFoo
x -> Foo(30) // 60
ጥቅሎች / የስም ቦታዎች
የስም ቦታው ንጹህ ሆኖ መቆየት አለበት!
በዚህ መሠረት ቋንቋው ይህንን ዕድል መስጠት አለበት.
በማሽ ውስጥ የክፍል ዘዴ የማይለዋወጥ ከሆነ ከየትኛውም የኮዱ ክፍል በደህና ሊጠራ ይችላል።
ለምሳሌ:
...
class MyPackage:
func MyFunc(a, b):
return a + b
end
end
...
println( MyPackage -> MyFunc(10, 20) ) // 30
በነገራችን ላይ ሱፐር ኦፕሬተር ከእንደዚህ አይነት ጥሪ ጋር በትክክል ይሰራል.
ልዩነቶች
በአዲሱ የቋንቋው ስሪት፣ እንደ ክፍሎች ይቆጠራሉ፡-
...
try:
raise new Exception(
"My raised exception!"
)
catch E:
if E is Exception:
println(E)
else:
println("Unknown exception class!")
end
end
...
አዲስ ቁጥር
አሁን የመቁጠሪያው አካላት ቋሚ እሴቶች ሊመደቡ ይችላሉ-
enum MyEnum [
meFirst = "First",
meSecond = 2,
meThird
]
...
k ?= meSecond
...
if k in MyEnum:
...
end
የተከተተ PL
ሊሆን የሚችል - ማሽ እንደ ሉአ ያለ ሊካተት የሚችል የፕሮግራሚንግ ቋንቋ ሆኖ የራሱን ቦታ ማግኘት ይችላል።
ለእነዚህ አላማዎች Mash መጠቀም ለመጀመር, ፕሮጀክቱን እራስዎ መገንባት እንኳን አያስፈልግዎትም.
Mash የሩጫ ጊዜ አካባቢ አለው - ከሙሉ ኤፒአይ ጋር እንደ ተለዋዋጭ ቤተ-መጽሐፍት የተሰራ ቁልል ቪኤም።
ወደ ፕሮጀክቱ ጥገኞች ማከል እና ሁለት ጥሪዎችን ማድረግ ብቻ ያስፈልግዎታል።
ቋንቋው ራሱ እንደ የተከተተ ቋንቋ ለመስራት ተግባራዊነትን ይሰጣል።
በተመሳሳይ ጊዜ, ከቋንቋ እና ከሶስተኛ ወገን ቤተ-መጻሕፍት ጋር በመተባበር አፈጻጸም አይጣስም.
በውስጡ የተፃፉ የተለያዩ ማዕቀፎችን ሙሉ ኃይል ሊጠቀም የሚችል ሊካተት የሚችል ቋንቋ እናገኛለን።
ማሽ + JVM
ለJVM የአስተርጓሚውን ስሪት ማዘጋጀት ጀምሯል።
ምናልባት፣ ከ N-th የጊዜ መጠን በኋላ፣ በዚህ ርዕስ ላይ ልጥፍ በሀበሬ ላይ ይታያል።
ውጤቶች
ምንም ልዩ ውጤቶች የሉም. ይህ የውጤቶች መካከለኛ ውክልና ነው.
መልካም እድል በ2020 ለሁሉም።
ምንጭ: hab.com