Microsoft: a WPF halott
2010-09-10T09:20:56+02:00
2010-09-14T09:59:24+02:00
2022-06-30T14:21:21+02:00
  • Persze abban igazad lehet, hogy egy gyakorlott java fejlesztő produktivitása elérheti egy gyakorlott PHP fejlesztőét, és abban is, hogy bonyolult projektek esetében a különbség eltörpül. A PHP-t azonban nem real-time enterprise rendszerek fejlesztésére találták ki, hanem nagyon egyszerű webes feladatokra, ezért a produktivitást nem azon a területen kell mérni, amire a PHP nem való, hanem azon a területen, amire kitalálták.

    Azt azért ki lehet jelenteni, hogy a Sun erőlködése, hogy a Javát produktív webes nyelvvé tegyék, nem lett túl sikeres. Azért megnézném, hogy hány site builder van otthon az EL-ben, illetve hány webfejlesztő dolgozik JSF-fel, vagy gründol weboldalt Springgel. Marha kevesen.

    Azért a weboldal-készítőket sem kell lenézni, még ha a programjuk csak pár egyszerű lekérdezésből és egy fél tucat táblából áll is. Én már nem vagyok főállásban weboldal fejlesztő, de voltam, és tudom, hogy a határidő, a gyorsaság és a flexibilitás nagyon nagy úr a weben. Ettől függetlenül igazad van, a PHP egy könnyen megtanulható szkriptnyelv, nem ipari alkalmazások készítésére való.

    Szerk: viszont éppen a Java produktivitásának alacsony szintjét felmérve "cseréltem le" a Javát C#.NET-re, persze ebbe az is belejátszott, hogy kisméretű projekteken dolgozom.
    Mutasd a teljes hozzászólást!
  • Mindent meg lehet írni assemblyben, amit assemblyben nem lehet megírni, azt nem lehet megírni. Az emberek azért használnak mindenféle egyéb programnyelveket, hogy olyan plusz szolgáltatásokat kapjanak az assemblyhez képest, ami növeli a produktivitást és a megírt kód megbízhatóságát.
    A típusosság ez utóbbit növeli. Ami nem jelenti azt, hogy nem lehet kellő odafigyeléssel nagyon megbízható kódot írni akár assemblyben is, hanem azt, hogy a típusossággal egy rakás hibát eleve kizár a rendszer. Egyszerűen nem tudod elkövetni - vagy legalábbis nagyon meg kell dolgoznod érte, míg típusosság nélkül elég egy elírás.

    Ez a választhatsz dolog egy emeletes marhaság. A linuxosok szoktak előjönni ezzel, amikor a KDE vs Gnome vs millió más hasoló desktopocska a téma amit párhuzamosan fejlesztgetnek. A user nem válaszani akar hanem használni egy jól felépített rendszert, ami holnap is tovább lesz fejlesztve. Ugyanez igaz a programozásra is.
    Ha te programozó vagy, akkor az a dolgod hogy feladatokat oldj meg, és nem az hogy azzal töltsd az életed hogy Pistikéék tegnap kifejleszettek egy vadiúj keretrendszert.

    Arról nem is szólva, amikor nem te választasz keretrendszert hanem a főnököd - rosszabb esetben a megrendelő.
    Mutasd a teljes hozzászólást!
  • Csak nagyon nem mindegy hogy az adott keretrendszer egy vastag alap osztály tetején ücsörög ami mindenhol ugyanaz, és csak az adott feladatot kell megoldani, vagy ha az alap "osztálykönyvtár" amiből fel kell építeni a rendszert olyan vastag mint a PHP beépített függvényei.

    Amúgy azt azért kétlem hogy egy java produktivitása tapasztalt java fejlesztő és közepes méretű egyedi fejlesztés esetén elmaradna a PHP-tól. Nagy projekt esetén még kevésbé.
    Az persze más kérdés ha a "fejleszés" abból áll hogy a kész PHP-s webáruházban meg kell változtatni a háttérszínt
    Mutasd a teljes hozzászólást!
  • tanulhatja meg a 20. openszorsz keretrendszert mert minden bokorban mást hasznának, és mindegyiknek fel kell találnia a spanyolviaszt


    Ez nem csak a PHP jellemzője, hanem a Javáé is, ott is tömegesen tanulhatod meg az openszorsz keretrendszereket és mire megtanulod jön a következő, miközben a produktivitása messze elmarad pl. a PHP-tól.
    Mutasd a teljes hozzászólást!
  • A gyenge típusossággal kapcsolatban teljesen egyetértek, de ettől még áll az amit mondtam, hogy nem a nyelv a hülye mert a programozó elnéz valamit. (Bár ebből akár az is következik hogy hülye aki ennek ellenére használja :)

    Ha elfogadjuk azt hogy vannak profi php programozók is, akkor a phps keretrendszerek is arra vannak levegyék a profik válláról a gépies munkát.

    Az igaz hogy 100 félét használnak, aminek ugye a hátránya hogy sokfélét kell ismerni. Az előnye viszont hogy választhatsz.

    Az alap php osztályok meg nem létezőek, sajnos. Van pár hülyén elnevezett függvény, random paraméter sorrendel.
    Mutasd a teljes hozzászólást!
  • mert minden bokorban mást hasznának


    Mutasd a teljes hozzászólást!
  • Ez volt eddig a legértelmesebb hsz amit eddig itt olvastam.
    Mutasd a teljes hozzászólást!
  • Nem. Ahogy én látom, alapjában véve két irány van. Az egyik, hogy a profik válláról levegyük a gépies melót, és tegyük hatékonyabbá a munkájukat. Ilyen Pl. a LinQ is. De Pl. egy formot is meg lehet tervezni kézzel is, és vizuálisan, designerrel is. Ez utóbbi lényegesen gyorsabb, és sok-sok olyan kód megírásától kímél meg amire amúgy egy kétpúpú teve is képes ha kihozod az állatkertből.

    A másik irány a gyorsan, könnyen elsajátítható megoldások. Ezektől nem leszel hatékonyabb, sőt - ugyanakkor alapszinten könnyen tanulhatóak. Ilyen a PHP is. A kezdőnek nem kell mindenféle típusokkal, összetett osztálykönyvtárakkal veszkődnie mint Pl. C#/.NET esetén - cserébe aztán ha profi lesz akkor szív mint a torkosborz mert nem védi a hibáktól a típusosság és tanulhatja meg a 20. openszorsz keretrendszert mert minden bokorban mást hasznának, és mindegyiknek fel kell találnia a spanyolviaszt, mivel az alap PHP osztályok egyszerűek mint a faék.
    Mutasd a teljes hozzászólást!
  • Az, hogy ilyen hibát el _tudsz_ követni az eleve egy bizonytalansági tényező a szoftverben ahhoz képest, mint ha a fordító eleve kivág típuskeveredéskor mint a macskát dolgát végezni. Alapjában véve kétféle hiba van. Az egyik az, amikor logikailag csinálsz marhaságot. Ilyen az amikor Pl. nem figyelsz egy feltételt egy ponton amit kellene. A másik az amikor elírsz valamit. Kezdőként főleg az első típusú hibák jelentkeznek, profiként főleg a második típusúba futsz bele. És ez utóbbiak ellen véd a típusosság.
    Mutasd a teljes hozzászólást!
  • Miért nem valami típusos nyelvben fejlesztesz?

    PHP-ben kezdtem el programozni 14 évesen mert, azt mondták hogy ez jó.

    Egy ideje napi 10-12 órát az említett php kód fejlesztésével töltök, így nehéz váltani. Meg eddig a Javat próbálgattam komolyabban, de valószínü inkább c#-re fogok átállni, az viszont még nagyobb váltás a windows miatt.

    szépen szétoffoltunk egy amúgy is kamu hírre épülő topicot
    Mutasd a teljes hozzászólást!
  • Amit én mondtam, az az hogy ha valaki gyengén típusos nyelven fejleszt akkor ismernie kell annak a buktatóit, és ha mégis belefut ilyenbe akkor nem a nyelv a hülye hanem a programozó.


    Ez igaz.
    Mutasd a teljes hozzászólást!
  • Egyébként tényleg nem kötekedésnek, csak kíváncsiságból:
    Miért nem valami típusos nyelvben fejlesztesz? (Pl.: Java, stb...)
    A megrendelő akarta így, vagy valamiért a PHP-ban jobban megtaláltad a számításod?
    Mutasd a teljes hozzászólást!
  • Aki ilyet ír phpben: if($key) az hülye, vagy nem igazán számít merre fut tovább a program.

    Egyébként is, milyen nyelv az, amiben az egyik alaptípust jobb, ha kerülöd.

    Elterjedt.

    Nem kell nekem megmagyarázni az erős típusosság előnyeit, egy szóval sem mondtam hogy a gyenge típusosság jó. (sőt ha visszaolvasol írtam hogy nem jó)

    Amit én mondtam, az az hogy ha valaki gyengén típusos nyelven fejleszt akkor ismernie kell annak a buktatóit, és ha mégis belefut ilyenbe akkor nem a nyelv a hülye hanem a programozó. Nyilván ettől a php nem lesz jobb, de az szintén hülyeség hogy a php-re mondjuk hogy szr amikor a php programozók nagyrésze idióta. És ettől még nem lesz idióta mindenki aki php-zik.
    Eddig nagyon kevés olyan eset volt amikor a gyenge típusosság miatt volt hibás a program. (De amikor volt arra napok mentek rá)

    Ezer osztály ilyen tekintetben nem mond nekem semmit.

    kb 5 Mb a gépelt forrás.

    Egyébként meg nem az erősen típusos nyelvek terjednek egyre jobban, hanem a ruby + rails, python + django, js + jquery

    Mert ugye megintcsak, nem a teljesítmény számít hanem hogy gyorsan kész legyen.


    Mutasd a teljes hozzászólást!
  • Miért ne?


    Mert mindig végig kell gondolni a konvertálási szabályokat és könnyű eltéveszteni hogy miből mi lesz, melyik esetben. Mate123456 írt rá egy példát.
    Mutasd a teljes hozzászólást!
  • Ezer osztály ilyen tekintetben nem mond nekem semmit.
    Lehet, hogy nagyon penge vagy és úgy megtervezted az 1000 osztályod, hogy minden további nélkül tudsz módosítani.
    De az is lehet, hogy csak egyszer volt egy rossz napod és már meg is van a gond, mert valamit elfelejtettél ellenőriztetni.

    Ha pedig azt nézzük, hogy esetleg tizedmagaddal fejleszted a programod, és az egyik kollégád kicsit trehányabb, mint kéne, akkor már meg is van a gond.

    Írok egy konkrét példát, amibe típusos nyelvben esélyed sincs belefutni. (Egyébként ezt most másoltam ki a manuálból...)

    <?php $array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red'); $key = array_search('green', $array); // $key = 2; $key = array_search('red', $array); // $key = 1; ?>

    Mi is ebben a hiba? Ha nem a green-re és a red-re keresnék, hanem mondjuk a blue-ra, akkor honnan tudom, hogy most ez egy false logikai értékkel tért vissza, vagy a nullás index-szel?
    Nyilván onnan, hogy ellenőriznem kell a típusát. De mi van, ha erről az egyik tapasztalatlan kolléga megfeledkezik, és a következőt írja:

    ... if ($key){ ... } else { echo "Nem találtam meg"; } ...

    Vagy mi van, ha valahol elgépelsz egy paraméternevet?


    booleant pedig nem szabad használni.


    Egyébként is, milyen nyelv az, amiben az egyik alaptípust jobb, ha kerülöd.
    Mutasd a teljes hozzászólást!
  • booleant pedig nem szabad használni.


    Miért ne?
    Pl array_search is FALSE-al tér vissza, ha nincs találat.
    Mutasd a teljes hozzászólást!
  • Egy bizonyos kódméret fölött pedig nehéz úgy kijavítani a kódot, hogy ne rakj bele két másik hibát. (Pontosabban nehéz úgy megtervezni a program szerkezetét, hogy a felmerülő hibák javítása könnyű legyen. Gyengén típusos nyelvekben pedig még nehezebb.)


    És mekkora ez a méret? Most épp egy ~1000 osztályból álló php programon dolgozok, simán tudok javítani anélkül hogy újabb hibát tegyek bele.

    A gyenge típusosságnál az egyetlen dolog amire figyelni kell hogy az adott metódus mindig a phpdoc-ban megadot típust adja vissza. NB kiírja a phpdoc-ot, tudod hogy kell kezelni. Ha valaki figyelmetlen és tömb helyett néha számot ad vissza az nem a gyenge típusosság, hanem a gyenge elme hibája. Ha esetleg stringet abból még nagyobb szívás lehet mert esetleg észre sem veszed hogy az nem tömb. Az más kérdés hogy más nyelveken a fordító kijavítja a hülyeségedet.

    Ja meg az hogy ha számként használsz valamit mindig elé kell írni hogy (int)$v, booleant pedig nem szabad használni.
    Mutasd a teljes hozzászólást!
  • Ez szép és jó lenne, ha így lenne, de azért ha egy program nyüzsög a hibáktól, az végső soron a végfelhasználón csattan.
    Egy bizonyos kódméret fölött pedig nehéz úgy kijavítani a kódot, hogy ne rakj bele két másik hibát. (Pontosabban nehéz úgy megtervezni a program szerkezetét, hogy a felmerülő hibák javítása könnyű legyen. Gyengén típusos nyelvekben pedig még nehezebb.)
    Mutasd a teljes hozzászólást!
  • Nem ez volt a lényege annak amit akartam mondani. Nem arra fejlődik a szakma hogy jobb programok szülessenek, hanem arra hogy gyorsabban elkészüljön bármilyar szr is lesz utána, majd rakunk alá vasat.

    Lehet rá mondani hogy üzletileg megéri, mert tényleg. Az élelmiszer gyártóknak is megéri hogy műanyagot adjanak el mert olcsóbb előállítani mint a természetes anyagokat.

    Vagy képzeld el mi lenne ha az építő munkások is úgy építenének ahogy nekik kényelmes, ezért nem teszik túl magasra a plafont mert alacsony a kőműves... Viszont olcsó lenne.
    Mutasd a teljes hozzászólást!
  • Értem. Én viszont arról beszéltem, hogy a felhasználó szempontjából (tehát nem programozástechnikailag) ez teljesen lényegtelen. A hibák (nagy részének) felderítése és kijavítása pedig a programozó feladata lenne még a fejlesztés szakaszában.
    Mutasd a teljes hozzászólást!
  • Na most komolyan. Nagyon kíváncsi lettem, hogy hogyan befolyásolja a működést a felhasználó szemszögéből, hogy mondjuk az oldal címét tartalmazó változónak megvan-e adva előre a típusa vagy sem.


    Hát annyiban, hogy több a hibalehetőség, és ez pont egy olyan hibalehetőség, ami felhasználás közben jöhet elő.
    Javascript esetén ha elrontottál valamit, akkor simán kinyírhatja az oldal működését is...
    Mutasd a teljes hozzászólást!
  • Igen, amíg az a modern böngésző a chrome.
    IE-hez már bizony telepíteni kell külön plugint.

    Az IE-n kívül lassan már minden böngésző támogatja valamilyen szinten a HTML5-öt. Egyébként meg az IE-hez milyen plugint? Először olvass már utána a dolgoknak mielőtt butaságokat írogatsz.

    Najó én itt kifulltam, ezt már nem én fogom neked elmagyarázni.

    Na most komolyan. Nagyon kíváncsi lettem, hogy hogyan befolyásolja a működést a felhasználó szemszögéből, hogy mondjuk az oldal címét tartalmazó változónak megvan-e adva előre a típusa vagy sem. Vagy ha ez nem jó példa akkor mondj mást.
    Mutasd a teljes hozzászólást!
  • Természetesen az ad-words miközben a képedbe tolja az általad tudatlanul elküldött adatok alapján a hirdetéseket, egyúttal árulkodik is rólad, hogy milyen oldalakat néztél meg. Már ha ki nem kapcsolod az audit, trafic, analitics jellegű címeket :)

    Kíváncsi leszek, a Chromeban lesz-e adblock, ami engedi blokkolni a google címeket. Nagy reményeim nincsenek.
    Mutasd a teljes hozzászólást!
  • Adblock Plust hasznalja itt valaki?
    Ezen az oldalon rogton 4 'osszeeskuveselmelet' szervernek is blokk :D
    Mutasd a teljes hozzászólást!
  • Nem összeesküvés elmélet, hanem tény, a google mindent összegyűjt, mindent tudni akar rólad, azért, hogy kereskedjen vele. Mint LC kifejtette, nem közvetlen az adatokkal, hanem a belőle kinyerhető információval, hogy minél relevánsabb reklámokat tolhasson az arcodba, aminek így jobb a hatékonysága a hirdető számára, tehát többet is fog kérni érte.

    Próbáld ki, indíts egy fiddler2-t és nézd meg, mi minden megy át a googlihoz egyetlen keresés során.

    Az emberek nagy része használ valamilyen google szolgáltatást, gmail, reader, stb, ami bejelentkezést igényel. Bármelyik google szolgáltatásba jelentkezel be, sütik tömegét tárolja a google. Ezek egy része minden szolgáltatásban globálisan azonos, google.com forrású, vagyis minden keresési kulcsszavad szépen ott fog sorjázni a nagy testvérnél a profilodban. Évekre visszamenőleg tudják, mi érdekel, mikor mire kerestél. Ez szépen összekapcsolódik a különböző regisztrációkkor megadott személyes adataiddal, lakóhelyeddel, stb. És az emberek többsége mindezt az értéket önként átadja egy marék üveggyöngyért cserébe, még örül is, hogy ingyen kapott x mega tárhelyet a neten.

    Jó reggelt kívánok.

    szerk. Nehogy azt hidd, hogy ha nem adtad meg a lakóhely infódat a regisztrációkor, akkor azt nem fogja tudni. Az IP címed alapján az is meg van a nagy testvérnél, hogy a nap, a hét mely szakában honnan szoktál internetezni, azt is tudja, mikor utazol külföldre, milyen országokba. A kereséskor az IP címedet is loggolja.
    Mutasd a teljes hozzászólást!
  • Ez szvsz platform független trend manapság. A linq sem azért született mert olyan gyorsan futna, hanem azért olyan gyorsan elkészül vele a program.

    Nem. A linq elsősorban azért készült hogy megbízható programok szülessenek. Nem megszünteti, hanem kiterjeszti a típusosságot. Míg Pl. a Hibernate csak az adatbázis->típusos objektum leképezését oldja meg, és ha Pl. egy feltételt akarsz megfogalmazni akkor jön a HQL ami ugyanolyan szöveges szutyok mint az SQL (vagy az elég büntetős criteria API) addig itt szépen típusosan, intellisense támogatás mellett rakhatod össze a feltételedet. És ugyanolyan SQL-re fordul mint ha kézzel írtad volna meg. Azaz a hatékonyság sem lett oda.

    Azt a C# programozót meg aki dynamic-ot használ a COM-os kommunikáción kívül szvsz minden normális helyről páros lábbal rúgják ki. Ezzel együtt a DLR szerintem elég nagy balfékség volt a microsofttól, inkább a COM-ot kellett volna rég leépíteni.
    Mutasd a teljes hozzászólást!
  • Szerintem meg eddigi tapasztalatok alapján többen lennének akik a youtubeot cserélnék le.

    Na ne viccelj. Hol találsz közelítőleg annyi videós tartalmat mint a youtube-on ? Amúgy persze ezek 99.9%-a illegális, mégsem indított ez ellen olyan átfogó harcot a zeneipari maffia mint Pl. a fájlcserélők ellen. A gugli leszed 1-2 dolgot tessék-lássék, de ezzel együtt a tartalmak nagy része illegális, és megtalálod szinte az összes együttes minden lényegesebb számát, leggyakrabban videoklippel együtt. Ezt nehezen cseréli le az átlagpolgár mondjuk az indavideo-ra.

    A keresés is az átlagpolgárnak a google-t jelenti. Nem kikeres valamit a netről hanem összeguglizza az.

    Ja hogy azért mert összeesküvéselméletek, jóvan

    Most még "csak" felhasználja. Persze kérdés hogy mi mindenre.
    Mindenesetre sok-sok felhasználó ad nekik önként oda egy rakás olyan adatot amit ha a windows küldene el Redmondba akkor a Microsoft épületét téglánként szednék szét a jogvédők.
    És míg a microsoft nem igazán tudna mihez kezdeni ezekkel az adatokkal, addig a guglinak a szerverparkja is megvan az adatok elemzéséhez, másrészt ez a szakmájuk, jelenleg is az adatok elemzéséből élnek.

    És ez csak a rövid táv. Aki azt hiszi hogy a gugli csak azért fejlesz olyan projekteket hogy chrome, android, chrome OS hogy a felhasználóknak jobb legyen, az hülye.
    Mutasd a teljes hozzászólást!
  • Kevesebb erőforrást eszik, mivel lényegében csak a böngészőbe épített videolejátszó plugint indítja el. Tulajdonképpen ilyenkor a böngésző és az OS dolgozik és nem a webes felület. Kb. ugyanaz mint ha egy jpeg képet néznél. Amúgy nem nagy újdonság: ha volt fenn divix plugined eddig is nézhettél videót on-line minimális erőforrás felhasználásával.
    Mutasd a teljes hozzászólást!
  • Ja. Azért megnézem hogy fog ez a véleményed változni amikor megjelennek a js + svg alapú animációra alapozott reklámok, oldalanként legalább 5, plusz egy-két totál idióta által megírt javascriptes egyedi banner.

    A flash-t nem ismerem belülről, de a SL fényévekkel jobban használja ki az erőforrásokat mint ahogy a javascript valaha fogja.

    Amúgy meg a MS még mindig 10x korrektebb cég mint a gugli vagy Pl. az IBM, Oracle akik az openszorsz mögött vannak.
    Mutasd a teljes hozzászólást!
  • nem értem milyen telepítésről beszélsz, nem kell hozzá telepíteni semmit, csak ugye modern böngészőt kell használni.

    Igen, amíg az a modern böngésző a chrome.
    IE-hez már bizony telepíteni kell külön plugint.


    egyébként is működés szempontjából miért lényeges az, hogy meghatározom egy változó típusát vagy sem?

    Najó én itt kifulltam, ezt már nem én fogom neked elmagyarázni.
    Mutasd a teljes hozzászólást!
abcd