የኒም ፕሮግራሚንግ ቋንቋ አዲስ ስሪት 0.20

ወስዷል የስርዓት ፕሮግራሚንግ ቋንቋ መለቀቅ ኒም 0.20.0. ቋንቋው የማይንቀሳቀስ ትየባ ይጠቀማል እና የተፈጠረው ለፓስካል፣ C++፣ Python እና Lisp በአይን ነው። የኒም ምንጭ ኮድ በ C፣ C++ ወይም JavaScript ውክልና ተሰብስቧል። በመቀጠልም የተገኘውን የC/C++ ኮድ በማናቸውም የሚገኙ ማቀናበሪያ (clang, gcc, icc, Visual C ++) በመጠቀም ወደተፈፃሚ ፋይል ይዘጋጃል, ይህም የሩጫ ወጪዎችን ግምት ውስጥ ካላስገባ, ከ C ጋር ቅርበት ያለው አፈፃፀም እንድታሳዩ ያስችልዎታል. ቆሻሻ ሰብሳቢው. ከፓይዘን ጋር በሚመሳሰል መልኩ ኒም ኢንደንቴሽን እንደ ብሎክ መለያየቶች ይጠቀማል። የሜታ ፐሮግራም መሳሪያዎች እና ጎራ-ተኮር ቋንቋዎችን (DSLs) የመፍጠር ችሎታዎች ይደገፋሉ። የፕሮጀክት ኮድ የቀረበ በ MIT ፍቃድ.

የኒም 0.20 ልቀት ለመጀመሪያው የተረጋጋ 1.0 ልቀት እንደ እጩ ተደርጎ ሊወሰድ ይችላል፣ ይህም የቋንቋውን ሁኔታ የሚፈጽም የመጀመሪያው የተረጋጋ ቅርንጫፍ ለመመስረት የሚያስፈልጉ በርካታ የተግባቦትን የሚሰብሩ ለውጦችን ያካትታል። ስሪት 1.0 የተረጋጋ የረዥም ጊዜ የድጋፍ ልቀት ተደርጎ ተወስዷል፣ ይህም በተረጋጋው የቋንቋ ክፍል ውስጥ ወደ ኋላ ተኳሃኝነትን ለመጠበቅ ዋስትና ይሰጣል። ለየብቻ፣ አቀናባሪው ወደ ኋላ ተኳዃኝነትን ሊሰብሩ የሚችሉ አዳዲስ ባህሪያት የሚዳብሩበት የሙከራ ሁነታ ይኖረዋል።

በኒም 0.20 ከቀረቡት ለውጦች መካከል፡-

  • "አይሆንም" አሁን ሁልጊዜ የማይሰራ ኦፕሬተር ነው፣ ማለትም እንደ “ማስረጃ (ሀ አይደለም)” ያሉ አገላለጾች አሁን አይፈቀዱም እና “አስረግጡ አይደለም” ብቻ ተፈቅዶላቸዋል።
  • ኢንቲጀርን እና እውነተኛ ቁጥሮችን በቅንጅት ደረጃ ለመለወጥ ጥብቅ ፍተሻዎችን ነቅቷል፣ ማለትም "const b = uint16 (-1)" የሚለው አገላለጽ አሁን ስህተትን ያስከትላል, ምክንያቱም -1 ወደ ያልተፈረመ የኢንቲጀር ዓይነት ሊቀየር አይችልም;
  • ለቋሚዎች እና ለሎፕ ተለዋዋጮች ቱፕልስ ማራገፍ ተሰጥቷል።
    ለምሳሌ፣ አሁን እንደ 'const (d, e) = (7, "ስምንት")" እና "ለ (x, y) በf" ያሉ ስራዎችን መጠቀም ትችላለህ;

  • የሃሽ እና የጠረጴዛዎች ነባሪ ጅምር ቀርቧል። ለምሳሌ፣ “var s: HashSet[int]” ካወጁ በኋላ ወዲያውኑ “s.incl(5)” ን ማስፈጸም ይችላሉ፣ ይህም ቀደም ሲል ወደ ስህተት ያመራል።
  • የተሻሻለ የስህተት መረጃ ከ "ኬዝ" ኦፕሬተር እና ከወሰን ውጭ የድርድር መረጃ ጠቋሚ ጋር ለተያያዙ ችግሮች;
  • በመድገም ጊዜ የጠረጴዛውን ርዝመት መቀየር የተከለከለ ነው.

ምንጭ: opennet.ru

አስተያየት ያክሉ