Rakstiet vienlaicīgu pieteikumu ar Erlang (un Elixir)

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


Erlang ir universāla programmēšanas valoda, kas paredzēta vienlaicīgu lietojumu veidošanai.

Sākotnēji izstrādāta telekomunikāciju lietojumprogrammām, tā ir ļoti mērogojama, funkcionāla valoda, kas ir ideāli piemērota telekomunikācijām, tīmekļa lietojumprogrammām, izkliedētai skaitļošanai, tūlītējai ziņojumapmaiņai, e-komercijai un citiem pakalpojumiem, kuriem ir nepieciešams pastāvīgs savienojums un kuri vienlaikus apstrādā arī liels avotu skaits.

Erlangs un Eliksīrs

Dažas no funkcijām, kas Erlang padara pievilcīgu mūsdienu programmētājiem:

  • Vienlaicīgums, kas ļauj Erlang programmām pieņemt ievadi no vairākiem avotiem un darboties izplatītajā vidē.

  • Kļūdu pielaide, ļaujot sistēmām turpināt darboties pat tad, ja daži programmas elementi nedarbojas vai ir pie vainas, padarot to par ļoti noderīgu valodu vienmēr ieslēgtām vidēm, piemēram, tīmekļa kopienai vai telekomunikāciju platformai..

  • Karstā koda ielāde, kas ļauj modificēt kodu un atjaunināt programmas, nepārtraucot vai atsākot sistēmas darbību.

  • Ziņu nodošana, nevis dalīti mainīgie, ļaujot procesiem sazināties ar augstāku vienlaicības pakāpi.

  • Atkritumu savākšana, nodrošinot automātisku atmiņas pārvaldību, lai uzlabotu ātrumu un veiktspēju.

Erlangu nav tik viegli iemācīties, kā dažās programmēšanas valodās, jo tā sintakse un funkcionālais dizains ir ļoti unikāli un rada asu mācīšanās līkni jauniem programmētājiem..

Vēsture

Erlangu valodu pirmo reizi 1986. gadā izstrādāja Ericsson darbinieki Džo Ārmstrongs, Roberts Virdings un Maiks Viljamss..

Valoda tika izstrādāta, lai uzlabotu esošās telefonijas lietojumprogrammas, un to ļoti ietekmēja PLEX valoda.

Pirmā Erlang versija tika ieviesta Prologā, taču tā izrādījās pārāk lēna telefona centrālei. Lai to atrisinātu, 1992. gadā komanda izstrādāja virtuālo mašīnu BEAM.

BEAM Erlang kodu C sastādīja daudz ātrāk, ļaujot Erlang ātri pāriet no prototipa valodas uz reālām lietojumprogrammām. 1995. gadā Erlangs tika ieviests ATM centrā, AXD.

Tomēr 1998. gadā Ericsson Radio Systems aizliedza Erlang izmantošanu visos jaunos izstrādājumos, jo tas mēģināja visus produktus pārvietot uz nepatentētām valodām..

Jaunā politika pamudināja Džo Ārmstrongu, starp citu Erlang programmētāju, atkāpties, un galu galā tā rezultātā komanda vēlāk tajā pašā gadā atbrīvoja Erlangu uz atvērtā koda pasauli..

Tā kā tas vairs nav patentēts produkts, un, panākot vilkmi telekomunikāciju pasaulē, Ericsson vēlāk mainīja savu nostāju pret Erlangu un no jauna nolēma Ārmstrongu..

Erlangu tagad aktīvi izmanto telekomunikāciju uzņēmumi visā pasaulē, tostarp T-Mobile, Whatsapp, Ubiquiti un IDT Corp. Ericsson turpina uzturēt valodu un izmanto to Ericsson atbalsta mezglos un mobilajos tīklos, ieskaitot to LTE tīklus..

Resursi

Ņemot vērā neticamo nepieciešamību pēc vienlaicīgas programmēšanas, visu laiku paplašinoties tīmekļa un mobilajām tehnoloģijām, Erlang turpina augt popularitāte, un daudzi nopietni izstrādātāji veic pāreju.

Tā rezultātā ir pieejams daudz bezmaksas tiešsaistes resursu, kas palīdzēs jums sākt un sniegt palīdzību visa ceļa garumā.

  • Erlang.org: oficiālā Erlang vietne, šajā lapā ir programmatūras lejupielādes, dokumentācija un lietotāja rokasgrāmatas, saites uz tiešsaistes resursiem un kopienām, kā arī informācija par jaunākajām ziņām un gaidāmajiem Erlanga notikumiem..

  • Erlang Central: šajā sabiedrības vadītajā vietnē ir viss nepieciešamais, lai sāktu darbu un turpinātu veidot savas Erlang zināšanas. Tajā tiek mitināti mācību materiāli, videoklipi, Wiki, darba dēlis un kopienas forums.

  • Pārsvarā Erlangs: regulāra apraide, kas veltīta visām lietām Erlang. Viņi apspriež programmēšanas pamatkoncepcijas, intervē galvenos novatorus un piedāvā padomus jaunajiem un pieredzējušajiem Erlang programmētājiem.

  • Erlang Factory: šī ikgadējā tehniskā konference pulcē Erlang izstrādātājus no visas pasaules, lai diskutētu par jauninājumiem un teorijām, kā arī piedāvā virkni izvēles 3 dienu intensīvu apmācības kursu.

Grāmatas

Erlangs ir diezgan atšķirīgs no vairuma valodu, un pat pieredzējušiem programmētājiem var būt nepieciešams ērts ceļvedis, lai izsekotu dažām tā ekscentritātēm. Neatkarīgi no tā, vai jūs gadiem ilgi plānojat programmu vai plānojat nākamās lielās mobilās lietotnes izstrādi, jums ir pieejams Erlanga nosaukums:

  • Programmēšana Erlang: programmatūra vienlaicīgai pasaulei Džo Ārmstrongs: rakstījis viens no oriģinālajiem Erlanga autoriem. Šis ir galīgais valodas un tās lietošanas ceļvedis vienlaicīgā vidē, piemēram, mākoņa lietojumprogrammās, daudzlietotāju spēlēm un sabiedrībā balstītām. tīmekļa vietnes. Grāmata ir paredzēta cilvēkiem ar nelielu iepriekšēju pieredzi funkcionālā vai paralēlo programmēšanā, un māca šos jēdzienus, izmantojot konsultācijas un reālās pasaules piemērus..

  • Zachary Kessin veidota tīmekļa lietojumprogramma ar Erlang: paredzēta pieredzējušiem tīmekļa izstrādātājiem ar pamata zināšanām par Erlangu. Šī grāmata programmētājus iepazīstina ar vienkāršu tīmekļa pakalpojumu programmēšanas projektu virkni, sagatavojot viņus izveidot savas tīmekļa lietojumprogrammas un iegūt tos tiešsaistē.

  • Uzziniet jūs kādu Erlangu par labu! Autors: Freds Herberts: kā norāda humorpilnais nosaukums, šī grāmata ar prieku atzīst, ka Erlanga sintakse ir netradicionāla, tās datu struktūras ir neparastas, un tās tipa sistēma daudziem jaunpienācējiem parasti ir pretēja – tieši tāpēc jums ir nepieciešams ceļvedis par tās neparasto , tomēr spēcīgas konvencijas. Tas sākas lēni, izmantojot ļoti pamatmetodes, un iekļaujas sarežģītākās programmēšanas koncepcijās, lasītājam pielāgojoties jaunās valodas sarežģītībai. Ja jums nav nepieciešama fiziska kopija, autors ir arī grāmatu tiešsaistē padarījis pieejamu bez maksas.

  • Iepazīstinām ar Erlangu: Simona St Laurenta darba sākšana funkcionālā programmēšanā: Šī grāmata daudz laika velta instalēšanai un Erlanga apvalkam, pārliecinoties, ka jaunie programmētāji (vai jaunie Erlang jaunie) ir pilnībā apmierināti ar komandrindas saskarni un pēc tam pāriet sadalīt valodu ļoti pamatjēdzienos un demonstrēt tos, izveidojot vienkāršas programmas.

  • Cesarini un Vinoski projektēšana mērogojamībai ar Erlang / OTP: šī grāmata ir paredzēta pieredzējušiem Erlang programmētājiem, kuri vēlas paplašināt izpratni un izmantot atvērto telekomunikāciju platformu (OTP), lai izstrādātu un izveidotu komerciālas sistēmas, kas ir sarežģītas un pielāgojamas..

Bejons Erlands: Eliksīrs

Eliksīrs ir salīdzinoši jauna valoda, taču tai ir sena vēsture. Un viss sākās ar Erlangu.

Exlixer vēsture

Kopš astoņdesmito gadu vidus Erlangs ir paveicis labu darbu, kas tam bija paredzēts, galvenokārt telefonijas lietojumprogrammu projektēšanā. Bet pārejiet uz priekšu trīs gadu desmitus un padomājiet par ļoti pielāgojamām tīmekļa lietojumprogrammām.

Piemēram, Pinterest nodrošina 14 000 paziņojumu sekundē. Facebook ir jāsaņem atjauninājumi un jāatsūta ziņojumi 1,6 miljardiem (ar B!) Aktīvo lietotāju. Šāda veida augsta vienlaicība un augsta pieejamība ir tieši tas, kas bija paredzēts Erlang.

Un tā šī vecā karadarbīgo telekomunikāciju valoda pēkšņi atkal ir kļuvusi moderna un populāra. Izņemot jaunā formā.

Izrādās, ka Erlangu patiešām ir grūti lasīt un rakstīt. Tas nav pārsteidzoši, jo tas tika izstrādāts pirms gadu desmitiem. Tas bija pirms tam, kad “jautri lietot” bija svarīgs apsvērums valodas veidošanā.

Erlangs nav piemērots izstrādātāju paaudzei, kas uzauga par Ruby un JavaScript. Papildus izmantojamībai Erlang nav visu funkciju, kas varētu būt vajadzīgas mūsdienu tīmekļa lietojumprogrammām.

Tātad, 2012. gadā Hosē Valims izveidoja Eliksīru. Eliksīra kods apkopo Erlanga baitkodu un tiek darbināts ar Erlanga izpildlaiku. Jūs pat varat Erlang kodu iekļaut tieši Elixir (nedaudz līdzīgi tam, kā jūs varat iekļaut JavaScript kafijas žurnālā).

Valims bija Ruby on Rails attīstības komandas sastāvdaļa un pat bija grāmatas par Rails attīstību autors. Komanda “Ruby on Rails” izstrādātāja pieredzi uztver ļoti nopietni, un šīs bažas ietekmēja “Elixir” dizainu.

Sintakse ir ļoti līdzīga rubīnam un ir daudz lasāmāka nekā Erlangs. Papildus vienkāršākai sintaksei, Eliksīrs paplašina Erlanga iespējas, iekļaujot (cita starpā) metaprogrammēšanu, polimorfismu un iekšējo dokumentāciju.

Īss ievads funkcionālā programmēšanā

Eliksīrs, tāpat kā Erlangs, ir funkcionāla programmēšanas valoda. Tas nedaudz atšķiras no vairuma citu valodu, kurām gandrīz visas ir obligātas, un parasti tās ir orientētas uz objektiem.

Lielākajai daļai programmēšanas valodu ir sava veida kodu bloķēšanas sintakse, ko sauc par “funkciju”. Vai arī dažās uz objektu orientētās valodās tās sauc par “metodēm”, bet visi zina, ka metode ir tikai objektam pievienota “funkcija”..

Bet vai funkcija tiešām ir funkcija?

Izstrādājot programmatūru, mēs esam pieraduši, ka funkcijas kaut ko dara. Mēs tos saucam par “blakus efektiem”.

Bet matemātikā funkcijām nav blakus efektu. Nedefinē loku ar funkciju, kas iezīmē visus apļa punktus un maina arī kursa numuru ievadā uz hipotētisko ģeometriju..

Matemātikā funkcija ir determinēta; ņemot vērā jebkuru konkrētu ieeju x, tā vienmēr atgriezīs precīzu izvadi y un nedarīs neko citu.

Atzīstot blakusparādības programmēšanā, mēs ieviešam stāvokli – pašreizējo pašreizējo programmas vides stāvokli. Un štata problēma ir tā, ka laika gaitā tas var mainīties.

Mainīgais varētu nozīmēt vienu lietu tagad, un kaut ko citu – desmit minūtes pēc šī brīža. Un tas nozīmē, ka noteikts funkcijas izsaukums ar ieeju x divos dažādos laikos var atdot divas atšķirīgas y vērtības.

Vai tā ir problēma? Tas atkarigs. Neviena no populārākajām attīstības valodām nav tīri funkcionāla, tāpēc nepārprotami ir iespējams izveidot visu veidu lietas (vai gandrīz visu), izmantojot valodas, kas balstās uz blakusparādībām un globālo stāvokli.

Tomēr ļoti izplatītā, vienmēr ieslēgtā sistēmā tā var būt problēma. Ja sistēma ir sadalīta vairākos desmitos (vai vairākos tūkstošos) fizisko datoru, kā jūs visiem izplatāt izmaiņas globālā stāvoklī??

Ja kāda sistēma samazinās, kā ātri atjaunot globālo stāvokli? Ja funkcionāls zvans dažādos laikos var atdot dažādas vērtības, kā jūs varat būt pārliecināts, ka šodien izpildītais tests tomēr izturēs rītdienu?

Funkcionālās programmēšanas mērķis ir izvairīties no visām šīm problēmām, būdams bezvalstnieks. Funkcionāli izstrādāta programma ir pilnīgi deterministisku funkciju kopums, kas nozīmē, ka sistēma kopumā ir deterministiska. Ņemot vērā jebkuru konkrētu ievadi, izeja tiek garantēta.

Šāda veida matemātiskā tīrība jau sen interesē akadēmiskos datorzinātniekus, taču programmatūras izstrādes reālā pasaule lielākoties nav bijusi ieinteresēta – līdz pēkšņi interneta vajadzību dēļ visi ir ieinteresēti.

Funkcionālā programmēšana ir viena no vissvarīgākajām pašreizējām tendencēm tīmekļa lietojumprogrammu izstrādē.

Funkcionālās programmēšanas resursi

Ja jūs patiešām vēlaties aplūkot savu galvu ap Elixir, jums ir jāapiet galva ap funkcionālo programmēšanu. Šeit ir kur sākt.

  • Raksti

    • Raksts par funkcionālā programmēšanu Vikipēdijā: ļoti padziļināts tēmas pārskats.

    • Nebaidieties no funkcionālās programmēšanas: samērā viegli saprotams funkcionālās programmēšanas skaidrojums, kas rakstīts JavaScript izstrādātājiem.

    • Praktisks ievads funkcionālā programmēšanā

    • Funkcionālās programmēšanas pamati: kas tas par lietu??

    • Kas ir funkcionālā programmēšana?.

  • Video

    • Funkcionālā programmēšana; Kas? Kāpēc? Kad?

    • Funkcionālā programmēšana no pirmajiem principiem

    • Funkcionālās programmēšanas prieks

    • Atskaņošanas saraksts: funkcionālā programmēšana – izskaidroti pamatjēdzieni.

  • Grāmatas

    • Tīri funkcionālas datu struktūras

    • Algoritmi: funkcionālās programmēšanas pieeja

    • Ievads funkcionālā programmēšanā, izmantojot Lambda aprēķinu

    • Funkcionālā domāšana: paradigma pār sintakse

    • Kļūstot funkcionāls

    • Diskrētā matemātika un funkcionālā programmēšana.

Eliksīra resursi

Elixir apgūšanā ir daudz dažādu veidu resursu.

Tiešsaistes resursi

Pirmā vieta, kur sākt meklēt Elixir tiešsaistē, ir oficiālā Elixir valodu vietne.

Pamācības
  • Oficiālais darba sākšanas ceļvedis

  • Eliksīra 30 dienas

  • Elixir skola: Nodarbības par Elixir programmēšanas valodu.

  • Video ceļvedis Eliksīram

  • Ēdikses par Eliksīru

  • Eliksīra apkrāpšanas lapa.

Rīki
  • Fēnikss: tīmekļa attīstības ietvars Elixir. Nepalaidiet garām šo lielisko grāmatu par Fīniksu, kuras autori ir Fīniksas un Eliksīra veidotāji.

  • Awesome Elixir: sabiedrības izveidots satriecošu Elixir projektu saraksts.

Sabiedrība un nepārtraukta mācīšanās
  • Eliksīra forums

  • Eliksīrs Subreddits

  • Eliksīra strūklaka

  • Nedēļas Elixir Digest

  • Eliksīra radars.

Grāmatas par Eliksīru

  • Programmēšana Elixir: Funkcionāls |> Vienlaicīga |> Pragmatisks |> Jautri

  • Metaprogrammēšana Elixir: rakstiet mazāk koda, dariet vairāk darba (un izklaidējieties!)

  • Eliksīrs darbībā

  • Iepazīstinām ar Elixir: darba sākšana funkcionālā programmēšanā

  • Mācīšanās Eliksīrs

  • Eliksīra pavārgrāmata.

Vai man vajadzētu iemācīties Eliksīru?

Ja jūs interesē darbs ar modernākajām tīmekļa lietojumprogrammām, jo ​​īpaši tām, kas apkalpo lielu skaitu vienlaicīgu lietotāju, Elixir noteikti ir vērts zināt.

Secinājums

Kaut arī joprojām ir samērā reti sastopama programmēšanas valoda, Erlanga kopiena strauji pieaug, jo īpaši tāpēc, ka palielinās pieprasījums pēc mobilajiem risinājumiem, tīmekļa lietojumprogrammām un netraucētas tiešsaistes sadarbības.

Lai arī daudzos veidos tas ir netradicionāls, iebūvētais atbalsts vienlaicīgumam un izplatīšanai, augsta mērogojamība un vainojamība padara Erlangu par ļoti pievilcīgu valodu mūsu pastāvīgi savienotajā pasaulē.

Bet varbūt labāk būtu koncentrēties uz Eliksīru. Tas ir atkarīgs tieši no tā, ko vēlaties darīt. Neatkarīgi no tā, tās abas ir lieliskas valodas.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map