Programnyelvek összehasonlítása
2014-04-28T07:37:30+02:00
2014-05-13T21:12:29+02:00
2022-07-22T20:11:22+02:00
  • Én semmit nem tudok erről a projectről, csak azt hogy jól néz ki a videón. Ha tényleg érdekelnek a válaszok a kérdéseidre, akkor a videó leírásában lévő linket követve írj a szerzőnek, hátha ő tud azokra válaszolni.

    Thomas Geijtenbeek
    Mutasd a teljes hozzászólást!
  • Tényleg vicces, de ezeknek 2 lába van (az enyém nem generációs tanulású).
    Akárhány lábbal? Izom ellentartással? Súly áthelyezéssel? Repül? Úszik?

    Bármit megtanul, de az éles dologtól még nagyon messze van.
    Mutasd a teljes hozzászólást!

  • Mire lesz ez jó? Képzeld el, hogy csinálsz egy robotot (amibe a programomat beépítve) az szépen elmászkál a terepen (a járást is megtanulja!).

    Óóóó, hát ilyen már van:
    50sec-től nagyon vicces, ahogy tanulnak

    Flexible Muscle-Based Locomotion for Bipedal Creatures
    Mutasd a teljes hozzászólást!
  • Az MNHH project egy mesterséges intelligencia program amely 1D adatokat dolgoz fel.

    Az "alap program" egy adathalmazt (vagy adathalmazokat) dolgoz fel felügyelet nélküli tanulással. Azután írja meg a "főprogramot" amely "AZ" adathalmazt többféle tanulási módszerrel feldolgozza. A főprogram menetközben egy matematika NN hálózatot is treníroz és azt is egy MNHH főprogram dolgozza fel. A két feldolgozásból egy harmadik "főprogram" célzott tanulási módszerrel egy eredményhalmazt ad. Ezt most én értékelem, de lassan (?) egy új feldolgozónak adom át.

    A BB (BlackBox) nyelv ezt a feldolgozási eljárást könnyíti meg. Látom, hogy a "MI" mit is akar csinálni. Az eljárásban van egy csepp genetikai algo, de szinte teljesen az adathalmaz határozza meg a kimenetet . Mivel egy nyelvvel "programozod" a MI programot, magában a nyelvben is leírhatsz bizonyos "programokat".

    A BB nyelv 2D adatábrázolás feldolgozását írom most (ez eléggé túlzás még), majd a 2D feldolgozást sok 2D feldolgozás lesz (pl. két szem, vagy több szem).

    Mire lesz ez jó? Képzeld el, hogy csinálsz egy robotot (amibe a programomat beépítve) az szépen elmászkál a terepen (a járást is megtanulja!).
    Mutasd a teljes hozzászólást!
  • Az enyém az MNHH projecthez készült és nem objektum orientált, hanem entitás alapú! A jövőnek készítem, meg magamnak!

    A függvényektől (működhetnek eljárásként is) előzetesen adatokat lehet lekérni, az állapotukat állítani, a kimenetre adott válaszukat típusát megmondani, ect.
    A fordításkor egy-az-egyben gépi kód fordul, a függvény írásakor meg kell adni a "fordító" számára a megfelelő részt. Így a sin függvénynek a visszatérési érték lehet táblázatból (int), fixed int, float és double is.
    Van goto entitás is de az általában terminálja a futást.

    A névtér kezdetben üres. Ha készítünk egyet akkor azt egy tanulási projekt alatt tudjuk felhasználni. Sok tanulást tudunk párhuzamosan lefuttatni és az eredményeket összegezni (akár saját, akár más gépeken). A névtér ilyen szempontból előny, hiszen csak a minimálisan szükséges dolgokat kell beemelni a memóriába.
    Mutasd a teljes hozzászólást!
  • érdekes, a sándor például objektumorientált és nem használ névtereket. amit használ az egészen elüt az ilyesmitől, de ez szándékolt!

    és az is igaz - mert mások is megmondták - hogy az igazi programozó nem fél a goto-t használni. hát én megalkotni sem voltam rest.

    a nyelv nekem amúgy időutazáshoz kellett anno komoLyan, de végülis arra nem emlékszem, hogy sikerült-e
    Mutasd a teljes hozzászólást!
  • // Névterek használata. Nincs Standard névtér :) Fel kell emlegetni // A kis és nagybetű nem számít! namespace unit MATH // Elnevezünk egy névteret MATH nevűnek MATH SET cos // cos a MATH névtérben MATH SET sin // sin a MATH névtérben MATH SET exp // exp ..... MATH SET log // log ..... using namespace MATH // Most a MATH névtér van használatba, az össze többi függvény NEM! // Változók használata. Nincs alap, definiálni kell, külön, mert az jó! using structure VARIABLE // A VARIABLE struktúra használatának engedélyezése variable a // Az "a" változó definiálása, egy értékű elemként using structure DUAL_VARIABLE // A DUAL_VARIABLE struktúra használatának engedélyezése dual_variable b // A "b" változó definiálása, két elem tárolására alkalmas using structure MORE_VARIABLE // A MORE_VARIABLE struktúra használatának engedélyezése more_variable c // A "c" változó definiálása, több elem tárolására alkalmas
    Mutasd a teljes hozzászólást!
  • Nem kell őskorira a beszélgetést venni, én gondoltam őskorira



    Na, a mostani kb így néz ki

    structure VARIABLE struct variable { ....... itt más van FLAGS FLAG; real value; char string[256]; ....... itt más is van } end;


    Tehát a változóknak van egy belső leírása, amit a nyelv szépen lekezel!
    Ha meghívod a sin függvényt, tök érdekes dolgokat lehet csinálni!

    1. sin(a) 2. sin() 3. a <- sin() 4. a SET sin(a)


    1. Ebben az esetben a sin függvényben! lesz "a" színusz értéke de "a" nem kapja meg!!!
    2. Beállítástól függően nem történik semmi, vagy a sin függvény lemásolja, átkonvertálja, ect.
    3. Az "a" megkapja a sin függvényben szereplő értéket.
    4. Az "a" megkapja a sin függvény "a" értéke szerinti számot!
    Mutasd a teljes hozzászólást!
  • Ja.... Őskori történelemről beszélgetünk?
    Mutasd a teljes hozzászólást!
  • Őskori BASIC nyelvre gondolok, olyan sorszámosra (C64-re)!
    Mutasd a teljes hozzászólást!
  • Azért (az elmúlt bő 40 évben meglepő módon) a Basic is átment már pár "verzióváltáson", tehát azt, hogy Noé apánk idejében kötelező volt sorszámozni (máshogy egy karakteres képernyőn elég pl. érdekes lett volna az interaktív sorbeszúrás, hiszen nem lehetett passziánszozni a (lyuk)kártyákkal ) nem kellene a mai Basic-el összevetni (még akkor se, ha a visszafelé kompatibilitást megtartották)

    De valahogy mégis mindegyik Basicnek hívta/hívja magát.

    Hát ilyen előfordul egy sikeres rendszer fejlesztésekor
    Mutasd a teljes hozzászólást!
  • Hát ez azért lehet, mert mint Juhász Pici a Debreceni Egyetemen mondta volt:

    A Basic nyelvek funkcionalitásának metszete az üres halmaz.



    Van, amiben muszáj sorszámozni, van, amiben csak szabad, és van, amiben tilos. Van, ahol le van korlátozva a változók hossza, van, ahol nincs, stb. stb. De valahogy mégis mindegyik Basicnek hívta/hívja magát.
    Mutasd a teljes hozzászólást!
  • Hát gondolj a BASIC nyelvre!
    Ott egy változónak a típusa (variable), vagy plussz karakterekkel jelölöd ki (a$, b%)


    Érdekes... Én pl.
    dim a as integer, b as string, ..
    formát szoktam használni VBA-ban (és használtam VB6-ban).
    Mutasd a teljes hozzászólást!
  • Hát gondolj a BASIC nyelvre!
    Ott egy változónak a típusa (variable), vagy plussz karakterekkel jelölöd ki (a$, b%)

    Itt az ''a'' változó értéke a teljes futásidő alatt állítható és a tulajdonságait (bináris, szám, sztring, konstans, látható, előző érték, ect.) is ki be kapcsolhatod. Tehát statikus ill dinamikus is lehet. Ez persze szűkítés, de egy Hello World programot nehéz írni benne! De memóriafoglalás egyszerűsítést is lehet csinálni, mert ha a változó értékét elmented és egy másik programrészben felhasználod, majd egy harmadikba kiértékeled (mint a változó jelen és  a múlt értéke).
    Mutasd a teljes hozzászólást!
  • Igen, vagyis képleteket kezelt kifejezésfa formában, abba aztán be lehet helyettesíteni egy értéket, vagy deriválni valamelyik változó szerint...
    Mutasd a teljes hozzászólást!
  • Ezt a BB nyelvet magamnak fejlesztem és nem fogom kiadni!

    A nyelv a Mesterséges Intelligencia programomhoz kell.

    A lényege, hogy az input adatokat fájlból olvasom be (karakter) és a feldolgozás "több" lépcsős (előzmények megtartása). A változók egy adott blokkon belül nem kerülnek feldolgozásra, egy (például) másik blokkban meg kell őrizni az eredeti értéket (constans).

    De ez még nem igényelne egy nyelvet, de a MI-t egy genetikai algoritmustól mentem meg azáltal, hogy MI "írhatja" a feldolgozó program következő generációját (interaktivitás).
    Ugyanis a MI egy NN menetét (is) feldolgozza és az eredményekből "következtetéseket" von le, amit egy "programozással" újra futtat.
    Mutasd a teljes hozzászólást!
  • Tehát:
    f(45 rad) = sin(45 rad) + cos(45 rad) v = 1.37622551335

    ?
    Mutasd a teljes hozzászólást!
  • Iskolás koromban olyan programozás nyelvet építgettem, amiben olyasmit lehetett (bár végül nem lett egészen kész, tehát lehetett volna) írni, hogy:

    f = sin+cos; /* két fv összege is fv */ v = f(45); /* kiértékelés */ g = d(f,1); /* első változó szerinti derivált */
    Mutasd a teljes hozzászólást!
  • megpróbáltam többször is. külön külön és egyben is. nem sikerült. a linkeket meg fogom nézni, bizonyosan hasznos lesz, hiszen nincs haszontalan tudás.
    mindazonáltal a hosszú hozzászólásod bekezdéseire gondoltam. minden mondatban van valamilyen értelem, de valahogy nekem nem állt össze egy kerek mondanivalóvá. kifejtenéd egy kicsit, mert így el vagyok veszve a mondatok közt.
    Mutasd a teljes hozzászólást!
  • Hmm.

    Azért egy kicsit másfajta a megközelítés :)

    Például egy sztring feldolgozáskor szétválogatod azokat CHARACTERS, NUMBER, SEPARATOR, OTHERS és ezekből építheted fel a programod utasításait. Ezekből pedig a programozási nyelvedet. Aztán jól megrágcsálod a szövegest és generálsz egy binárist.


    NODE:

    Most csak a változók es az egytagú függvények vannak "kéz alatt". Mert nemcsk a szemantika és szintaktika a lényege, hanem a programírás közben a fordítóval és a preprocessz résszel is tudsz komunikálni! Lexikális előfordító programot programozol! Hööö?!?


    Itt vannak változók és függvények (igazából nem jó szó rá egyik sem, talán az objektum?). Mindkét csoport entitás, tehát egy változóval is "csinálhatsz" valamit, és egy függvény működését is "átírhatod". A program mindig debug üzemódba fut, a program viszont pure bin lesz (tehát egy végrehajtható programot nem tudsz "debugolni").

    A változónak mindig van deklarációja, hatásköre, láthatósága és egyéb tulajdonsága. Ezt a programírása közben állíthatod! Ha egy változót egy adott részen úgy akarod használni, hogy a benne szereplő érték biztosan megmaradjon (és HA felül akarják írni, dobjon egy hibaüzenetet), megteheted.

    Egy függvény mindig visszatér valamilyen értékkel :) A rendszer alapban tartalmaz minden függvényt (talán std namespace) és külön kell elválasztani (csoportosítani) ahhoz, hogy használni is tudd! Egy egyszerű példa a sin függvény. Mindenütt a MATH részhez tartozik. Itt is lehet MATH csoportba sorolni, de nem kötelező (mert van sin és kész).

    A változónak 3 valamije lehet :) az EGY, a KETTŐ és a SOK. Az EGY, a klasszikus elnevezés. A KETTO a speciális, pl. a változónak lehet egy "előző" értéke is, lehet rá hivatkozni. A SOK, na az a tömb! Egy változó lehet írásvédetté tenni, írhatóvá, szövegessé, tiltani a szöveges-bináris konverziót, értékhatárt beállítani, ect.


    Olvasnivaló:
    http://progmat.uw.hu/oktseg/infoszig/Info18.pdf
    http://parad.web.elte.hu/ELTE/fp2/lexyacc_magyar.pdf
    http://www.tnkcs.inf.elte.hu/vedes/Sipos_Adam_Ertekezes.pdf
    Mutasd a teljes hozzászólást!
  • nem rossz, bár leginkább csak konstansokkal működhet az előre feldolgozott dolog ha jól sejtem. persze a futásidejű tipuskonverzió kifejezetten tetszetős jelenség
    mutatsz kipróbálható verziót?
    Mutasd a teljes hozzászólást!
  • Szóval, hamár ilyen jól elvagyunk eresztve spéci nyelvekkel

    Van nekem is, úgy híjják, hogy BB (BlackBox).

    Ez egy iteratívan interaktív programozási nyelv. Jó lassú és még nincs kész!!!

    A működése egy egyszerű példán bemutatva:

    Van mondjuk a sin függvény. Egyes hátulgombolós nyelvek ezt pl.

    a := sin(65);
    esetleg
    b = sin(65);

    módon képesek CSAK lekezelni!

    A magam részéről ezt egy entitásba szerveztem és a fordítás és feldolgozás ideje alatt kapja meg az a a sin függvény értékét. Tehát ha az írom, hogy a <- sin("3,14"); akkor a a értéke szövegesen 3,14 lesz, és öröm és bodóttá!
    Amikor ténylegesen számot kell csinálni belőle, belső castolással megy, tehát nem kell holmi karakterkonverzióval töltened az idődet!!!

    Ezt én a kettős naprendszerem lakható bolygójának 3 holdára tervezem, ami majd 6500 földi évnek megfelelő 0.17 fénysebességű utazáshoz tervezett űrjárművel elérhető közelségben van.
    Mutasd a teljes hozzászólást!
  • hali

    amúgy is mindennapos téma itt a prog.hu berkein belül a különböző nyelvek szapulása és istenítése. ebben a topicban erre előre definiált lehetőség van, sőt még csak offtopic sem lesz, lévén hogy ez a topic kifejezett témája.
    mindjárt az elején szeretném felkérni a tisztelt nagyérdeműt, hogy bármilyen szubjektív és/vagy objektív szempontok alapján hasonlítsa össze az évek óta szunnyadó, és már valószínűleg a forrását is elvesztett sándor nyelvet a friss ropogós, éppen supportált mau nyelvvel.
    mindezek után jöhetnek természetesen a már bejáratott c# bármivel, vagy js bármivel összehasonlítások, vagy akár php vs java is.
    hogy jó példával járjak elől, egyből megteszem a magam összehasonlítását:

    sándor
    +grafika, +némileg olvasmányos kód, -16bit, -nincs szövegkiirás, csak rajz, -függőségek

    mau
    +beépített brainfuck ezáltal turing teljes, -első olvasatra, sőt másodikra sem olvasmányos a benne irt kód, +függőségek hiánya
    Mutasd a teljes hozzászólást!
abcd