Gå til innhold

worseisworser

Medlemmer
  • Innlegg

    187
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av worseisworser

  1. Velkommen,

     

    Det jeg lurer på er som følgende; Er det mulig å lære programmering uten datakurs?

     

    Ja. Snur en på det er det ikke mulig å lære programmering med kun "datakurs". En må ha en genuin interesse for det; en slags kombinert hobby + jobb holdning til det.

     

    Jeg er interessert i å lære PHP-programmering, MySQL-database, osv. Men er jeg avhengig av å gå på en høyskole eller ta et datakurs hos for eksempel NKI for å lære dette?

     

    Nei.

     

    Det kan være lurt å vurdere noe annet enn PHP forresten.

     

    I teorien så burde det være mulig å sette seg inn i det dersom en har en lærebok rettet mot programmeringsspråket, som for eksempel "Snarveien til PHP-programmering" etc?

     

    Drit i å bruke norske bøker til dette. Gå direkte til den beste boken du finner om emnet; disse er på engelsk.

  2. Kan nevne at man i Ruby har en konvensjon som sier at "farlige metoder" har navn som slutter på "!". Og mutasjon (dvs. endring av data) er farlig.

    Jeg må innrømme at jeg synes ikke det at en funksjon/metode endre data er farlig. Det som er farlig er å gi funksjoner dårlige navn, Og ikke være konsekvent i hvordan man gjør ting.

     

    Det er vel ikke "farlig" sånn generelt sett, men i sammenheng med samtidighet (multi-trådet programmering f.eks.) er dette (mutering av delte data) potensielt veldig "farlig". Ikke så dumt med noen naming conventions da nei -- så det er lett å se/huske hvilke funksjoner som muterer data.

     

    ..og jeg må innrømme at jeg er litt dårlig på dette selv; jeg legger ikke til ! på enden av navnene på av alle funksjoner som muterer ting; men kanskje spesielt i sammenheng med høynivåfunksjoner hvor problemene allerede er løst på "innsiden" (v.h.a. funksjoner som har ! på enden av seg) uansett. :)

  3. Jeg har en forretningside. Det gjelder musikk. Hvis du er interessert i å vite mer, ta kontakt. Jeg gir deg en sum penger for at du koder ideen, men jeg tar prosentene firmaet kan tjene. Jeg har ideen, du lager den. Ikke si det er uretferdig, for det er ikke så greit å komme opp med ideen heller. Ideen er veldig vanskelig å lage, du må virkelig kunne det å lage programmer. Det handler om et omfattende wysiwyg-program til å lage musikk på en ny måte med. Et nytt filformat. Og muligens etterhvert en chip som revulusjonerer slik cd-er fungerer i dag.

     

    Husk at vi må ha klare avtaler. Det er min ide, og du er min ansatt. Du får ikke ideen, du bare lager den. Jeg tenker at overskuddet skal gå til fattige barn. Jeg er sosialkapitalistrevulusjonær nemlig.

     

    Problemet er at du kan ikke få pengene før ideen er i gang. Vi må "starte et firma sammen". Jeg er i starten, har ikke så mye penger, men jeg vet at ideen mest sansynlig kommer til å hove inn et ganske stort lass med penger. Det er jeg helt sikker på faktisk! ;) Jeg har forresten patent på ideen.

     

    lol

    • Liker 2
  4. $(..).is(:checked) ===> undefined ... men ... $(..)is.(":checked") ===> true/false

     

    GRRR.

     

     

    (..savner type warnings alá SBCL. Ja, en kan ha type warnings i dynamiske språk, også.)

     

    edit:

    ..men :blah gir vel ikke noen mening i JS i utgangspunktet; brainfart sånn sett. Det gir mening (kan brukes som verdi omtrent på samme vis som "literal strings") i andre språk.

  5. edit:

    Om overspesialisering m.t.p. språk, hvis det er det du mener, kunne jeg gjerne tenkt meg å se på Haskell og kanskje OCaml o.l..

    Hva sier du til dette?

     

    I have been using OCaml at work for a year now, so here are some reasons why I would not want to use it for software development (but see caveats!).

    Kilde: http://sds.podval.org/ocaml-sucks.html

     

    Det første jeg kommer på (å si) er at Sam Steingold virket veldig, veldig kjent av en eller annen grunn -- og sant nok, han har jo jobbet med gamle CLISP; en av de første Common Lisp'ene jeg var borti. Tingen kjørte til og med på en "stusslig" liten hjemmedatamaskin fra 80 -> 90-tallet(#1) kalt Commodore Amiga 500! En 7Mhz (det er hele 0.007 Ghz det) maskin -- med 512kB minne. :)

     

    Det andre er at det kan hende han har rett, for jeg vet nesten ingen ting om OCaml; unntatt at det, tror jeg, er annerledes enn hva jeg allerede har vært borti.

     

    Så kanskje Haskell da? ..men then-again det finnes antageligvis nok av folk der ute som synes Haskell suger også -- og selvfølgelig er det slik med det meste annet også; C++ også: http://yosefk.com/c++fqa/

     

    edit: ..eller kanskje Scala er en interessant kandidat verdt å prøve ut også? Et eller annet annerledes og nytt i hvert fall. :)

    edit2: ..eller hva med noe helt annet som f.eks. Agda? http://en.wikipedia.org/wiki/Agda_(programming_language)

     

     

    #1: Lisp er mye eldre enn meg og dette, men artig at mye av det (koden; implementasjoner; deler av implementasjoner) fortsatt eksisterer og er i bruk. SBCL har en lang, lang historie, også; med Meta-. ("find definition") kan en navigere dypt innover i implementasjonen (store deler av SBCL er skrevet i seg selv eller Common Lisp da), og en vil finne igjen masse gammel kode og kommentarer med interessant historie i.

  6. Definer "bedre"?

    Ihvertfall bedre enn godt nok og at jeg slipper å lage dvs. programmere - mitt eget Windows grensesnitt om jeg skal programmere for dekstoppen.

     

    Spurver skyter man bedre med en finkalibret hagle fremfor en kanon. Kanoner foretrekkes i krig.

     

    Er der noen løse kanoner på dette forum dekket som peker i alle retninger? Det er ikke du siden du er ganske konsistent :thumbup: på LISP og LISP relaterte teknologier.

     

    Analogiene dine fungerer ikke like bra alltid, men jo, jeg har mulighet til å gjøre desktop/GUD/RAD-programmering v.h.a. Lisp -- samtidig som jeg også har mulighet til å gjøre web- og databaseprogrammering v.h.a. Lisp --- om jeg vil dette.

     

    edit:

    Om overspesialisering m.t.p. språk, hvis det er det du mener, kunne jeg gjerne tenkt meg å se på Haskell og kanskje OCaml o.l.. Jeg synes ikke C++, C#, Python, Delphi (Pascal o.s.v.), PHP, Ruby o.l. er spesielt interessante språk; det er lite nytt og annerledes der som trigger nysgjerrigheten min.

  7. Så LISP er bedre? Kunne tenkt meg å ta en titt på LISP, men resten av mitt liv er for kort til det.

     

    Definer "bedre"? (..jeg bryr meg ikke så fryktelig, og bruker gjerne C++ på Linux også om det faktisk hadde passet best til <whatever> slags type problem jeg har foran meg..)

     

    edit:

    ..men C + Lisp var RMS's originale idé eller visjon for GNU sånn btw.; det som senere ble GNU/Linux:

     

    I decided instead to make a Unix-like operating system that would have Lisp implementations to run as user programs. The kernel wouldn't be written in Lisp, but we'd have Lisp. So the development of that operating system, the GNU operating system, is what led me to write the GNU Emacs.

    http://www.gnu.org/gnu/rms-lisp.html

  8. En ting som derimot er veldig stygt i alle C språk er switch:

    Hva er stygt med switch? Det er da svært oversiktlig å greit i stedet for å nøste ifs og elses? Gjør det enkelt, så enkelt som mulig, men ikke enklere.

     

    Det Geir påpeker her er jo åpenbart ikke switch som idé i seg selv. Hele denne sidediskusjonen (basert på det å forsøke å finne noen teite små illustrerende eksempler) har ingenting med if kontra switch å gjøre heller, men noe som kan eller ikke kan være felles for dem begge.

     

    Det jeg påpekte, og dette er igjen bare ett av mange eksempler satt i sammenheng med det egentlige generelle poenget jeg forsøkte å fremheve; var hvor mye ekstra "bråta" som var nødvendig for å få språk med i utgangspunktet "fin syntax" (d.v.s. ikke Lisp, i følge noen da) til å gjøre helt enkle ting som å "simulere" at if (og i grunn da så klart switch og case o.l.) er expressions fremfor statements -- d.v.s. at disse kan returnere eller "ha" verdier.

     

    Jeg er uansett fornøyd; Geir har etter hva jeg kan se forstått hva jeg mente klinkende klart -- det generelle poenget både i sin helhet, men også det generelle innenfor rammene av dette eksempelet (på tvers av if, case, cond, switch, o.l.) ... og da er det forøvrig ikke så viktig for meg at han er enig eller selv synes Lisp er fantastisk; bare han forstår og kanskje t.o.m. respekterer(?) litt av grunnen til at andre mennesker faktisk sterkt foretrekker språk i Lisp-familien både m.t.p. syntax og semantikk. Altså som språk eller verktøy da -- som helhet, ikke bare "på tross av".

     

    edit:

    PS: Feber, og glad jeg har "The iBux" her. Synd det med Steve.

  9. Skal en ha det som lambdauttrykk (regner med at det er javakode du skrev, men jeg kan ikke lambda i java, som vel er en ganske ny sak) så kan en skrive det slik i C#:

    () => dynamic_p ? dynamic_subdomain : ""

    Lambdaer (og kanskje closures) var planlagt for Java 7, men kommer ikke før Java 8, som er ventet i Oktober 2012.[1] Og syntaksen? Jo, etter nøye overveiing i de fire årene som har gått siden C# implementerte lambdaer i 3.0 …

     

    (trommevirvel)

    … har man omsider bestemt seg for adoptere syntaksen til C#.[2] Fremskritt!

     

    En trenger ikke bruke Java for å dra nytte av det som egentlig er interessant med "Java"; JVMen. Twitter bruker f.eks. Scala og Clojure nå -- og her har en anonyme funksjoner og closures m.m..

     

    ..og..

    http://engineering.twitter.com/2011/04/twitter-search-is-now-3x-faster_1656.html

  10. Det siste du sier er ganske i konflikt med det første du nevner.

     

    Jeg synes forøvrig at språkene jeg nevnte over (de jeg kan) også ser jævlige ut:

     

    (function(){ 
     if(dynamic_p) 
       return(dynamic_subdomain); 
     else 
       return(""); 
    })();
    

     

    ..hva f. liksom (du klager på paranteser eller støy generelt?), kontra:

     

    (if dynamic-p
       dynamic-subdomain
       "")
    

     

    Jeg vet ikke om dette er et veldig godt eksempel, men det er i hvert fall et-eller-annet, og jeg hadde det foran meg just nuh.

     

    dynamic_p ? dynamic_subdomain : ""

    skal være tilsvarende det du skrev over uten bruk av lambdauttrykk.

    Skal en ha det som lambdauttrykk (regner med at det er javakode du skrev, men jeg kan ikke lambda i java, som vel er en ganske ny sak) så kan en skrive det slik i C#:

    () => dynamic_p ? dynamic_subdomain : ""

    Skal du utføre lambdauttrykket (som er fullstendig bortkastet, ettersom du kan droppe hele lambdaen da) så må du skrive slik:

    (() => dynamic_p ? dynamic_subdomain : "")()

     

    En ting som derimot er veldig stygt i alle C språk er switch:

    switch(value)
    {
     case etelleranner:
       GjørNoe();
       break;
     case noeannet:
       GjøreNoeAnnet();
       break;
     default:
       AlleAndreTilfeller();
    }

    Isj!

     

    Jepp, ternary glemte jeg (dette var JavaScript btw.), men poenget var uansett ikke dette spesifikt; lignende ting å irritere seg over går igjen flere steder -- hvor "omveier" da altså ikke eksisterer.

     

    user> (defn switch-test [x]
           (println (case x
                      42 "the ultimate answer!"
                      0 "zero!"
                      "something else...")))
    #'user/switch-test
    
    user> (switch-test 42)
    the ultimate answer!
    nil
    
    user> (switch-test 0)
    zero!
    nil
    
    user> (switch-test "huh")
    something else...
    nil
    
    user> 
    

     

    ..basert på samme tema (returverdier; alt er uttrykk) dette da, men det finnes masse mer; dette var bare noe (ett irritasjonsmoment) jeg tilfeldigvis hadde foran meg akkurat nå ...

  11. ..men hvorfor gjøre det så åpenlyst i din noen ganger overfladiske-ikke-basert-på-egen-erfaring type kritikk at du ikke kan Lisp? Tenk på at det også fungerer andre veien. D.v.s., jeg har bakgrunn fra Java, C, C++ og PHP og synes, etter å ha gått mot Lisp (som forøvrig alle språk går mot samme hva du synes eller tror om akkurat dette; bare se på C# og Linq o.l.....) -- at disse språkene er ganske så forferdelige å jobbe med i dag. Jeg gidder bare ikke å påpeke det hele j tiden ... :>

     

    Tilsvarende, jeg kan ikke Haskell, men har masse respekt for det basert på det jeg hører og forstår. Jeg føler ingen frykt ......

    Litt hårsår eller?

     

    Jeg har da respekt for LISP på noen ting, det er for eksempel ekstremt regulært, og kan enkelt utvides. Stilig at hele dokumentet uttrykkes som lister. Siden det også bruker prefiks notasjon er det heller ikke noen forskjell på operatorer og andre funksjoner.

     

    Det ser derimot ut som noen tok Dansk og banket det med en veldig stygg grevlig.

     

    Det siste du sier er ganske i konflikt med det første du nevner.

     

    Jeg synes forøvrig at språkene jeg nevnte over (de jeg kan) også ser jævlige ut:

     

    (function(){ 
     if(dynamic_p) 
       return(dynamic_subdomain); 
     else 
       return(""); 
    })();
    

     

    ..hva f. liksom (du klager på paranteser eller støy generelt?), kontra:

     

    (if dynamic-p
       dynamic-subdomain
       "")
    

     

    Jeg vet ikke om dette er et veldig godt (generelt) eksempel, men det er i hvert fall et-eller-annet, og jeg hadde det foran meg just nuh.

  12. Å steppe igjennom et program via debugger vil nok bli en interessant affære.

    Spesielt hvis det er LISP du skal debugge ^^

    Selv uavhengig av verktøy (men Slime er supert) er Lisp av natur enkelt å debugge.

    Jeg er ikke noen LISP programmerer, men jeg får litt kreft i øynene av parantesene og operator prefiks notasjon, samt de generelt spartanske syntaksreglene. Dog det er sikkert en vanesak.

     

    ..men hvorfor gjøre det så åpenlyst i din noen ganger overfladiske-ikke-basert-på-egen-erfaring type kritikk at du ikke kan Lisp? Tenk på at det også fungerer andre veien. D.v.s., jeg har bakgrunn fra Java, C, C++ og PHP og synes, etter å ha gått mot Lisp (som forøvrig alle språk går mot samme hva du synes eller tror om akkurat dette; bare se på C# og Linq o.l.....) -- at disse språkene er ganske så forferdelige å jobbe med i dag. Jeg gidder bare ikke å påpeke det hele j tiden ... :>

     

    Tilsvarende, jeg kan ikke Haskell, men har masse respekt for Haskell basert på det jeg hører og forstår, men også og kanskje ennå viktigere ovenfor det jeg ikke forstår. Jeg føler ingen frykt!

  13. Jeg har aldri lært meg LISP, men ser at du skriver mye om språket og så vidt jeg vet kjenner du også C / C++.

     

    Kan du liste opp 5 (helst 10) grunner til at jeg skulle se på LISP. Spesielt, brukes det som Java til webutvikling? Hvis ja,

    1. Hvor utbredt er det?
    Ikke spesielt.
     

    Hvor stort bruker samfunn har det?
    Aner ikke; nok. Sjekk og tell på #clojure og #lisp på IRC selv (freenode), og kanskje i ennå større grad; sjekk forum (google groups o.l.).
     
    edit: Eller m.t.p. det at Clojure er veldig godt integrert med JVMen og/eller kan kommunisere med (eller rett og slett "snakke") Java kan en godt ta med miljøene og bibliotekene her også i "regnestykket". Da blir jo selvfølgelig ting kjempesvært.
     

    Hvem kan eventuelt hoste LISP drevne siter?

     

    SBCL og Clojure fungerer bra på Xen, og noe annet enn noe type VPS (eller dedikert server) er ikke interessant i utgangspunktet.

  14. Å steppe igjennom et program via debugger vil nok bli en interessant affære.

    Spesielt hvis det er LISP du skal debugge ^^

     

    Åh, hvorfor det? SBCL lagrer f.eks. linje og kolonne posisjon for hvert enkelt atom/form -- og holder denne metainfoen hele tiden oppdatert ettersom en gjør endringer i koden.

     

    Selv uavhengig av verktøy (men Slime er supert) er Lisp av natur enkelt å debugge.

     

    edit:

    Jeg orker sjeldent å følge disse trådene noe særlig nøye -- så mulig jeg ser dette i sammenheng av noe annet, men variabler blir selvfølgelig ikke implisitt deklarert i Lisp.

  15. Trenger du noe innstikk til det?

     

    Kan du ikke bare begynne å skrive HTML5, JS og CSS3 direkte i editoren og lagre filene som html, js og css filer?

     

    Enig med srbz her. Automatisk indentering er kanskje det aller, aller viktigste -- tett fulgt av syntax highlighting. Jeg ser på det som krav i grunn. Grunnleggende validering bør også foregå i sanntid; i hvert fall sjekk av balansering.

     

    Jeg har ikke brukt Eclipse så mye, men en har http://www.eclipse.org/webtools/ som i tur leder til f.eks. http://www.eclipse.org/webtools/sse/

×
×
  • Opprett ny...