Nim 0.20 ప్రోగ్రామింగ్ భాష యొక్క కొత్త వెర్షన్

జరిగింది సిస్టమ్ ప్రోగ్రామింగ్ భాష విడుదల నిమ్ 0.20.0. భాష స్టాటిక్ టైపింగ్‌ని ఉపయోగిస్తుంది మరియు పాస్కల్, సి++, పైథాన్ మరియు లిస్ప్‌లను దృష్టిలో ఉంచుకుని రూపొందించబడింది. నిమ్ సోర్స్ కోడ్ C, C++ లేదా JavaScript ప్రాతినిధ్యంగా కంపైల్ చేయబడింది. తదనంతరం, అందుబాటులో ఉన్న ఏదైనా కంపైలర్ (క్లాంగ్, జిసిసి, ఐసిసి, విజువల్ సి ++) ఉపయోగించి ఫలితంగా సి/సి++ కోడ్ ఎక్జిక్యూటబుల్ ఫైల్‌గా కంపైల్ చేయబడుతుంది, ఇది మీరు రన్నింగ్ ఖర్చులను పరిగణనలోకి తీసుకోకపోతే, సికి దగ్గరగా పనితీరును సాధించడానికి మిమ్మల్ని అనుమతిస్తుంది. చెత్త సేకరించేవాడు. పైథాన్ మాదిరిగానే, నిమ్ ఇండెంటేషన్‌ను బ్లాక్ డీలిమిటర్‌లుగా ఉపయోగిస్తుంది. డొమైన్-నిర్దిష్ట భాషలను (DSLలు) సృష్టించడానికి మెటాప్రోగ్రామింగ్ సాధనాలు మరియు సామర్థ్యాలకు మద్దతు ఉంది. ప్రాజెక్ట్ కోడ్ సరఫరా MIT లైసెన్స్ కింద.

Nim 0.20 విడుదలను మొదటి స్థిరమైన 1.0 విడుదలకు అభ్యర్థిగా పరిగణించవచ్చు, ఇది భాష యొక్క స్థితికి కట్టుబడి ఉండే మొదటి స్థిరమైన శాఖను రూపొందించడానికి అవసరమైన అనేక ఇంటర్‌ఆపెరాబిలిటీ-బ్రేకింగ్ మార్పులను కలుపుతుంది. వెర్షన్ 1.0 అనేది స్థిరమైన, దీర్ఘకాలిక మద్దతు విడుదలగా ప్రచారం చేయబడింది, ఇది భాష యొక్క స్థిరీకరించబడిన భాగంలో వెనుకబడిన అనుకూలతను కొనసాగించడానికి హామీ ఇవ్వబడుతుంది. విడిగా, కంపైలర్‌లో ప్రయోగాత్మక మోడ్ కూడా అందుబాటులో ఉంటుంది, దీనిలో వెనుకబడిన అనుకూలతను విచ్ఛిన్నం చేసే కొత్త ఫీచర్‌లు అభివృద్ధి చేయబడతాయి.

నిమ్ 0.20లో ప్రతిపాదించిన మార్పులలో ఇవి ఉన్నాయి:

  • "కాదు" అనేది ఇప్పుడు ఎల్లప్పుడూ అనారీ ఆపరేటర్, అనగా. "అసెర్ట్ (ఎ కాదు)" వంటి వ్యక్తీకరణలు ఇప్పుడు అనుమతించబడవు మరియు "అసెర్ట్ నాట్ ఎ" మాత్రమే అనుమతించబడతాయి;
  • సంకలన దశలో పూర్ణాంకాలు మరియు వాస్తవ సంఖ్యల మార్పిడి కోసం కఠినమైన తనిఖీలు ప్రారంభించబడ్డాయి, అనగా. "const b = uint16(-1)" అనే వ్యక్తీకరణ ఇప్పుడు దోషానికి దారి తీస్తుంది, ఎందుకంటే -1 సంతకం చేయని పూర్ణాంకం రకానికి మార్చబడదు;
  • స్థిరాంకాలు మరియు లూప్ వేరియబుల్స్ కోసం టుపుల్స్ అన్‌ప్యాకింగ్ అందించబడుతుంది.
    ఉదాహరణకు, ఇప్పుడు మీరు 'const (d, e) = (7, "aight")" మరియు "for (x, y) in f" వంటి అసైన్‌మెంట్‌లను ఉపయోగించవచ్చు;

  • హాష్‌లు మరియు టేబుల్‌ల డిఫాల్ట్ ప్రారంభీకరణ అందించబడింది. ఉదాహరణకు, "var s: HashSet[int]" ప్రకటించిన తర్వాత మీరు వెంటనే "s.incl(5)"ని అమలు చేయవచ్చు, ఇది మునుపు లోపానికి దారితీసింది;
  • "కేస్" ఆపరేటర్ మరియు శ్రేణి సూచికకు సంబంధించిన సమస్యల కోసం మెరుగైన ఎర్రర్ సమాచారం హద్దులు దాటిపోయింది;
  • పునరావృత సమయంలో పట్టిక పొడవును మార్చడం నిషేధించబడింది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి