Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
Programavimo kalbos
Programavimas - tai kai kažkas sukuria kokią tai programą, parašydamas ją kokia nors programavimo kalba. Tai ta programa šitaip būna suprogramuojama, o suprogramavimui būna naudojamos įvairiausios programavimo kalbos. Taip kad programavimas ir programavimo kalbos išties yra viena ir tas pats.
Paprastai programavimo kalba tėra tam tikra komandų seka, kur komandos arba daro veiksmą, arba kažkam priskiria kokias tai reikšmes, arba kaip tai keičia programos vykdymo tvarką.
Programavimo kalbos - tai gi tokios, kuriomis ką nors užprogramuoja. Vat ir žmonių kalba ką nors galima užprogramuoti, pavyzdžiui, prišnekėjus kokios nors propagandos ar šiaip kam nors kažko primelavus. Kaip kurie tą išmoksta labai gerai, tai tada visiems pisa protą, o kai kurie - ir dar geriau, tai jau tada išvis būna smegenų plovimas. Paskui tokie dar giriasi, kad čia kažkoks tai NLP.
Dažniau gi programavimo kalbos būna apie kompiuterius, tai tenai gi ne žmonės, tai juos programuot paprasčiau. Tai paskui būna, kai visokie lameriai išmoksta kokią nors programavimo kalbą ir vaizduojasi, kad jie jau gali viską. O tada paaiškėja, kad tos programos pilnos bugų ir nieko gero nepadaro. Todėl vartotojai paskui kankinasi, o dėl visko lieka kalti adminai, kurie net ir programuoti nemoka...
Patys pirmiausi programavimo pagrindai
Įsivaizduokite, kad turite tiesiog komandų seką:
- Nueik prie šulinio
- Prisemk į kibirą vandens
- Nunešk kibirą į namus
Štai čia ir gaunasi tokia programa jau. Ją galima modifikuoti, pvz., kad paskutinis veiksmas nurodytų grįžti į pradžią, tai tada gausis ciklas. Arba dar ką nors galima padaryti.
Svarbiausios programavimo sąvokos
Pradedant programuoti, svarbu suprasti kelias paprasčiausias sąvokas. Jas supratus, paskui jau viskas vyksta lengviau. Bet jei bendrų sąvokų nesuprasit, tai bus sunku. Todėl geriau pradėti nuo tų svarbiausių dalykų. Gal jie pradžioje atrodys kiek abstrakčiai, bet juos supratus, paskui bus lengviau.
Bendros sąvokos:
- Transliatorius - tokia programa, kurios dėka galima įvykdyti jūsų parašytą programą. Paprastai būna dviejų rūšių transliatoriai:
- Interpretatorius - tokia speciali programa, kuri vykdo jūsų parašytą programą tiesiog ją skaitydama ir vykdydama
- Kompiliatorius - tokia speciali programa, kuri jūsų parašytą programą išverčia į mašininį kodą ir tada gaunasi dvejetainė programa, vykdoma tiesiogiai ant procesoriaus
Programavimo sąvokos:
- Komentaras - toksai laisvas tekstas, kuris specialiai pažymimas taip, kad transliatorius jį ignoruotų, todėl žmonės komentaruose gali rašyti ką nori ir kas jiems patogu
- Kintamasis - tai kažkokia atminties ląstelė, kaip kokia dėžutė, į kurią galima pasidėti kokius nors duomenis, pvz., skaičių, raidę, sakinį ar dar kažką
- Konstanta - tokia pat ląstelė, kurios negalima kaitalioti. Čia tyčia taip daroma kartais, kad būtų mažiau jovalo paskui, nes patogiau būna, kai žinai, kad kažkas tikrai nesikeičia.
- Priskyrimas - tai toksai veiksmas, per kurį kintamąjam suteikiama reikšmė
- Veiksmas - tai toksai veiksmas, dažniau aritmetinis, per kurį kintamąjam suteikiama kita reikšmė
- Palyginimas - tai toksai veiksmas, per kurį nustatoma, ar kažkas teisybė, ar neteisybė
- Funkcija, procedūra ar komanda - tai koks nors atskirai apibrėžtas programavimo kalbos veiksmas ar veiksmų seka, kuri turi savo pavadinimą
- Nėra aiškaus skirutmo tarp funkcijų, procedūrų ir komandų, visi trys yra laikomi tiesiog tokiais programos gabalais, kuriuos galima pernaudoti, iškviečiant iš kitos vietos
- Sakinys - tokia visokių priskyrimų, veiksmų, palyginimų ir taip toliau seka, kuri turi tam tikrą pradžią ir pabaigą
- Kai kuriose kalbose būna, kad vienas sakinys - tai viena eilutė ir viskas
- Kitose kalbose sakiniai būna sudėtingesni, pradedami ir užbaigiami kokiais nors kabliataškiais ar panašiai
- Sąlyginis sakinys arba ifas (nuo žodžio "IF") - toksai sakinys, kuris vykdomas tik jei yra įvykdyta sąlyga:
- Paprastu atveju būna tiesiog if, bet gali būti if, tada veiksmas, o tada, jei if nesuveikė - tai atlternatyvus veiksmas - else. Nuo to ir dažnas šio sakinio pavadinimas - If-else.
- Ciklas - tai toks sąlyginis sakinys, kuris liepia veiksmų seką vykdyti daug kartų. Praktikoje pasiteisina dviejų tipų ciklai:
- For - tai ciklas, kuris tiesiog įvykdo kažkokį veiksmą kiek tai kartų
- While - tai į If panašus ciklas, kuris vykdomas tol, kol sąlyga yra teisinga
Aaaa... Šitos sąvokos veikia praktiškai visose programavimo kalbose, ir jei jas kažkurioje kalboje išmokote - tai jau ta kalba galite ir programuoti. Štai ir viskas! Jei šias sąvokas žinote, tai jau turite ir pagrindus!
Pipedijai žinomos programavimo kalbos
Yra labai daug programavimo kalbų, tai vienos iš jų labai gerai žinomos, o kitos tai būna kad ir mažiau. Bet visi gerai žino, kad programavimo kalbų yra dvi rūšys. Viena rūšis - tai paprastos programavimo kalbos, o kita rūšis - tai ezoterika visokia, nes tenai normalūs programuotojai neprogramuoja, o tiktai hakeriai išsidirbinėja visokiomis nesąmonėmis.
Be šių kalbų dar būna puskalbės, kurios kaip sako, nesukuria Tiuringo mašinos, taip kad kažkokios nelabai tikros kalbos.
O dar be visų šitų yra ypatingai brangi ir šilumą skleidžianti dibilų kalba, kuri yra lietuviška ir todėl išskirtinai unikali, bet programuoti leidžia visai normaliai, taip kad galima čia visai neblogai kažką daryti ta kalba, todėl ji yra mūsų pasididžiavimas, nes nei latviai, nei estai jokios nuosavos programavimo kalbos nesukūrė, o mes jau turime.
Išskirtinės programavimo kalbos
Pipedija išskiria tiktai dvi specialias ir išskirtines programavimo kalbas, kurios yra labiausiai būtinos visiems, jei jie nori būti programuotojais, o ne kokiais nors lameriais:
- Dibilų kalba - ja galima programuoti visiškai lietuviškai ir viskas tada suprantama visiems, kas tik lietuviškai šneka
- Asembleris - jeigu juo neišmoksite programuoti, tai būsite šiaip nemokšos, kurie nesupranta kaip kas veikia, todėl jus lameriais vadins tie, kas moka asembleriu programuoti
Visos kitos programavimo kalbos jau yra ne tokios ypatingos, todėl jas atskira žemiau jums pateiksime.
Paprastos programavimo kalbos
Paprastos programavimo kalbos - tai tos, kurias kokie nors akademiniai tipažai pripažįsta už normalias programavimo kalbas. Išties gi įvairovė čia didžiulė, o kriterijų aiškių kaip ir nėra.
Kai kurios iš paprastų programavimo kalbų išties yra visai ne paprastos, o savo keistumu ar netgi absurdiškumu panašesnės į ezoterines. Kai kurios kitos - greičiau panašios į kažkokią išvis nesąmonę, kuri neturi prasmės. Dar kai kurios programavimo kalbos yra išties netgi ne tiek kalbos, kiek paprasčiausiai gražūs užvadinimai kokioms nors nežymiai pamodifikuotoms visiems žinomoms programavimo kalboms - čia taip kartais vertelgos bando gudrauti ir krušti protą žmonėms.
Paprastos programavimo kalbos yra vat šitokios, tai visos jos turi labai didelių nekentėjų ir nupušusių fanatikų, tai visada kai tik kur kokia diskusija užeina, iš visų pakampių išlenda minios lamerių, kurie ima aiškinti, kad jų kalba pati geriausia, o visos kitos yra koks nors gaidys. Iš to visada lamerius galima atpažinti ir puikiai sukelti fleimą, kur jie kelias dienas diskutuos, vieni kitus keiks ir galų gale liks durniais:
- Ada
- Cobol
- Basic
- C kalba
- Cpp
- Objective C
- C-sharp
- Logo
- Fortran
- Java
- Java Script
- Lua
- Pascal
- Perl
- PHP
- Rust
- Kotlin
Pasenusios, iškrypėliškos ir šiaip atliekinės programavimo kalbos
Šitas kalbas naudoja tiktai visokie fanatikai ir išvis kokie nors dibilai, nors būna kad ir kokie nors iš visokių korporacijų vartoja, o paskui keikiasi. Tai būdinga, kad daugelis šitų kalbų teturi vos po kokį 100 programuotojų, o kartais netgi ir mažiau, o ir tie vartotojai paprastai arba kokie nors visai jau nupušę hakeriai, arba kokie nors mažvaikiai nesusitupėję. Pastarasis variantas yra itin būdingas:
- Algol
- Modula
- Oberon
- Python
- Smalltalk
- Lisp
- Eiffel
- Ruby
- Forth
- Prolog
- Haskell
- APL
- Scheme
- Simula
- TCL
- Focal
- Onoff
Visus šitų nesusipratimų mylėtojus visada galima atpažinti iš to, kad jie baisiai pasipiktina, kai jų mylimą šūdkalbę kas nors pavadina šūdkalbe. Štai ir čia koks nors Ruby ar Python mylėtojas užsius dabar, nes pamatė savo mylimą kalbą visokių atliekų sąraše. O kokią nors Logo kalbą ir netgi Cobol pamatė sąraše normalių kalbų.
Pipedija jums viską paaiškina paprastai: kokios nors Logo kalbos kiekvienais metais mokyklose mokosi daugiau mokinukų, nei visų tų jūsų Python, Ruby, Haskell ir panašių šūdų išvis kada nors mokėsi žmonių per visą šitų kalbų istoriją kartu sudėjus. O kiek žmonių iki šiol programuoja Cobol, tai jums sunku tur būt įsivaizduoti, nes jūs netgi tokio skaičiaus raidžių nesate suvedę į savo programas, kiek tų Cobol programuotojų yra.
Ezoterinės programavimo kalbos
Dažniausiai ezoterinėmis programavimo kalbomis vadinama kas tik papuola, išskyrus bet kokią ezoteriką. Daugelis tų kalbų išties yra labai efektyvios, tačiau paprasčiausiai atrodo nesuprantamai tiems, kas nesusigaudo programavime ir dėl to mato tose programose kažkokius simbolių kratinius.
Kitais gi atvejais būna, kad ezoterinėmis kalbomis pradedami vadinti šposai, kur yra tiesiog smagiai pažaista su kažkokiomis visai įprastomis Algol tipo kalbų realizacijomis - kitaip tariant, jokios ezoterikos išties nei pėdsako nėra.
Dar kitais atvejais būna ir taip, kad kokie nors durniai prišika visokių kliedesių į kalbą, kur paskui jau interpretatorius visą tą šlamštą ima tiesiog filtruoti, o paskui tie durniai paskelbia, esą sukūrė kažką labai gudraus ir dvasingo. Tai čia išvis yra kažkokie kliedesiai.
Visgi retkarčiais pasitaiko ir išties įdomių programavimo koncepcijų, kurios vertos gilesnio panagrinėjimo, nes gerokai skiriasi nuo įprastinių, kaip pvz., tokia realiai nenormali APL kalba.
Menamai ezoterinės programavimo kalbos yra vat štai tokios:
- Brainfuck
- Ook!
- Piet
- Whitespace
- Lolcode
- Shakespeare
- Befunge
- Remorse
- False
- Whenever
- L33t
- Intercall
- Chef
- Malbolge
Dar aišku, kad ir kitų ezoterinių kalbų panašių yra, o ir asembleris yra visiškai ezoterinis, nes niekas jo negali suprasti, o jei jau supranta, tai atranda, kad nuo aukščiau minėtų ezoterinių kalbų išties nelabai ir tesiskiria, nes principai kažkokie tie patys.
Visokios netikros programavimo kalbos
Dar būna tokios programavimo kalbos, kad visiems lyg ir aišku, kad kažką anos lyg ir programuoja, bet jos netikros, nes nieko suprogramuoti jomis nesigauna, nes kažkaip nerealizuoja jos jokios logikos. Tai šitos dar būna kartais protokolais vadinamos arba šiaip kokiomis nors teksto formatavimo kalbomis. Vat pavyzdžiui tokios kalbos:
Kiti būna, kad neturi kaip apibrėžti skirtumo apie tai, kas ta programavimo kalba, nes nežino, kas ta Tiuringo mašina. Tai tokie būna, kad pradeda aiškinti, jog čia išvis nėra kokios nors kalbos. O dar kiti dėl tų pačių priežasčių ima aiškinti, kad ir koks nors JavaScript nėra programavimo kalba, ir PHP nėra programavimo kalba, ir netgi asembleris nėra programavimo kalba, o koks nors Pascal yra tiktai pusiau programavimo kalba. Tai čia mes patariame tokiems truputį pasimokyti daugiau.