Ielogoties Lai atbildētu tēmā, ielogojies !

Šodien paņēmu pāris stundas no darba nost, lai paskatītos Python un Ruby. Ir doma apgūt Ruby on Rails. Python īsti nepiesaistīja un Ruby vairāk pieslēdzos.

Tad nu tā.. ieteikumi iesācējam ar Ruby? Otra lieta ko saskatu par problēmu, kas bija ar Java ir - boolean operātori. Ir itkā saprašana par viņiem, bet tie ir tie, kas vienmēr tiek aizmirsti, arī Java. Un tad atliek pāris minūtes sēdēt, lai saprastu. Vai šo labo prakse un darīšana? Vai arī jāmet miers ja pat boolean neiet galvā?

Kā vienmēr sāku ar codeacademy

Esmu taisījis kaut kādus projektus skolai uz Ruby on Rails, nav nekāda vaina viņam, ir ļoti līdzīgs Django uz python. Vienīgais, ruby pats par sevi ir nedaudz smagāks. Daudz neesmu ņēmis, lai dotu kaut kādus pro tipus, bet pēc pieredzes, ja ņem tieši Rails, nāksies iegaumēt veselu kaudzi ar termināļa komandām, jo viss tiek ģenerēts caur konsoli.

Par boola operatoriem - pats boola datutips var sastāvēt tikai no divām vērtībām 0 vai 1 (false vai true). Tālāk, programmatūras zarojumos (if, switch), ciklos (while, for) u.tml. tiek veiktas pārbaudes pēc būla, kur vari pielietot būla operatorus un kabināt vairākas izteiksmes kopā izmantojot, galvenokārt šos operatorus:

  1. Operators UN - ( a && b ), šī izteiksme atgriezīs TRUE, ja abi mainīgie A un B būs TRUE;
  2. Operators VAI - ( a || b ), šī izteiksme atgriezīs TRUE, ja viens no mainīgajiem A vai B būs TRUE;
  3. Operators NOT - (!a), atgriezīs TRUE, ja mainīgais A ir FALSE;
  4. Operators EQUALS - ( a == b ), atgriezīs TRUE, ja abi mainīgie ir vienādi;
  5. Operators NOT EQUAL - ( a != b ) - agriezīs TRUE, ja mainīgie nav vienādi;
  6. Operators Greater Than ( a > b ) - TRUE, ja mainīgais A ir lielāks par B
  7. Operators Greater or Equal Than ( a >= b ) - TRUE, ja mainīgais A ir lielāks vai vienāds par B
  8. Operators Less Than ( a < b ) - TRUE, ja mainīgais A ir mazāks par B
  9. Operators Less or Equal Than ( a <= b ) - TRUE, ja mainīgais A ir mazāks vai vienāds par B

Nepiesaistīju operatorus pie konkrētas valodas, viņi var atšķirties, piemēram, NOT EQUAL C++ valodā būs "!=", bet BASIC būs "<>", kā arī C++ valodā EQUALS operators - "==", bet PASCAL ir vienkārši "=". Dažās valodās AND un OR operatori rakstāmi vārdiem, tāpēc jāskatās katrai valodai individuāli pierakstu, bet doma visām viena un tā pati.

Ierakstu labojaDeiveris11.Decembris 2015 10:10

Jā, šādi viņus uzliekot protams ir skaidrs, bet piemēram šādā brīdī:

boolean_1 = (3 < 4 || false) && (false || true)

boolean_1 = true

boolean_2 = !true && (!true || 100 != 5**2)

boolean_2 = false

boolean_3 = true || !(true || false)

boolean_3 = true

Liekas, ka priekšā ir ķīnas mūris.

Jā,viņš ir līdzīgs django. Skatījos arī uz django, bet ruby piesaistīja vairāk.

Ierakstu labojaRinalds11.Decembris 2015 11:30

Nav tik briesmīgi, visa sāls ir iekavās, jāpasēž nedaudz un jāpapēta.

boolean_1 = (3 < 4 || false) && (false || true) = (true || false) && (false || true) = true && true = true

Manuprat valoda jāizvēlas no projekta mērķa. Jo atceries ka Ruby ēd daudz vairāk resursus nekā python

Manuprat valoda jāizvēlas no projekta mērķa. Jo atceries ka Ruby ēd daudz vairāk resursus nekā python

What? Avots? Pēdējos testos, kurus es redzēju viņiem resursu patēriņš īpaši neatšķirās.

What? Avots? Pēdējos testos, kurus es redzēju viņiem resursu patēriņš īpaši neatšķirās.

Agrāk tā bija, ka Ruby bija diezgan zemu grafikos, tagad jau vertexis ikdienā Javā sēž.

Cik lasu, tad tagad ātruma ziņā, kas savā ziņā arī ir saistīts ar resursu patēriņu, visvisādos testos Ruby pārspēj python, piemēram ģenētiskajos algoritmos, prime number testos u.tml. : https://bjpelc.wordpress.com/2015/01/10/yet-another-language-speed-test-counting-primes-c-c-java-javascript-php-python-and-ruby-2/

Bet ir nozīmīgs aspekts, kāpēc šie mērījumi, vismaz web developmentā nav jaņem par pilnu:

Reālās dzīves aplikācijām lielākoties lietosi datubāzes un par cik ruby ir (Problem sadaļa):

http://blog.parse.com/learn/how-we-moved-our-api-from-ruby-to-go-and-saved-our-sanity/

Respektīvi, benchmarkos tiek mērīta tīra komputācijas jauda, neatradu tiešu salīdzinājumu starp python vs ruby ar vienu un to pašu testu laistu ar vienu testu, kas ir ar datubāzēm.

Teiktu, ka īpaši nozīmes nav, kādā valodā raksti, ja vien tas nav saistīts ar smalkām datu analīzēm un projekts nekļūst komplicēts, tad visticamāk vēlēsies izvēlēties tieši Python, jo tas tiek plaši izmantots akadēmiskajos laukos un ir pieejams liels klāsts bibliotēku datu analīzes algoritmiem.

Ierakstu labojaDeiveris12.Decembris 2015 20:05

Manuprat valoda jāizvēlas no projekta mērķa. Jo atceries ka Ruby ēd daudz vairāk resursus nekā python

What? Avots? Pēdējos testos, kurus es redzēju viņiem resursu patēriņš īpaši neatšķirās.

Pēdejo reizi, kad pirms +/- gada strādāju ar ruby, tas bija reāls issue, jo ram vajadzēja daudz vairāk līdz pārgajām uz python / django

OK. Tātad plānā tagad pabeigt CodeA kursu ruby un ruby on rails. Tad paspēlēties ar kādu reālu projektu un saprast pašam. Līdzko vienam pamatam beidzot būšu izgājis cauri tā citiem pieslēgties būs vieglāk.

Kā jau minēju, sāku ar python, bet ruby piesaistīja vairāk.

Ielogoties Lai atbildētu tēmā, ielogojies !
Atpakaļ uz augšu Tēmai ir 8 atbildes  •  Kopumā lasīta 1040 reizes