Silver Bullet

Message
Author
bubu
Guru
Guru
Posts: 398
Joined: 07 Dec 2010, 11:54

Re: Silver Bullet

#31 Post by bubu » 07 Feb 2012, 00:09

douche wrote:Viņš varēja savu spēli uzrakstīt kkādā 70 gadu quick basic stilā:

Code: Select all

5 LET S = 0
10 MAT INPUT V
20 LET N = NUM
30 IF N = 0 THEN 99
40 FOR I = 1 TO N
45 LET S = S + V(I)
50 NEXT I
60 PRINT S/N
70 GO TO 5
99 END
Šis kods ir pārāks par sneika C++ kodu, jo tas ir
a) daudz lasāmāks, nav nekādas bezjēdzības, kā savi tipi, izgudrotas
b) beisika common-sense standartiem atbilstošs

Es nesaprotu kāpēc visi to saprot kā kautko sliktu, ko mēs sakam sneikam. Mēs jau tikai viņam sakam kā uzlabot kodu. Kā to rakstīt tā, lai viņš būtu labāks programmētājs. Problēma jau tāda, ka viņš neklausās. Jau kuro gadu pēc kārtas.

snake5
Posts: 361
Joined: 07 Dec 2010, 03:54
Contact:

Re: Silver Bullet

#32 Post by snake5 » 07 Feb 2012, 07:38

Tā saucas stāstīšana, kā rakstīt labāku kodu? T.i...
* bļaut, ka savs boolean tips ir slikti (kaut arī neviens nav pateicis kāpēc), ka nav saprotams (kaut arī perfekti sapratāt visu no paša sākuma), ka neviens tā nedara (praktiski jebkuram dzinējam ir definēti savi tipi).
* bļaut par īpaši primitīvo goto lietojumu (manās acīs exceptioni, kuri var tikt izmesti dažādās formās un vietās, ir daudz murgaināka konstrukcija, pat ja tos lieto "pareizi"), kas tika pamatots ar "negribu saprast, tātad slikti".
* slavēt kaut kādus mistiskus "standartus", kārtīgi nemaz nepieminot, kas tajos ir un kas nav iekļauts.
* nesaskatot neko labu šajā kodā, tā vietā uzēdoties uz (lol!) boolean tipa (un man vēl likās, ka es mēdzu būt sīkumains)...

Vēl tā sapratu, ka neviens no programmēšanas ekspertiem šeit neņēma vērā to, ka pilnībā apzinos, ka ar kodu strādāju viens. Tas pilnībā izskaidrotu, kāpēc jums goto tā nepatika. Bet pat tad, kad es izskaidroju šo goto jēgu, nespēja paskatīties no manas puses un turpināt bļaut vienu un to pašu neizskatās nopietni.

Citiem vārdiem sakot, turpini stāstīt šādā garā un neviens neklausīsies.

snauts
Posts: 63
Joined: 30 Mar 2011, 11:15

Re: Silver Bullet

#33 Post by snauts » 07 Feb 2012, 09:26

snake5 wrote:* nesaskatot neko labu šajā kodā...
<bez sarkasma>
Kas tavuprāt ir labs tavā kodā? Kas tavā kodā kādam varētu būt noderīgs?
</bez sarkasma>

bubu
Guru
Guru
Posts: 398
Joined: 07 Dec 2010, 11:54

Re: Silver Bullet

#34 Post by bubu » 07 Feb 2012, 09:32

Man jau likās ka ar tevi savādāk nav vērts runāt... Spilgtākais piemērs - vektoru mērīšanas topiku. Tu tikai mali vienu un to pašu, vien un to pašu. Bet es tev reizes piecas, ja ne sešas pēc kārtas ar reāliem faktiem un visu pierādījumu atspēkoju tevi. No tevis tādus faktus ne reizi neesmu sagaidījis. Vienīgais, ko no tevis dzird ir - tas ko visi citi dara ir pilnīgi nepareizi, tā nav jādara, pats visu zinu vislabāk un visi citi (pat ar nopietnu >10 gadu programmēšanas pieredzi) neko nemāk. Pirms saki, ka tevi neklausās, paskaties vispirms uz sevi. Kā tu pret citiem attieksies - tā pret tevi citi attieksies. Un kā jau atis saka, ja vairāki cilvēki saka, ka tavs kods nav labs.. tad varbūt tas tomēr nav labs?

1) savus ievbūvēto tipu aizstājējus ieviest apgrūtina koda uztveri - katru reizi jāpielāgojas cita cilvēka stilam. Iesācējiem tas nav viegli un viņiem tas nav vajadzīgs. Šis kā nekā ir iesācēju forums, ne? Un tas ka "jebkuram dzinējam ir definēti savi tipi" ir jocīgs arguments no tevis, jo tu tai pat laikā saki, ka darīt kā visi citi ir slikti un tu dari labāk. Lielie dzinēji lieto savus tipus, jo tie ir paredzēti vecām konsolēm, kurās C++ kompilētāji atpaliek par gadiem 5, ja ne visiem 10, no desktopa. Tur ir visādas figņas, kuras vienkāršāk apiet visu pārdefinējot. Un kurš indie developers raksta C++ kodu no 0 vecām spēļu konsolēm?

2) Kas vainas exceptioniem? Tie ievēro korektumu. Tie ievēro atmiņas stāvokli. Tie ievēro objektu stāvokli. Ja notiek fatāla kļūda ir tikai normāli padoties un izmest exceptionu. Protams, meņu apstrādei exceptionus lietot ir dumi. Neviens tos tev nespiež lietot. Bet tādās vietās lietot tagad goto? Goto šeit (runājot par tavu konkrēto pielietojamu) rada grūti saprotamu kodu. Ieraugot labeli ir jāsāk domāt - no kurienes te var atnākt. Kādos stāvokļos ir augstāk scope esošie objekti. Vai tie ir vispār valīdā stāvoklī? Kas notiks (ar destruktoriem) izejot no tekošā scope, ja uz šejieni ir atnākts ar goto? Paskaties uz bildi no lielāka attāluma.

C++ lielā jēga jau ir tipu korektums un atmiņas (u.c. objektu ārēja stāvokļa) korektums. Ka to nevar sabojāt. Sākot lietot spageti-style goto un citas mistikainas lietas tu visu šo pārākumu pār C pazaudē. Kāda jēga tad vairs no C++? Raksti C (vai labāk C99) un kods būs daudz saprotamāks un uztverams.

3) Vajag lasīt starp rindiņām, un palasīt kautvai grāmatas (Bjarne Straustrup, Herb Sutter, Andrei Alexandrescu, Scott Mayers). Tajās viss tas ir.

Ar kodu tu strādā viens? A kur tad dižā lielīšanās par koda rakstīšanu "profesionāli" un par citu nesūdzēšanos? Īsti profesionāli tu sāksi rakstīt kodu tikai komandā. Sadarbojoties tikai ar sevi vien tu ieciklēsies un tikai brīnīsies par to, ko citi tev saka. Kodu raksta par 99% lai cilvēks varētu lasīt un saprast. Ja ne tu, tad arī citi - ja jau gribi padalīties ar kodu.
Last edited by bubu on 08 Feb 2012, 03:15, edited 1 time in total.

snake5
Posts: 361
Joined: 07 Dec 2010, 03:54
Contact:

Re: Silver Bullet

#35 Post by snake5 » 07 Feb 2012, 10:08

- Kas tavā kodā kādam varētu būt noderīgs?
Atkarīgs no tā, ko kurš ir redzējis.

- katru reizi jāpielāgojas cita cilvēka stilam
Un tas nebūtu jādara jebkurā gadījumā? Viena no mana darba īpatnībām ir tāda, ka man jāprot lasīt praktiski jebkādā stilā rakstīts kods. Ja tas šķiet pārāk biedējoši, iesaku pamest programmētāja darbu un pamēģināt profesora darbu.
- Šis kā nekā ir iesācēju forums, ne?
Iesācējiem ir viena sadaļa.
- jo tu tai pat laikā saki, ka darīt kā visi citi ir slikti un tu dari labāk
Nē, es saku, ka akli sekot kaut kādiem mistiskiem "standartiem" ir bezjēdzīgi.
- Lielie dzinēji lieto savus tipus, jo tie ir paredzēti vecām konsolēm
Ne tikai. Tipus ar konkrētu izmēru sadefinēt noder jebkurā gadījumā (lai nebūtu šaubu par to, cik daudz vietas tips aizņems). Pārējo var lietot konsistences pēc.
- Kas vainas exceptioniem?
Es jau teicu - nav vienmēr skaidrs, kur un kādi exceptioni tiks izmesti. Ja nepiekrīti, pamēģini pats saprast to no viena paša funkcijas izsaukuma.
- Kādos stāvokļos ir augstāk scope esošie objekti. ... Kas notiks (ar destruktoriem) izejot no tekošā scope, ja uz šejieni ir atnākts ar goto?
Ja tu būtu kārtīgi apskatījies kodu, redzētu, ka neviens no šiem jautājumiem te nav jāuzdod. Ne destruktori tiek aiztikti, objektu stāvoklis arī skaidrs.
- Kāda jēga tad vairs no C++?
Templates, operatori.
- Vajag lasīt starp rindiņām, un palasīt kautvai grāmatas (Bjarne Straustrup, Herb Sutter, Andrei Alexandrescu).
Bībeles fani arī saka, ka vajag lasīt starp rindiņām. Traki cilvēki. Bet tās grāmatas apskatīšos, varbūt būs kaut kas vērtīgs.

snauts
Posts: 63
Joined: 30 Mar 2011, 11:15

Re: Silver Bullet

#36 Post by snauts » 07 Feb 2012, 10:56

snake5 wrote:- Kas tavā kodā kādam varētu būt noderīgs?
Atkarīgs no tā, ko kurš ir redzējis.
Tā ir izvairīšanās no atbildes.

snake5
Posts: 361
Joined: 07 Dec 2010, 03:54
Contact:

Re: Silver Bullet

#37 Post by snake5 » 07 Feb 2012, 11:06

Nē, tā ir izvairīšanās no jautājuma, pēc kura, neatkarīgi no atbildes, saņemtu "kuram tad to vajag?" vai tml. pretjautājumu. It īpaši ņemot vērā to faktu, ka pats neko noderīgu kodā nesaskatīji. Ja neievēroji tādas lietas kā fullscreen trijstūri, īpaši minimālistiskās particle sistēmas, fake AO lightmap'u ģeneratoru, layered sine noise ģeneratoru, tad šaubos, vai jebkādā veidā tev varu palīdzēt.

snauts
Posts: 63
Joined: 30 Mar 2011, 11:15

Re: Silver Bullet

#38 Post by snauts » 07 Feb 2012, 11:13

snake5 wrote:minimālistiskās particle sistēmas

Code: Select all

arturs@chestnut:~/Downloads/sb-source$ ls -l
total 92
-rw-rw-r-- 1 arturs arturs  5427 Feb  5 10:50 SBCore.cpp
-rw-rw-r-- 1 arturs arturs  1397 Feb  4 10:50 SBCore.h
-rw-rw-r-- 1 arturs arturs  2535 Feb  5 10:51 SBEntities.h
-rw-rw-r-- 1 arturs arturs  7423 Feb  5 10:53 SBGame.cpp
-rw-rw-r-- 1 arturs arturs   735 Feb  3 08:27 SBGame.h
-rw-rw-r-- 1 arturs arturs 33216 Feb  5 10:51 SBLevel.cpp
-rw-rw-r-- 1 arturs arturs  1354 Feb  5 10:51 SBLevel.h
-rw-rw-r-- 1 arturs arturs  1397 Feb  4 17:45 SBMain.cpp
-rw-rw-r-- 1 arturs arturs 17196 Feb  6 10:55 sb-source.zip
arturs@chestnut:~/Downloads/sb-source$ grep particle * -ri
arturs@chestnut:~/Downloads/sb-source$
minimālistiskas indeed

snake5
Posts: 361
Joined: 07 Dec 2010, 03:54
Contact:

Re: Silver Bullet

#39 Post by snake5 » 07 Feb 2012, 11:22

SBSparkFX, SBExplodeFX. Nevajag ākstīties.

snauts
Posts: 63
Joined: 30 Mar 2011, 11:15

Re: Silver Bullet

#40 Post by snauts » 07 Feb 2012, 11:27

snake5 wrote:SBSparkFX, SBExplodeFX. Nevajag ākstīties.
Nu un ja tagad es gribētu to izmantot? Man vajadzētu pārrakstīt to kodu vai arī definēt visus tavus tipus sākot ar UBOOL. How great is that?

Post Reply

Return to “Dalībnieki”