ఒక సంవత్సరం అభివృద్ధి తర్వాత, ఫంక్షనల్ ప్రోగ్రామింగ్ లాంగ్వేజ్ ఎర్లాంగ్ 25 విడుదల చేయబడింది, ఇది నిజ సమయంలో అభ్యర్థనల సమాంతర ప్రాసెసింగ్ను అందించే పంపిణీ చేయబడిన, తప్పు-తట్టుకునే అప్లికేషన్లను అభివృద్ధి చేయడం లక్ష్యంగా పెట్టుకుంది. టెలికమ్యూనికేషన్స్, బ్యాంకింగ్ సిస్టమ్స్, ఇ-కామర్స్, కంప్యూటర్ టెలిఫోనీ మరియు ఇన్స్టంట్ మెసేజింగ్ వంటి రంగాలలో ఈ భాష విస్తృతంగా వ్యాపించింది. అదే సమయంలో, OTP 25 (ఓపెన్ టెలికాం ప్లాట్ఫారమ్) విడుదల చేయబడింది - ఎర్లాంగ్ భాషలో పంపిణీ చేయబడిన వ్యవస్థల అభివృద్ధికి లైబ్రరీలు మరియు భాగాల సహచర సెట్.
ప్రధాన ఆవిష్కరణలు:
- "ప్రారంభం ... ముగింపు" లాగానే ఒక బ్లాక్లో అనేక వ్యక్తీకరణలను సమూహపరచడానికి కొత్త “బహుశా ... ముగింపు” నిర్మాణం అమలు చేయబడింది, కానీ బ్లాక్ నుండి వేరియబుల్స్ ఎగుమతికి దారితీయదు.
- సెలెక్టివ్ ఫీచర్ యాక్టివేషన్కు మద్దతు జోడించబడింది, ఇది ఇప్పటికే ఉన్న కోడ్ను విచ్ఛిన్నం చేయకుండా కొత్త మరియు సంభావ్య ఇంటర్పెరాబిలిటీ-బ్రేకింగ్ లాంగ్వేజ్ మరియు రన్టైమ్ ఫీచర్లను పరీక్షించడానికి మరియు క్రమంగా పరిచయం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. కంపైల్ సమయంలో మరియు కోడ్ ఫైల్లలో ఫీచర్() డైరెక్టివ్ని ఉపయోగించి ఫీచర్లను ఆన్ మరియు ఆఫ్ చేయవచ్చు. ఉదాహరణకు, మీ కోడ్లో కొత్త ఉండవచ్చు వ్యక్తీకరణను ప్రారంభించడానికి, మీరు "ఫీచర్(maybe_expr,enable)"ని పేర్కొనవచ్చు.
- JIT కంపైలర్ డేటా రకం సమాచారం ఆధారంగా ఆప్టిమైజేషన్లను అమలు చేస్తుంది మరియు 64-బిట్ ARM ప్రాసెసర్లకు (AArch64) మద్దతును జోడిస్తుంది. కోడ్లోని లైన్ నంబర్ల గురించి సమాచారాన్ని అందించే perf మరియు gdb యుటిలిటీలకు మెరుగైన మద్దతు.
- సంబంధిత ఎర్లాంగ్ నోడ్లను అమలు చేయడానికి ఫంక్షన్లతో కూడిన కొత్త పీర్ మాడ్యూల్ జోడించబడింది. నోడ్కు నియంత్రణ కనెక్షన్ కోల్పోయిన తర్వాత, నోడ్ స్వయంచాలకంగా మూసివేయబడుతుంది.
- OpenSSL 3.0కి మద్దతు జోడించబడింది.
- మూలకాల జాబితాను సమూహపరచడం కోసం మ్యాప్స్ మాడ్యూల్కు group_from_list/2 మరియు group_from_list/3 ఫంక్షన్లు జోడించబడ్డాయి.
- జాబితాలోని డూప్లికేట్ ఎలిమెంట్లను ఫిల్టర్ చేయడానికి మరియు ఎలిమెంట్ నంబర్లతో టూపుల్ల జాబితాను రూపొందించడానికి uniq/1, uniq/2, enumerate/1 మరియు enumerate/2 ఫంక్షన్లు జాబితాల మాడ్యూల్కు జోడించబడ్డాయి.
- రాండ్ మాడ్యూల్ కొత్త, చాలా వేగవంతమైన సూడో-రాండమ్ నంబర్ జనరేటర్ను అమలు చేస్తుంది.
మూలం: opennet.ru