Az életkor az int vagy byte?
Amúgy, itt az indok, a teljesség igénye nélkül.
Az erőforrások arra valók, hogy használjuk és nem arra, hogy pazaroljuk őket. Van ma már számos olyan weboldal, aminek a napi látogatottsága lazán meghaladja Magyarország lélekszámát, ami alulról döngeti a tíz millát.
Ha valamihez elég n-szer egy bájt tárigény, akkor nyilvánvaló, csak csimbókos barmok foglalnak n^2, n^4-szer annyi bájt tárterületet. Már elég rég óta jellemzője a számítógépes rendszereknek a multitaszk, tehát, hogy egynél több programot futtat a gép. Erőforrásigényük meg azoknak a más, a mienkkel párhuzamosan futó programoknak is vannak. Ráadásul, soha nem tudható előre, hogy mekkora is lesz az az elkivánt erőforrásigény. Ezért is használunk belőle annyit, amennyi feltétlenül szükséges. A számítógép pénzbe kerül. A memória szintén és az üzemben tartása is költségtényező. Aki így szocializálódik ahogy te, az később is hajlamos lesz ezt a fasz, ostoba, értelmetlen gyakorlatot folytatni. Na, éppen ezért, ezeket szokták elsőnek kibaszni egy munkahelyről, ha megtörténne, hogy nem figyelne valaki oda és véletlenül felvételt nyernének valahova. Hát, téged ez a veszély nem fenyeget.
Olyan ordítóan undorító tapló vagy, hogy akkor is le fog pontozni mindenki, ha véletlenül részben igazad van.
A jövődre vonatkozóan javaslom - ha netán valaha dolgoznál emberi lénnyel majd - hogy vegyél vissza az arcodból, mielőtt valaki átrendezi majd egy klaviatúrával.
Attól függ, hogy hogyan akarod reprezentálni az életkort.
Ha olyat is akarsz mondani, hogy mondjuk “öt és fél éves” vagy “öt éves és 2 hónapos”, akkor nem elég az egész (integer) típus. Hanem akkor vagy kell egy int az évnek és egy int a hónapnak, vagy egy float az egésznek (csak akkor nehezebb kezelni, mert a 9 hónapos 0.75-té válik stb.).
Rendes esetben a nyelvnek van dátum adattípusa (pl. datetime), és a dátum típusú adatokat ennek a leszármazottaiban tartjuk.
De egy egyszerű programban int-ben tarthatod.
Öreg, ezt te írtad, nem én:
"Értem én, hogy ezt végig lehet gondolni és a byte egy pont optimális dolog, ha az emberi életkort akarod eltárolni, de én rohadtul kiröhögném azt a való életben, aki nem egy int változóba tenné ezt az információt."
Most meg vinnyogsz itt, csak mert valaki rámutatott arra, hogy mekkora nagy pofájú birka vagy. Írsz valami birkaságot, nagy hangon még te vársz magyarázatot, bizonyítást attól aki figyelmeztet. Hát te mi a sz_art bizonyítottál, tulok? Azon túl, hogy megtudtuk, mekkora segg_fej vagy, a világon semmit.
És még te ugatsz itt arról, hogy undorító vagyok. Akkor te mi a fasz_nak érzed magad, ostoba sz_arjankó?
Így folytatod:
"Másra nem lenne jó ez az egész varázslás, mint hogy x év múlva 1 percre megakasszad azt az utódodat, aki épp a kódodat túrja."
Nem, éppen az a szükségességen túl a másik ok, amiért mindig megfelelő változótipust választunk, hogy ne higgyenek bennünket kontárnak olyanok, akik revizionálják, vagy kiegészítik a munkánkat.
Kedves Vitatkozók
Vannak esetek, amikor meg kell gondolni, hogy egy értéket int, byte vagy shorword változóba teszek-e, de olyan is van, amikor teljes árlistákat olvasok be a memóriába és a futási idő, nem a memóriahasználat a minőségi szempont. (félreértés ne essen a futási idő addig érdekes, hogy 30 perc van egy árlista feldolgozásra, a valós futási idő pár vagy pár 10 másodperc)
Sok esetben merül fel, hogy adott esetben a programot kel optimalizálni, vagy venni egy jobb számítógépet. Ez egy egyszerű pénzügyi kérdés:
Kérsz a programozódtól egy ajánlatot, hogy a program ki tudjon szolgálni x emberrel többet
Kérsz a hardveredtől egy erősebb szerverre ajánlatot.
A kettőt összeveted és döntesz.
Az én tapasztalatom (ha nem saját hobbi program volt), hogy jelentősen gyakrabban vezet eredményre a szerver bővítés, mint a program optimalizálása, de én speciális körben mozgok, ügyviteli programokat üzemeltetek, illetve írok olyan "szatelit" progikat, ami az ügyviteli program gyártója nem tud, vagy akar megcsinálni. (spéci kimutatások, árlisták konvertálása, hogy könnyű legyen beolvasni, hasonlók)
Amiről te beszélsz, az szintén nem túl szakmai ízű megközelítés. Eleve, nagyon fura lépés, ha a megrendelővel vásároltatok vasat az általa rendelt szoftverhez.
Pláne, hogy adott esetben a vasak nem olcsó desktop lim-lomok, hanem nagyon drága, 10+ év alatt is nehezen amortizálható szerverek.
Az erforrásokkal - ilyen pl. a CPU, a RAM - való felelős gazdálkodás egy olyan alap tézis, amitől nagyon ritkán, indokolt esetben térhet el az, aki szoftvert fejleszt.
Ilyen eset lehet az, ha gyenge processzoron kell valós időben adatot feldolgoznia. Legyen a proci 32 bites. Ekkor jön az a lépés, amire te utalsz, hogy a, mondjuk 4,8,16 bit helyigényű adat 32 biten kerül feldolgozásra, mert a processzor a maga szóhosszán (ennek a neve a gépi szó) a leggyorsabb.
Az ehhez hasonló helyzeteken kívül mindig az a követendő, ami a gyakorlat is, megfelelő adatnak a megfelelő, tehát a szükségesnél nem több tármennyiséget kell biztosítani. Aki ettől eltér, az saját magát járatja le, nem csak szakmabeli, de akár a megrendelő előtt is.
A másik probléma, hogy nem csak PC létezik, vannak más processzorok is, ahol a bővítés vagy nagyon nehézkes lenne, vagy egyenesen lehetetlen. Furcsa lenne egy mosógép, kávéfőző hűtő, TV, vagy router firmware-énél RAM bővítésre apellálni a fejlesztés során. Ez nonszensz.
38. Te vagy végtelenül igénytelen és ostoba.
8 biten csak 255 évet tudnál tárolni, míg simán lehet valaki idősebb, például egy ős fa, vagy filmszereplők közül Yoda mester. Ha ilyenre is akarja használni, akkor definiáljon ehhez új típust?
A 7.5 évest hogy ábrázolod 8 biten?
Ehhez a slendriánságodhoz képest már teljesen mindegy, hogy egy iskolai feladatban int-en tárol valamit.
37, a program összetettsége itt nem jut szerephez. Van egy gyakorlat, ami megfelelő és követendő. Nem látom be, hogy ezt miért negligálná bárki is? Mi haszna lenne ebből?
Otthon pistike bármit megtehet. Akár a fürdőköpenyét is magára gyújthatja. De más az, ha valaki kenyérkeresőként műveli ezt a dolgot. Ott már van felelősség és a gond az, hogy a dupla, négyszeres tárigény nem csak az operatív tárnál, hanem a háttértárnál is jelentkezni fog.
Mellékszál, de a BYTE mint fogalom, lehet adattípus neve is és kiterjesztett értelemben 8 bit-nyi információ is.
Az INT mint fogalom, lehet gyakorlatilag 8,16,32,64,128, ... bit-nyi információ, feltéve, hogy az információ tartalmilag egész számot ír le.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!