Gyengen tipusos es deklaraciot lazan ertelmezo nyelvek

Csak en erzem ugy, hogy egy rakas hibalehetoseget meg lehetne sporolni, ha minden nyelv (pl. PHP, JavaScript) erosen tipusos nyelv lenne es mindent rendesen deklaralni kellene, hogy mar forditasi idoben kibukjon egy-egy gepelesi hiba?

Hozzászólások

Csak en erzem ugy hogy kellenenek "az ékezetek" a szovegbe? :-))

márpedig jobb lenne ha fordításkor (amikor begépeled az ékezetek nélküli szót) derülne ki mit akarsz leírni, ne futtatáskor (amikor a agyad pillanatnyi állapotának ismeretével nem rendelkező akarja dekódolni) derüljön ki hogy kétértelmű

a gyengén típusos nyelveket PONTOSAN* ugyanazok az igénytelen egyének használják (csak számukra kényelmesen túl akarnak esni a kódoláson, mivel úgy sem ér semmit a "szövege", nem számít hogy fut-e, másnak milyen nehéz dekódolni, mint akik az ékezeteket spórolják le :DD

(*nem mint entitás, hanem mint megfeleltetés:) )

nyilván nem valami használható módszertannak vagy pénzt érő novellának szántam, ott a smiley is :)

de azért alapvetően miért mondod hogy hülyeség?

lehet ékezetek nélkül, sőt eszperentében is jól írni, még akár érthetőbben is mint néhány ékezetes szöveg, ugyanígy adott esetben, ha a feladat úgy kívánja ÉS odafigyel aki írja, lehet a gyengén típus tényleg jobb választás, de alapvetően csak egy plusz hibaforrás*

*ps: hmm, eszembe jutott hogy másik végét sikerült nem túl érthetően fogalmaznom, azaz ha ékezetek nélkül írsz, azaz kódolásnál eszedbe sem jut hogy jelenthet mást is, lehet hogy te hozzászoktál anélkül olvasni, de igazából diszlexiásnak kell lenni hogy gond :) nélkül olvasd

ez azert hulyeseg, mert ezereves, maig ervenyes alapelv, hogy minden feladatra a megfelelo nyelvet kell alkalmazni
szovegfeldolgozasra pl. Perl-t hasznalok, mert az a leghatekonyabb az adott feladatra, es nem azert, mert nem tipusos
az, hogy egy nyelv tipusos vagy sem, csak egy jellemzo a milliobol, semmit nem arul el az adott nyelv hasznalhatosagarol. amugy meg a tipusnelkuliseg sok szenvedest megsporol (aki latott/irt mar dynamic_cast-tal meg egyeb szornyusegekkel telezsufolt kodot muszajbol, az tudja mirol beszelek)
es nem, nem 'direkt' irok ekezetek nelkul, mindig igy szoktam :P
-
Slackware current / OSX Snow Leopard

igen én is ezt írtam, azaz hogy a megfelelő nyelvet kell használni, tehát ha explicite nem is írtam, de ezért tartom én is hülyeségnek az eredeti felvetést hogy az összes nyelv legyen típusos

de aki keveri a nyelveket és leetül ír, pl "A" helyett "4"-et mert hasonlít rá és az ember úgyis felismeri, vagy mert az angolban nincs ékezet ezért a magyarban is anélkül ír mert a másik majd úgyis dekódolja, (ill. ue. prnyelvekrere) .. inkább nem minősítem :)

lehet ékezet nélkül írni, de angolul

Igen, ahogy mar leirtak elottem, celra valasztod az eszkozt, ha energiat akarsz sporolni (ertsd: penzt vagy munkaorat magadnak vagy az alkalmazottaidnak), ellenben ha az ugyfel keri az eszkozt, akkor kenytelen vagy azt hasznalni, de ekkor beleszamithatod az arba az extra effort-ot. De mindenkeppen elmondhato, h a megfeleltetesnek - amit irtal -, nincs sok ertelme. A smileyk pedig felreerthetok.

---
return NEVER;

Ubuntu 8.10
HP nx6110
http://java.tszebeni.hu

jópofa ez a bitszintű megközelítés de attól még nem lesz igaz

típussal van bajod? ha int 1-ként tárolod az almát és int 2-ként az autót és a be_a_zsebbe(mit) belül nullával fog e-miatt osztani akkor meg az lesz a probléma? (_még_)erősebben típusos nyelv kell hogy legyen alma meg autó objektum?

a programnyelv is ugyanúgy folytonos mint az emberi, programnyelvben is lehet még épphogy működő de vagy teljesítményben vagy másban problémásan, mint ahogy emberiben is, nem kell biteskedni hogy vagy működik vagy nem, pl amit én írtam az ékzetekről többen is azt mondják hogy hülyeség, belátom hogy nem ide a hupra való, de nem azért mert nem igaz, hanem mert nem értik, tehát nem igaz hogy amit leírok az nem dob az agyadban "syntax errort"

ha így állsz neki akkor a goto-tól való "megszabadulásnak" örömében már az egy igaz árianyelvet akarod létrehozni?
c-ben is lehet goto-mentesen írni, java-ban is lehet hibáktól hemzsegő (de lefutó) kódot írni

Ahogy a nickedbol is kiderul te valoszinuleg akkor talalkoztal szamitogeppel eloszor amikor mar volt magyar kiosztasu billentyuzet, de kepzeld, ez nem mindig volt igy. Sokan, tobbek kozt en is meg ugy tanultak meg gepelni hogy ekezeteknek se hire, se hamva nem volt, es a te kedvedert nem fogunk atszokni mar. Ha nem tetszik, nem kell elolvasni, kommentelni plane.

Csak én érzem úgy, hogy a kényelemért fizetni kell? :D

Nem csak te érzed így, bár lehet ide beleszól az is hogy te se PHP-val kezdted és én sem. (Én Worddel, mint ez ki is derül az egyik fórum témából). Félretéve, Foofighternek jó a felvetése, valamit-valamiért elv.

(Megnézném hogy egy vérbeli PHP-s (aki csak azt használ és tökéletesen meg van vele elégedve) és egy Facebook féle C++-ból áttanított PHP-s milyen kódot ír.. bár maga a nyelv eléggé meggátolja a jó munkában.)

Csak én érzem úgy, hogy az általad felhozott két nyelv felhasználási területe között az esetek többségében ég és föld a különbség? A vérbeli PHP-s bizonyára nem valamelyik random KDE-s programot fejleszti, a vérbeli C++-os meg nem a Drupalt. Bozótvágó késsel nem szoktak kenyeret szelni – bár nyilván meg lehet próbálni –, kenyérvágó késsel meg nem szoktak ösvényt vágni a dzsungelben, mert magas a szopófaktora.

--
#FreedomFlotilla

Poén hogy ide is beugatsz fikázni. Nem húznál el délre? Köszi. Nem muszáj egy f*sznak lenni még ha az is az ember esetleg. (Nem érdekel hány éve vagy regisztrált, sem hogy hány kiló vagy (gondolom jó sok lol'd), de nem kéne mindenkit leosztani semmi ismeret nélkül. (A hangnemet kiérdemelted mielőtt elkezdesz picsogni mint egy pláza fajzat hogy nem tetszik meg elmondasz a semmi alapján mindennek.))

Óh de jól ismersz. Itt ugatsz miközben emberi senki vagy. Gép mögül puffogsz a hájas valagadról, lefikázva mindenkit, BÁRMI ISMERETTSÉG NÉLKÜL. Értem én hogy neked látnoki, ember feletti képességeid vannak hogy bárkit bárhol akár egy hozzászólásból (vagy a nélkül mert már láttam tőled rá példát) megítélj.

Az előítéleteidbe fulladsz bele, nézz magadra. (Na jó még ha lenne is benned bármiféle emberi érték. Mindössze használható vagy, és itt ki is fújt a dolog.)

Herp derp. Óh a túlzottan intelligens ember leereszekedett a szegény programozni nem tudó emberek közé (#hup)... óh mily kegyes..

Egy vicc amit művelsz. Ha nem érdemes, minek kezdtél bele? Írni se megy, és itt fröcsögsz még mindig, pedig te _állítólag_ olyan intelligens vagy hogy ebbe nem mész bele, te ezen átlátsz..

Az utolsó szó.. az utolsó nyál cseppek mindig elérik a válaszom amit a legutóbbi inzultálásodra adok. :)

Volt mar, hogy PHP-rol C++-ra kellett portolnom. :)

PHP nem csak webes fejlesztesre hasznalhato, nem ritka, hogy valamilyen CLI-s segedprogramot/szovegfeldolgozot* irok benne, mert gyorsan megvan.

*Perlel szopjon az, akinek 6 anyja van. Nameg Windows es a tobbi altalam hasznalt OS kozott (OSX, linux, freebsd) ez a leg hordozhatobb. Egy php.exe-t es egy php5ts.dll-t semmibol nem tart odamasolni a script melle (+ szukseges extek, ha kellenek)

---------------
Lvl86 Troll

A sok gépelési hibára van megoldás, E_ALL-nak hívják PHP esetén. Nekem JavaScript-hez van jslint, illetve szinte az összes böngészőhöz megoldható, hogy rendes hibaüzeneteket adjon (chrome, firefox, ie biztosan, a többivel nincs ilyen irányú tapasztalatom).

Jobb dinamikusan típusos nyelvekben exceptiont kapsz egy ilyen esetben (ha vannak hozzá tesztek írva, akkor egy ilyen azonnal kibukik).

Több is...
*a helyett /a mindkét helyen és "+" helyett "-" a második gyöknél, és az sqrt is rossz helyen van mindkét oldalt a b*b még beletartozik csak + előjellel, és van egy -b elötte és utána van az ominózus +-

áá na mindegy ez már tul sok, hogy egy mondatba belefoglaljam ;)
[(-b + sqrt (b**2-4*a*c))/a/2,(-b - sqrt (b**2-4*a*c))/a/2]

Ráadásul az sqrt miatt (negatív számok gyöke ugye...) esetlegesen létrejövő futási idejű hibára sem figyelmeztet a ghc... Szóval még a hibátlan képletű megoldásban is van statikus ellenőrzéssel fel nem fedett hibalehetőség!

Gyengén típusos, az, amikor különböző típusok közt is tudsz mindenfele műveletet végezni, pl. string+szám
Van még a statikus illetve dinamikus típusosság.
Pl a Python erősen típusos, de dinamikus.
A C pedig gyenge, de statikus. (Bár erről megoszlanak a vélemények.)
Mely szempontokra gondolsz?

"Gyengén típusos, az, amikor különböző típusok közt is tudsz mindenfele műveletet végezni, pl. string+szám"

Pl. erre. Néha hasznos, de csak egyszer kerüljön oda valami nem oda illő típus. Egy Convert.ToInt32-t szinte semmiből nem tart odaírni, ellenben elég sok szopástól megkíméli az embert.

Vagy pl. a másik, amit tegnap egy linkelt JS fájlban láttam:

function foo()
{
  foo = ""; // lemaradt a var véletlen
  // tamtaramtatam
  return foo;
}

Ezek mind-mind olyan hibák, hogy az adott valami nem volt megfelelően deklarálva, hogy az van, létezik és, hogy az micsoda.

Több évnyi PHP után egyre jobban tudom értékelni azt, ha egy hiba kibukik már fordítási időben. Rengeteg utólagos szopástól és teszteléstől megkíméli az embert. (Jó, oké, scriptnyelv esetén fordítási idő az picit máshogy értelmezett, mint egy nem scriptnyelvnél.)

----------------
Lvl86 Troll

"Egy Convert.ToInt32-t szinte semmiből nem tart odaírni, ellenben elég sok szopástól megkíméli az embert."

A sok felesleges hulyeseg miatt (ami mukodhet automatikusan is) sokkal nehezebb lenne atlatni a kodot.
De ha szeretsz ilyesmivel szopni, a Java valo neked (int - Integer es tarsai).

--
What's the difference between the Israeli navy and Somali pirates?
If you negotiate with Somali pirates,you can prevent them from murdering their victims. - sickipedia

Igen, most mar letezik, regen nem volt. Mert a sok lusta Javas diszno rajott, hogy jo az, ha automatikusan konvertalodnak trivialis dolgok. Mar csak arrol megy a vita, hogy mi szamit trivialisnak.

--
What's the difference between the Israeli navy and Somali pirates?
If you negotiate with Somali pirates,you can prevent them from murdering their victims. - sickipedia

"A sok felesleges hulyeseg miatt (ami mukodhet automatikusan is) sokkal nehezebb lenne atlatni a kodot."

A hasonló "felesleges hülyeségek" miatt látod, hogy ott márpedig tipuskonverzió történik. :)

"De ha szeretsz ilyesmivel szopni, a Java valo neked "

Inkább .NET vagy Delphi vagy C++ és webhez ne legyen köze :)

----------------
Lvl86 Troll