Új hozzászólás Aktív témák
-
floatr
veterán
válasz bucsupeti #6549 üzenetére
Minimum egy i5-ös, 8+GB RAM, egy jobb intel integrált video és 6+ cellás akku. Ez eléggé energiatakarékos is, hogy kábel nélkül pár órát tudd használni. SSD-ről nem tudok nyilatkozni, de kicsit még tartok az élettartamától -- nagyobb rendszerek, alkalmazásszerverek esetén jól jöhet
-
nagyúr
válasz beleszólok #6550 üzenetére
> RAM-ból 16G azt hiszem, mostanság már majdhogynem alap.
Ja, csak a nyomorult gyartok nem raknak ennyit a gepekbe.
while (!sleep) sheep++;
-
Jim-Y
veterán
Én most vettem a laptopomba + memóriát 4 > 8, illetve a HDD-t kicseréltem SSD-re, és nagyon megköszönte a rendszer. Linuxot használok és itt is baromi látványos lett a javulás. Én az élettartamtól nem tartok..addig bőven nem tervezem használni a gépet, mire bemondaná az unalmast. Pedig most minden SSD-n van, nem csak a rendszer
-
zserrbo
aktív tag
A panem kiadónak black friday akciója van csak ma.
Java tantusz 1850 (50% kedv)
+ még néhány könyv féláras, főleg Tantuszos. -
beleszólok
senior tag
Lehet, hogy csak akartam kérdezni, de végül nem tettem meg? Pedig úgy rémlik, a napokban kérdeztem ilyet: javaban a dinamikus tömb fogalma nem létező dolog?
Azt tudom, hogy vannak mindenféle listák és hasonlók, de úgy tűnik, ezek elemeire nem lehet index-szel hivatkozni, get/set metódusok és hasonlók állnak csak rendelkezésre, a tömbök meg fix méretűként viselkednek.
Ezt jól látom vagy valamit elnéztem?Tiszavirág: http://youtu.be/YdcsiW0kfso
-
WonderCSabo
félisten
válasz beleszólok #6558 üzenetére
Javában egy féle tömb van:
String[] array = new String[20]
Ennek futásidőben lehet méretet adni, szóval a C++ -os dinamikus memória lefoglalású tömbbel analóg. Ennek a mérete fix, és van indexelő operátora. Vannak osztályok, amik ezt a tömböt felhasználva változtatható méretű listát implementálnak, pl. ilyen az ArrayList. Valóban csak metódusokkal lehet elérni az elemeit, de ennek az oka alapvetően az, hogy Javában nincs operátortúlterhelés.
-
beleszólok
senior tag
válasz WonderCSabo #6559 üzenetére
Hát én python felől közelítem meg a témát, C++ nem mond sokat, de akkor szomorúan tudomásul veszem, hogy ez ilyen.
Tankjú.off: néha elgondolkodom rajta, hogy a scala miért nem terjedt el a java mellett...
[ Szerkesztve ]
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
WonderCSabo
félisten
válasz beleszólok #6560 üzenetére
Igen, pythonban is van operátortúlterhelés. Javában nincs, hogy miért az itt olvasható. A Java kritikájának egyik első eleme az operátortúlterhelés hiánya.
-
nagyúr
válasz WonderCSabo #6561 üzenetére
Egy a keves jo design döntés közül (aki CPPben jaratos,az tudja, mirol beszelek...) Operator overloading + implicit konverziók = katasztrófa..
while (!sleep) sheep++;
-
beleszólok
senior tag
válasz WonderCSabo #6561 üzenetére
"closed as not constructive "
Ettől megyek a falnak, ha a stackoverflow szóba kerül...
Érdekes téma, értelmes társalgás, de "not constructive"Tiszavirág: http://youtu.be/YdcsiW0kfso
-
nagyúr
válasz beleszólok #6560 üzenetére
A Scala sokkal fiatalabb nyelv. Egyébként terjed rendesen, a pénzügyi szférában már tolják rendesen. A compiler elég lassú még, a nyelv meg eleg nagy (komplex).
while (!sleep) sheep++;
-
nagyúr
válasz beleszólok #6560 üzenetére
Az ArrayList az pont az, mint amit a dynamic array Pythonban, szoval ne szomorkodj tul sokat. Ugyanugy amortizalt O(1) az append, O(N) az insert, es O(1) az index..
[ Szerkesztve ]
while (!sleep) sheep++;
-
Jim-Y
veterán
válasz beleszólok #6563 üzenetére
A stack szerintem alapvetően arra jó, hogy ha valahol elakadsz, akkor több mint valószínű, hogy találsz rá megoldást az oldalon, de ha csak + információt szeretnél felvenni, akkor nem a megfelelő platform. Pont amiatt amit írtál. Én ha bővíteni szeretném a spektrumom, akkor redditre és twiterre járok, itt megnyitom az érdekes linkeket és ezek alatt sokszor lehet is beszélgetni a kommentekben, és nem zárják be azzal, hogy offtopik
-
beleszólok
senior tag
Tudom, csak bosszantó, hogy ott van a rengeteg jó szakember egy tömegben és nem hagyják őket érvényesülni ezzel a ... nevezzem kicsinyesnek? ... hozzáállással. A lapcsalád rengeteg oldala közt talán elfért volna egy-két beszélgetős fórum is. Na mindegy, nem az enyém, csak mindig felmegy a vérnyomásom, mikor ilyet látok.
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
M_AND_Ms
addikt
válasz beleszólok #6568 üzenetére
Csak a stackoverflow-nak nem ez célja. Problémákra a megoldást hozza, nem pedig a terjedelmes elméleti fejtegetéseket.
[ Szerkesztve ]
Aki tejszínhabot szeretne, az inkább verje ki a fejéből!
-
floatr
veterán
válasz beleszólok #6566 üzenetére
Ez is csak szépészeti beavatkozás lenne, hogy operátor vagy metódus. Az mondjuk tény, hogy c++ alatt ott kezdődik a probléma, hogy a new is operátor, amit át lehet definiálni. Mondjuk én nem kuporodtam miatta sírva a sarokba, mert a java-féle heap-kezelést lehetett vele utánozni osztály - pointer osztály párosokkal, de részletkérdés, hogy a[5] vagy a.get(5). Iterátorokat többet használja az ember, nekem sem rémlik h mikor címeztem direktbe pozíciót utoljára.
-
Aethelstone
addikt
válasz beleszólok #6566 üzenetére
Nem összehasonlítható. Az egyik tömb, a másik pedig egy collection egy elemére hivatkozás. Teljesen más tészta a két történet.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
WonderCSabo
félisten
válasz Aethelstone #6571 üzenetére
De, jogos az összehasonlítás, mert azokban a nyelvekben, ahol van operátortúlterhelés (pl. python, C++), ott a collection osztályoknál és indexelő operátort használnak. Ezt hiányolja beleszólok.
[ Szerkesztve ]
-
Aethelstone
addikt
válasz WonderCSabo #6572 üzenetére
Az a helyzet, hogy kissé már unom ezt a "nyavalygást", ami itt egyesek részéről az utóbbi időben itt felmerült. Miért nincs operator overload, miért nincs lambda, miért van null és társai. Annak idején talán én írtam pár mondatot arról, hogy nem túl jó ötlet, hogy más programnyelvek "okosságait" próbálják beépíteni a Java-ba kontroll nélkül, mert a felhasználók nyavalyognak. Megnézik a Pythont, a JS-t, a Perlt, a C#-t és jaj de jó lenne, ha lenne...közben meg a nyelv eredeti logikájához semmi köze. Legutolsó kedvencem a default implementációk interfészben...de erről is már volt vita errefelé
Emberek, this is Sparta (this is Java)!! Kedvenc C++ tanáromtól annak idején megkérdeztem, hogy van-e nyelvi támogatás a C++-ban a közvetlen ősre(super vagy parent). Azt mondta, hogy nincs, de a C#-ben van. Ha kell, akkor használjam azt. Ennyi.
Nah zártam a mai dühöngésemet
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
Aethelstone
addikt
válasz Aethelstone #6573 üzenetére
Plusz az a tapasztalatom, hogy a Java(egyéb nyelvek) fejlesztői nagyon sok esetben nincsenek teljesen tisztában a nyelv adta lehetőségekkel, hanem ahelyett, hogy ezen hiányosságaikat pótolnák, nyavalyognak, hogy miért nincs ez meg az a nyelvben, jóllehet ha nem is pontosan úgy, ahogy elképzelik, benne van, max. használni kellene pár design patternt, meg fantázia meg RTFM!
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
beleszólok
senior tag
válasz Aethelstone #6574 üzenetére
Lásd lambda hiánya, mint egyetlen példa...
Hány éven át sírt miatta a sok tudatlan?
(ha jól rémlik, a 7-es vagy 8-as talán már tud ilyet is)Tiszavirág: http://youtu.be/YdcsiW0kfso
-
WonderCSabo
félisten
válasz Aethelstone #6573 üzenetére
Én csak azt akartam mondani, hogy a párhuzam korrekt volt...
-
beleszólok
senior tag
válasz WonderCSabo #6576 üzenetére
Az a baj, hogy nem igazán arra gondoltam, amit írtál.
Lehet, hogy a nyelvek oldaláról ez a helyzet, viszont engem pusztán az zavar, hogy nincs olyan tömb, amihez utólag, másolás nélkül tudnék hozzáadni újabb elemeket. Kicsit a "kőkorban" érzem magam miatta, amikor még PL/I-ben, Clipperben programozgattam.
Az egyéb objektum típusok más kategóriába tartoznak.
Persze nem lenne rossz, ha pl. egy ListArray elemeit is lehetne indexelni (mégiscsak rövidebb a [...] hivatkozást leírni, mint a .get(...)-t), de azért ez mégis másik történet.Tiszavirág: http://youtu.be/YdcsiW0kfso
-
WonderCSabo
félisten
válasz beleszólok #6577 üzenetére
viszont engem pusztán az zavar, hogy nincs olyan tömb, amihez utólag, másolás nélkül tudnék hozzáadni újabb elemeket
Én ezt most már nem értem...
Egyébként meg ArrayList és nem ListArray.
-
beleszólok
senior tag
válasz WonderCSabo #6578 üzenetére
Hm. Lehet...
Nem vagyok igazán java-s.Kicsit hosszú lenne itt részletezni (mást ne mondjak: tömböt gyárthatok elemi típusokból is, egyebeket csak objektumokból)
Tiszavirág: http://youtu.be/YdcsiW0kfso
-
floatr
veterán
válasz beleszólok #6577 üzenetére
Amit nem látsz más nyelvekben az az, hogy hogyan van ténylegesen implementálva a "tömb". Javaban az ArrayList és tsai alacsony szintig követhetően implementált dinamikus tömb. Hogy most beírhatsz-e olyat, hogy list[2578] = "foo"; az egy dolog, a hátterében működhet sokminden:
-- pl operátor overloading, ami egy saját metódust hív, amikor [] operátort talál
-- egy automatikus memóriafoglalás a háttérben 2578 + buffer méretig
-- máshol egy hash-alapú map jön létreEz az egész rajtad áll vagy bukik, de elvárni sok automatizmust a nyelvtől azt fogja eredményezni, hogy vagy a fordító, vagy a végrehajtás lassú lesz. Az meg a másik, hogy sok értelmét nem látom egy ilyen műveletnek, bár lehetnek specifikus esetek nyilván; ide specifikus ötletek kellenek, pl. treemap.
-
Aethelstone
addikt
válasz WonderCSabo #6576 üzenetére
Persze, értem én, de egy kicsit továbbgondoltam. Azért írtam, hogy dühöngés
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
Aethelstone
addikt
válasz beleszólok #6577 üzenetére
Kicsit a "kőkorban" érzem magam miatta, amikor még PL/I-ben, Clipperben programozgattam.
Rossz a megközelítés. Akkor lennél a kőkorban, ha a tömböt hákolták volna meg dinamikussá. Egészen egyszerűen újabb adattípusokat vezettek be, amik már máshogy kezelendpk, mint a tömb. Ennyi.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
WonderCSabo
félisten
válasz beleszólok #6579 üzenetére
Kicsit hosszú lenne itt részletezni (mást ne mondjak: tömböt gyárthatok elemi típusokból is, egyebeket csak objektumokból)
Fú, ne keverjük a szezont a fazonnal. Ennek a dolognak, amit említettél, nem sok köze van magához a listához és a tömbhöz, ez a Java (nagyon sokak szerint elcseszett) generikus működése miatt van.
Egyébként a python list, és a Java ArrayList ugyanaz, csak más szintaktikával tudod elérni a műveleteit.
-
Aethelstone
addikt
válasz WonderCSabo #6583 üzenetére
Nem elcseszett az, hanem egyszerűen csak sajátos. Nyilván a c++ template-hez hasonlítják sokan, de ez nem az.
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
nagyúr
válasz Aethelstone #6584 üzenetére
Azert az, hogy runtime nem elerheto a tipusinformacio, nem annyira kenyelmes... meg ugye a boxing...
while (!sleep) sheep++;
-
nagyúr
válasz Aethelstone #6586 üzenetére
Mint a ... ? A C++-al nem erdemes hasonlitani, mert ott nincsenek generikusok, csak templatek, az meg tok mas, a <> jelolesen kivul sok kozuk nincs egymashoz. A .Net-hez kepest miert kenyelmesebb a Java generikus-megvalositas?
[ Szerkesztve ]
while (!sleep) sheep++;
-
floatr
veterán
-
nagyúr
En a generikus parameter tipusara gondoltam, nem ugy altalaban az RTTI-ra. Tehat arra, amit te is irsz. Hallottam mar a reflectionrol.
De gondolom mindenki irt mar olyan konstruktorokat, ami a generikus parameternek megfelelo osztaly objektumot is varta (kb. public SomeClass(T1 param1, T2 param2, Class<T1> clazz1, class<T2> clazz2, mert szukseg van ra .. -- egyszer irtam egy cuccot Hibernate fole, ami okos proxykat/wrappereket gyartott, amik a peldany getter/setter hivasait elkaptak runtime, na az tele volt ilyen hekkekkel).
[ Szerkesztve ]
while (!sleep) sheep++;
-
Aethelstone
addikt
egyszer irtam egy cuccot Hibernate fole, ami okos proxykat/wrappereket gyartott, amik a peldany getter/setter hivasait elkaptak runtime,
Azért azt Te is érzed, hogy ez nem egy tipikus/mindennapi use-case Másrészt a Java fejlesztők 99%-a anélkül megy nyugdíjba, hogy valaha Reflectiont kellett volna használnia (Hacsak nem csinál saját annotációkat)
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
floatr
veterán
válasz Aethelstone #6592 üzenetére
És ez saccra a lambdával is így lesz. Ettől függetlenül gagyi...
-
floatr
veterán
válasz Aethelstone #6592 üzenetére
Mondjuk engem azért végtelenül bosszant az, ahogy mostanában alakulnak a dolgok a való életbeli projekteken: a legdurvább bleeding edge technológia Liferay alatt struts. Kicsit tényleg olyan fortran 77-es feelingje van az egésznek
-
WonderCSabo
félisten
mert runtime elérhető a típusinformáció (Reflection).
Öööö tuti?
Ha van egy ilyened:
class IntegerList extends List<Integer> {}
Akkor igen.
De ha ezt írod:
List<Integer> list ...;
Akkor a büdös életben nem fogod kideríteni runtime, hogy mi volt a <> között pontosan. És biztos vagyok benne, hogy a legtöbben erre gondolnak a generikus alatt.
-
nagyúr
válasz WonderCSabo #6595 üzenetére
> class IntegerList extends List<Integer> {}
vegulis meg igy se, mert az IntegerList az egy sima List lesz csak, Objecteket fog tarolni..
while (!sleep) sheep++;
-
Aethelstone
addikt
válasz WonderCSabo #6595 üzenetére
Viszont a generic nem is azért van, hogy runtime kiderítsük, hogy pl. egy List-nél mi a <közötti> pontos típus. Az csak hab lenne a tortán, de speciel én abszolúte nem érzem hiányát.
[ Szerkesztve ]
MI 10T Pro 8/256 , Arsenal FC - Go Gunnarz...
-
WonderCSabo
félisten
Ebben tévedsz, a reflectionnel ebben az esetben valóban le lehet kérdezni az az Integer-t. Ezt használja ki a Guava/Guice/stb TypeToken/TypeLiteral megoldása:
Type genericSuperclass = IntegerList.class.getGenericSuperclass();
ParameterizedType pt = (ParameterizedType) genericSuperclass;
System.out.println(pt.getActualTypeArguments()[0]); -
nagyúr
válasz WonderCSabo #6598 üzenetére
Igazad van, a metaadatok koze bekerul, de runtime tipusellenorzes ettol meg sajnos nincs:
public class IntegerList extends ArrayList<Integer> {
}
public static void main(String[] args) {
IntegerList l = new IntegerList();
ArrayList<Integer> l2 = l;
ArrayList l3 = l2;
ArrayList<Object> l4 = l3;
l4.add("Hello World");
System.out.println(l.get(0)); // "Hello World" sztring az IntegerList elso eleme
}Ehhez kepest:
Ezek persze mind megszokhatoak, csak csokkentik a tipusbiztonsagot.
[ Szerkesztve ]
while (!sleep) sheep++;
Új hozzászólás Aktív témák
A topicot kiemeltem. Valaki nem akar egy nyitó hsz-t írni?:))
- Aliexpress tapasztalatok
- HiFi műszaki szemmel - sztereó hangrendszerek
- SSD kibeszélő
- Újabb Samsungok telepíthetik a Galaxy AI-t
- Futás, futópályák
- Modern monitorokra köthető 3dfx Voodoo kártya a fészerből
- Politika
- Samsung Galaxy Note20 Ultra - a tollnak nincs ellenfele
- btz: Internet fejlesztés országosan!
- Formula-1
- További aktív témák...
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest