የክሪስታል 1.0 ፕሮግራሚንግ ቋንቋ ተለቀቀ። የተለቀቀው የ 8 ዓመታት ሥራን ጠቅለል አድርጎ የቋንቋውን መረጋጋት እና በስራ ፕሮጀክቶች ውስጥ ለመጠቀም ዝግጁ መሆኑን የሚያመለክት የመጀመሪያው ጉልህ ልቀት ምልክት ተደርጎበታል። የ1.x ቅርንጫፉ የኋላ ተኳኋኝነትን ይጠብቃል እና በቋንቋው ወይም በመደበኛ ቤተ-መጽሐፍት ላይ ምንም ለውጦች አለመኖራቸውን ያረጋግጣል እናም በነባር ኮድ ግንባታ እና አሠራር ላይ አሉታዊ ተጽዕኖ ያሳድራል።
የ1.0.y ስሪቶች ልቀቶች ጥቃቅን ጥገናዎችን ብቻ ያካትታሉ፣ የ1.x.0 ስሪቶች ደግሞ የኮድ ተኳሃኝነትን በመጠበቅ አዳዲስ ተግባራትን እና ጉልህ ለውጦችን ያስተዋውቃሉ። አዳዲስ ሀሳቦች እና የማይጣጣሙ ለውጦች በተለየ ቅርንጫፍ ውስጥ ይዘጋጃሉ፣ ይህም በኋላ ላይ ለክሪስታል 2.0 ልቀት መሠረት ይሆናል። አንዳንድ የክሪስታል 1.0 ባህሪያት ቀዳሚ ተብለው የሚታወቁ ሲሆን፣ በ1.0 ቅርንጫፍ ውስጥ ቢኖሩም፣ በይፋዊ ድጋፍ የተሸፈኑ አይደሉም። እነዚህ ባህሪያት ባለብዙ ክር ንባብ፣ የመድረክ ድጋፍ እና Windows, በ ARM ፕሮሰሰሮች ላይ ባሉ ስርዓቶች ላይ ይጠቀሙ።
ክሪስታል ገንቢዎች በሩቢ ቋንቋ ውስጥ ያለውን የዕድገት ምቹነት በC ቋንቋ ውስጥ ካለው ከፍተኛ የመተግበሪያ አፈጻጸም ጋር ለማጣመር እየሞከሩ መሆኑን እናስታውስ። የክሪስታል አገባብ ከ Ruby ጋር ቅርብ ነው ነገር ግን ሙሉ በሙሉ ተኳሃኝ አይደለም፣ ምንም እንኳን አንዳንድ የሩቢ ፕሮግራሞች ሳይሻሻሉ ቢሄዱም። የማጠናቀሪያው ኮድ በክሪስታል የተፃፈ እና በ Apache 2.0 ፍቃድ ስር ይሰራጫል።
ቋንቋው በኮዱ ውስጥ ያሉ የተለዋዋጮችን እና የሥልት ነጋሪ እሴቶችን በግልፅ መግለጽ ሳያስፈልገው የሚተገበር የማይንቀሳቀስ ዓይነት ማረጋገጫን ይጠቀማል። የክሪስታል ፕሮግራሞች ወደ ተፈጻሚነት ባላቸው ፋይሎች ይጠቃለላሉ፣ ማክሮዎች ይገመገማሉ እና በተጠናቀረበት ጊዜ የመነጩ ኮድ አላቸው። በክሪስታል ፕሮግራሞች በሲ ውስጥ የተፃፉ ማሰሪያዎችን ማገናኘት ይቻላል. የኮድ ማስፈጸሚያ ትይዩ የሚከናወነው “ስፓውን” ቁልፍ ቃልን በመጠቀም ነው ፣ይህም የጀርባ ተግባርን ባልተመሳሰል መልኩ እንዲሰሩ ያስችልዎታል ፣ ዋናውን ክር ሳይገድቡ ፣ ፋይበር በሚባሉት ቀላል ክብደት ያላቸው ክሮች መልክ።
መደበኛው ቤተ-መጽሐፍት CSVን፣ YAML እና JSONን ለማስተናገድ የሚረዱ መሳሪያዎችን፣ HTTP አገልጋዮችን ለመገንባት አካላትን እና የዌብሶኬት ድጋፍን ጨምሮ በርካታ አጠቃላይ ተግባራትን ያቀርባል። በእድገት ሂደት ውስጥ በክሪስታል ቋንቋ በይነተገናኝ ኮድ አፈፃፀም የድር በይነገጽ (localhost: 8080 በነባሪ) የሚያመነጨውን “የክሪስታል ጨዋታ” ትዕዛዝ ለመጠቀም ምቹ ነው።
ዋና ለውጦች፡-
- ቱፕልስ ለተለያዩ ዓይነቶች ንጥረ ነገሮች በመረጃ የተደገፈ መዳረሻ ይፈቅዳሉ ምክንያቱም አቀናባሪው እያንዳንዱ አካል ምን አይነት እንደሆነ ያውቃል። ለምሳሌ፡ tuple = {1, "hello", 'x'} v = tuple[0..1] # ይመለሳል {1, "hello"} typeof(v) # => Tuple(Int32, String)
- ሕብረቁምፊ እና የቁምፊ ቃል በቃል በዩኒኮድ የማምለጫ ቅደም ተከተሎች እንደ "\uD834" ተተኪ ምህጻረ ቃላትን መጠቀም አይፈቅዱም። የዘፈቀደ እሴቶችን ለመመስረት የ"\ x" ምልክትን ይጠቀሙ።
- በመደበኛ ቤተ-መጽሐፍት ውስጥ፣ ቀደም ሲል ጊዜ ያለፈባቸው ተብለው ምልክት የተደረገባቸው ብዙ ትርጓሜዎች፣ ማክሮዎች እና ዘዴዎች ተወግደዋል። ስልቶች አዘጋጅ፣ ስታቲክ አራራይ#[]፣ YAML.new፣ HTTP::ጥያቄ፣ HTTP::WebSocket፣ Hash# Delete_if፣ Process# Kill፣ ወዘተ ጨምሮ።
- ጌተር እና ንብረት ማክሮዎች አሁን የመመለሻ አይነት እንዲገለጽ ይፈልጋሉ።
- ነባሪው የማዞሪያ ዘዴ ወደ TIES_EVEN ("የባንክ ማዞሪያ"፣ ወደ ቅርብ ኢንቲጀር እና ለድንበር ሁኔታዎች ወደ ቅርብ እኩል ቁጥር) ተቀይሯል። የRondingMode መለኪያ ወደ ቁጥር#ዙር ተጨምሯል፣ይህም የማዞሪያ ዘዴውን እንዲመርጡ ያስችልዎታል። የሚገኙ ዘዴዎች የሚከተሉትን ያካትታሉ፡ TIES_EVEN፣ TIES_AWAY፣ TO_ZERO፣ TO_POSITIVE፣ TO_NEGATIVE።
- ሊቆጠር የሚችል #ጠፍጣፋ_ካርታ እና ኢተርተር #ጠፍጣፋ_ካርታ በስብስብ ውስጥ ከተደባለቁ ዓይነቶች አካላት ጋር ይሰራሉ።
- የEnum ተከታታዮችን መደርደር አሁን ከሥሩ የሕብረቁምፊ ተወካዮችን ይጠቀማል።
- በኤክስኤምኤል ሞጁል ውስጥ የተገለጹት ዓይነቶች struct ከመጠቀም ወደ ክፍል ተወስደዋል.
- ለደህንነት ሲባል፣ የኩኪ ስሞችን መፍታት፣ እንዲሁም የኩኪ እሴቶችን ኢንኮዲንግ እና ዲኮዲንግ ማድረግ ተቋርጧል (ሪኮዲንግ አሁን የማዕቀፎች እና የአፕሊኬሽኖች ኃላፊነት ነው)። የHTTP::Cookies.from_headers ዘዴ ለሁለት የተለያዩ አማራጮች ተከፍሏል። አገልጋዮች እና ደንበኞች።
ምንጭ: opennet.ru
