நிம் 0.20 நிரலாக்க மொழியின் புதிய பதிப்பு

நடைபெற்றது கணினி நிரலாக்க மொழி வெளியீடு நிம் 0.20.0. மொழி நிலையான தட்டச்சு முறையைப் பயன்படுத்துகிறது மற்றும் பாஸ்கல், சி++, பைதான் மற்றும் லிஸ்ப் ஆகியவற்றை மனதில் கொண்டு உருவாக்கப்பட்டது. நிம் மூலக் குறியீடு C, C++ அல்லது JavaScript பிரதிநிதித்துவத்தில் தொகுக்கப்படுகிறது. பின்னர், கிடைக்கும் C/C++ குறியீடு, கிடைக்கக்கூடிய எந்த கம்பைலரையும் (clang, gcc, icc, Visual C++) பயன்படுத்தி இயங்கக்கூடிய கோப்பாக தொகுக்கப்படுகிறது, இது இயங்கும் செலவை நீங்கள் கணக்கில் எடுத்துக் கொள்ளாவிட்டால், C க்கு அருகில் செயல்திறனை அடைய உங்களை அனுமதிக்கிறது. குப்பை சேகரிப்பவர். பைத்தானைப் போலவே, நிம் உள்தள்ளலை பிளாக் டிலிமிட்டர்களாகப் பயன்படுத்துகிறது. டொமைன்-குறிப்பிட்ட மொழிகளை (DSLs) உருவாக்குவதற்கான மெட்டாப்ரோகிராமிங் கருவிகள் மற்றும் திறன்கள் ஆதரிக்கப்படுகின்றன. திட்டக் குறியீடு வழங்கப்பட்ட MIT உரிமத்தின் கீழ்.

Nim 0.20 வெளியீடு முதல் நிலையான 1.0 வெளியீட்டிற்கான வேட்பாளராகக் கருதப்படலாம், இது மொழியின் நிலையை உருவாக்கும் முதல் நிலையான கிளையை உருவாக்குவதற்குத் தேவையான பல இயங்குதன்மை-பிரேக்கிங் மாற்றங்களை உள்ளடக்கியது. பதிப்பு 1.0 ஒரு நிலையான, நீண்ட கால ஆதரவு வெளியீடாகக் கூறப்படுகிறது, இது மொழியின் நிலைப்படுத்தப்பட்ட பகுதியில் பின்தங்கிய இணக்கத்தன்மையைப் பராமரிக்க உத்தரவாதம் அளிக்கப்படும். தனித்தனியாக, கம்பைலரில் ஒரு சோதனை முறையும் கிடைக்கும், அதில் பின்தங்கிய இணக்கத்தன்மையை மீறக்கூடிய புதிய அம்சங்கள் உருவாக்கப்படும்.

நிம் 0.20 இல் முன்மொழியப்பட்ட மாற்றங்களில்:

  • "இல்லை" இப்போது எப்போதும் ஒரு unary operator, அதாவது. "உறுதிப்படுத்து(அல்ல)" போன்ற வெளிப்பாடுகள் இப்போது அனுமதிக்கப்படவில்லை மற்றும் "அஸர்ட் நாட் அ" மட்டுமே அனுமதிக்கப்படுகிறது;
  • தொகுத்தல் கட்டத்தில் முழு எண்கள் மற்றும் உண்மையான எண்களை மாற்றுவதற்கான கடுமையான சோதனைகள் இயக்கப்பட்டன, அதாவது. "const b = uint16(-1)" என்ற வெளிப்பாடு இப்போது பிழையை ஏற்படுத்தும், ஏனெனில் -1 ஐ கையொப்பமிடாத முழு எண் வகையாக மாற்ற முடியாது;
  • மாறிலிகள் மற்றும் லூப் மாறிகளுக்கான டூப்பிள்களின் பேக்கிங் வழங்கப்படுகிறது.
    எடுத்துக்காட்டாக, இப்போது நீங்கள் 'const (d, e) = (7, "eight")" மற்றும் "for (x, y) in f" போன்ற பணிகளைப் பயன்படுத்தலாம்;

  • ஹாஷ்கள் மற்றும் அட்டவணைகளின் இயல்புநிலை துவக்கம் வழங்கப்பட்டது. எடுத்துக்காட்டாக, “var s: HashSet[int]” என்று அறிவித்த பிறகு, நீங்கள் உடனடியாக “s.incl(5)” ஐ இயக்கலாம், இது முன்பு பிழைக்கு வழிவகுத்தது;
  • "கேஸ்" ஆபரேட்டர் மற்றும் வரிசைக் குறியீடு வரம்பிற்கு அப்பாற்பட்டது தொடர்பான சிக்கல்களுக்கான மேம்படுத்தப்பட்ட பிழைத் தகவல்;
  • மறு செய்கையின் போது அட்டவணையின் நீளத்தை மாற்றுவது தடைசெய்யப்பட்டுள்ளது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்