Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2011-06-09, 08:52
  #1
Medlem
Om programmeringsspråk

-JAAA HA! Nu gör jag ett nytt försök att få kunskap, om programmering:

Alltså dator jobbar med program, som blir något, inte minst på bildskärmen.
Till exempel kan jag skriva något i ett ordbehandlingsprogram, som jag filformaterar till en fil. Och när jag sedan matar in filen i en dator blir det vad jag skrev i ordbehandlingsprogrammet. –Filen är alltså ett program.
Men jag kan också skriva ett program genom ett programmeringsspråk. Att jag framställer filen genom programmeringsspråket.

FRÅGA: Är det egentligen någon skillnad på dessa nämnda programmen, som program?

======
Att jag skriver en ramsa genom ett ordbehandlingsprogram, filformaterar ramsan och lagrar den på en webbserverdator under en viss webbadress. Som någon kan ladda ner till sin dator och få upp ramsan på sin skärm.
Att jag skriver något genom ett programmeringsspråk, filformaterar och lägger filen på en webbserverdator.
FRÅGA: Är detta det samma som med ordbehandlingsprogrammet?

…nej, visst inte??
Att jag väl kan lägga filen av ordbehandlingsprogrammet på webbserverdatorn. –Men att filen av programmeringsspråket, först visst?? måste behandlas ..något, innan den kan läggas på webbserverdatorn.

..tackar på förhand.
Citera
2011-06-09, 09:18
  #2
Medlem
Citat:
Ursprungligen postat av B-O Gavne, Västerås
Om programmeringsspråk

-JAAA HA! Nu gör jag ett nytt försök att få kunskap, om programmering:

Alltså dator jobbar med program, som blir något, inte minst på bildskärmen.
Till exempel kan jag skriva något i ett ordbehandlingsprogram, som jag filformaterar till en fil. Och när jag sedan matar in filen i en dator blir det vad jag skrev i ordbehandlingsprogrammet. –Filen är alltså ett program.
Men jag kan också skriva ett program genom ett programmeringsspråk. Att jag framställer filen genom programmeringsspråket.

FRÅGA: Är det egentligen någon skillnad på dessa nämnda programmen, som program?

======
Att jag skriver en ramsa genom ett ordbehandlingsprogram, filformaterar ramsan och lagrar den på en webbserverdator under en viss webbadress. Som någon kan ladda ner till sin dator och få upp ramsan på sin skärm.
Att jag skriver något genom ett programmeringsspråk, filformaterar och lägger filen på en webbserverdator.
FRÅGA: Är detta det samma som med ordbehandlingsprogrammet?

…nej, visst inte??
Att jag väl kan lägga filen av ordbehandlingsprogrammet på webbserverdatorn. –Men att filen av programmeringsspråket, först visst?? måste behandlas ..något, innan den kan läggas på webbserverdatorn.

..tackar på förhand.

När du skriver i t.ex Word så skriver du i ett dokument som du sedan sparar ner till en .docx fil.
När du öppnar den i word så syns den korrekt, men öppnar du den i ett annat program som inte riktigt stödjer det filformatet så kan ju formateringen i texten bli konstig..Menmen..

Men visst kan du göra liknande sak med ett programmeringsspråk, då kan du både läsa och skriva till en fil..Dock vet jag inte om du kan skapa en fil genom programmeringsspråket..
Men principen är det samma att du läser och skriver till en fil..

Vet inte om jag gav ett riktigt korrekt svar på din fråga men ändå..

Till den andra frågan så är det ju samma sak..

Lägger du upp en .docx fil eller liknande så kan en användare ladda ner den till sin dator och få upp den ja..

Men för att en användare ska kunna se ditt program som du programmerat så måste du gjort en release på det genom din programmeringseditor, som slänger in all kod i ett program. Det programmet är det du lägger upp på servern. Men det kan även vara så att användaren inte har rätt framework för att det ska funka på dennes dator..

Kanske har varit otydlig, men hoppas att du fattar ändå..
Citera
2011-06-09, 09:47
  #3
Medlem
Ideriks avatar
Ett program är ju faktiskt en fil det också. Det som gör en fil till ett program, är filformatet (.exe) men även dess innehåll, t.ex ett programmeringspråk. Programmet indikerar för operativsystemet att denna fil ska köras som ett program.

En wordfil (.txt) och en programfil (.exe) är likadana, båda är textfiler som kan innehålla text, men beroende på texten så utför de olika uppgifter. Men en wordfil utför inte direkt några uppgifter förutom att öppnar Word. Word är ett program som kan översätta innehållet till läsbar text åt användaren. Alltså, wordfilen är inget program, men Word.exe är, just för att innehållet är struktuerat på ett speciellt sett (kodord) som operativsystemet kan läsa. En wordfil är ju strukturerat så att en människa kan läsa innehållet, men då krävs en omvandlare, alltså programmet Word.
Du kan ju öppna .exe filen i Word om du vill, men det är ju ganska svårt att läsa det för en människa, eftersom när du filformaterade från en .txt fil till en .exe fil så omvandlade man programmeringspråket till maskinkod som är lättare för operativsystemet att läsa.

Angående ditt andra scenario, så är båda filerna likadana, bara att dom uppfattas olika av operativsystemet beroende på vilket format de har, t.ex .txt eller .exe. Du kan ha helt vanlig text i en .exe fil men operatisystemet kommer inte förstå vad du pratar om. Du kan ju ha programmeringsspråk i en helt vanligt .txt fil, du kommer ju förstå det om du kan just det språket. En sådan textfil kallas faktiskt för källkod eller sourcecode, det är steget innan du ska filformatera det till .exe, det görs med en kompilator, som är ett program som omvandlar text, precis som Word gör.
Word omvandlar inte rakt av från text till text igen, det omvandlar ju på ett lite speciellt sett, så att du inte missförstår mig. I word så kan du ju till exempel använda dig utav bilder eller olika storlekar på texten. Då måste innehållet av wordfilen förklara för word på words egna språk hur olika saker ska uppfattas. Detta följande exempel är inte korrekt utan bara ett liknande exempel på hur det skulle kunna se ut om du vill göra texten lite större:
"här är texten normal storlek![size=23]Denna text är i storlek 23!![/size] här är texten i normal storlek!!".

Hoppas det går att förstå Du skulle nog förstå denna text bättre om du har lite kunskap om programmering.
Citera
2011-06-09, 10:13
  #4
Medlem
TACKAR FÖR OVAN! ..och nu har jag att fundera.
Citera
2011-06-09, 11:56
  #5
Moderator
Falukropps avatar
Övriga OS -> Övriga utvecklingsfrågor.

//mod
Citera
2011-06-09, 19:12
  #6
Medlem
FLYTTAD –UTVECKLINGSFRÅGOR!!!? ..ja kanske här på Flashback? Men rimligen inte i verkligheten, alltså frågan om program och programmering, bör ju vara välförstått för oss lite särskilt datorintresserade.

Och nu har jag talat med en helt liten hög naturvetar gymnasieelever, ..jo visst! som borde veta. Men i alla fall, likt mig, tror att våra vänner här ovan iWild och Iderik ..så att säga inte heller riktigt vet.

======
Särskild fråga
: Varje fil har …visst??? en filändelse.

: -Var kan jag se den? I den redovisningen över filer på lagringsminnet/hårddisken, detta fönster som jag får fram när jag klickar på ikonen i huvudet för ”Microsoft Word”, kan jag väl inte få fram filändelse?

: Vad är filändelsen till för?
Citera
2011-06-09, 20:18
  #7
Medlem
¤¤¤¤¤¤¤ Wiki
En filändelse / filsuffix: består av ett mindre antal bokstäver, oftast tre, avskiljda med en punkt i slutet på ett filnamn.

I vissa operativsystem används filändelsen för att avgöra om filen är exempelvis ett exekverbart program, eller någon form av dokument.
I flera operativsystem används den regelmässigt för att identifiera vilket program ’som’ den hör samman med.

Många webbservrar använder filändelsen för att i en tabell, slå upp vilken MIME-typ filen skall levereras med till en webbläsare. Exempelvis har Apache en lista, mime.types, där en mängd filändelser listas.

Filändelsen är ofta en akronym som hör samman med programmet som den skapats med.

Ibland används ett filprefix istället för ett filsuffix, som till exempel i modulformatet.

Se även:
Lista över ’olika’ filändelser

¤¤¤¤¤¤¤¤¤ Wiki
Filnamn: är namn på filer i en dators filsystem.
Filen identifieras vanligen av en sökväg som anger den katalog där filen finns och det egentliga namnet, som i sin tur oftast består av en fritt valbar första del, en filändelse som anger filformat eller filtyp och i vissa system ett versionsnummer.

Restriktioner på filnamn:
Av historiska orsaker, främst med tanke på prestanda och resurshushållning, är de möjliga filnamnen i många system starkt begränsade. Då man väljer ett filnamn som skall vara gångbart i så många system som möjligt följer man i allmänhet konventionerna i DOS
: högst åtta tecken, punkt och en filändelse på högst tre tecken, tecknen skall vara bokstäver, siffror eller något av ett litet urval tillåtna andra tecken, alla enligt ASCII-kodningen.

Moderna system har lättat på restriktionerna, men fortfarande kan det vara bra att vara försiktig: blankslag och vissa specialtecken kan feltolkas av Unix-systems kommandotolk, tecken andra än de kodade genom ASCII (t.ex. å, ä och ö) tolkas lätt olika på olika system och extremt långa filnamn kan ställa till med problem i olika sammanhang (t.ex. skall filnamnen på en CD-skiva vara högst 31 tecken långa). Specialfall som är problematiska kan konstrueras för de flesta system.

-Jag funderar vidare!
Citera
2011-06-09, 21:26
  #8
Medlem
EN ANNAN FRÅGA i trådämnet:

Alltså jag framställer ett program med hjälp av ett programmeringsspråk.
Att jag ur språkets ordbok, tar fram en samling –av våra standardiserade- skrivtecken för något som jag vill skall ske med programmet, som anges i boken.
Att jag skriver in dessa skrivtecknen i ett …som visst finns till operativsystemprogrammen, redigeringsprogram. Eller skriver in tecknen i Word.
Till att tecknen digitaliseras enligt ASCII-koden, lagrade på arbetsminnet.

-Å sen då???? Att jag ..väl? filformaterar databitarna/ettor- och nollor:na enligt, ja kanske word-filformateringsprogrammet, till en wordfil.
..eller vad???????????

…tackar på förhand.
Citera
2011-06-09, 21:36
  #9
Medlem
Filändelse är irrelevant. Det enda som spelar roll är sekvensen av bytes som är lagrade i filen.

Jävligt översiktligt, ett "program" är en fil (stream av bytes) bestående av körbar maskinkod. Ditt word-dokument är en fil på precis samma sätt, fast bara med en annorlunda sekvens av bytes.
Citera
2011-06-09, 22:46
  #10
Medlem
TACK FÖR DE´! Nibblo.
..och då kan vi väl konstatera att, signaturerna iWild med inlägg nummer 2 och iderik med 3, nog inte ligger riktigt rätt.

MEEEN! Med vad jag skriver senast, att med hjälp av ett programmeringsspråk, ur språkets ordbok, samling skrivtecken för något som jag vill skall ske med programmet, som anges i boken.
Redigeringsprogram. Eller i Word. Digitaliseras, lagrade på arbetsminnet.

-Å sen då???? ..eller vad???????????
Det är väl ändå INTE, DETTA digitaliserade programmet, databitarna/ettor- och nollor:na, som man lägger på, till exempel en webbserverdator, som man kan ladda ner till sin egen dator.
Att det görs något med databitarna/ettor- och nollor:na, däremellan. Kanske något med kompilator, ..vad nu detta är för nått?

…tackar på förhand.
Citera
2011-06-09, 23:42
  #11
Medlem
Ok, du skapar först en fil med källkoden. Här är ett exempel med programmeringsspråket C. Filen slask.c innehåller följande text:
Kod:
#include <stdio.h>

int
main(void)
{
        printf("yo crapface");
        return 0;
}

Vi kan sen kolla hur filen slask.c lagras på hårddisken. En hexadecimal byte-representation av vad som finns i filen nedan, med en översättning till ASCII-värden i högra fältet.
Kod:
$ hexdump -C slask.c
00000000  23 69 6e 63 6c 75 64 65  20 3c 73 74 64 69 6f 2e  |#include <stdio.|
00000010  68 3e 0a 0a 69 6e 74 0a  6d 61 69 6e 28 76 6f 69  |h>..int.main(voi|
00000020  64 29 0a 7b 0a 09 70 72  69 6e 74 66 28 22 79 6f  |d).{..printf("yo|
00000030  20 63 72 61 70 66 61 63  65 22 29 3b 0a 09 72 65  | crapface");..re|
00000040  74 75 72 6e 20 30 3b 0a  7d 0a 0a                 |turn 0;.}..|
0000004b

Från denna textfil kan man skapa ett körbart program genom att "kompilera" den. Grovt förenklat igen, det första steget är att kompilatorn "översätter" C-koden till assembler-kod. Resultatet ser ut som följande (fortfarande ren text!):
Kod:
        .file   "slask.c"
        .section        .rodata
.LC0:
        .string "yo crapface"
        .text
        .globl  main
        .type   main, @function
main:
        leal    4(%esp), %ecx
        andl    $-16, %esp
        pushl   -4(%ecx)
        pushl   %ebp
        movl    %esp, %ebp
        pushl   %ecx
        subl    $4, %esp
        movl    $.LC0, (%esp)
        call    printf
        movl    $0, %eax
        addl    $4, %esp
        popl    %ecx
        popl    %ebp
        leal    -4(%ecx), %esp
        ret
        .size   main, .-main
        .ident  "GCC: (GNU) 4.2.1 20070719 "

Från assembler-koden skapar kompilatorn sedan en "object file", mer känt som ett körbart program, med maskinkod. Ett litet snippet från den ser ur som följande (de hexadecimala bytes'en i mitten är det som ingår i programfilen (maskinkod), med en assembler-översättning till höger):
Kod:
1c000714 <main>:
1c000714:       8d 4c 24 04             lea    0x4(%esp),%ecx
1c000718:       83 e4 f0                and    $0xfffffff0,%esp
1c00071b:       ff 71 fc                pushl  0xfffffffc(%ecx)
1c00071e:       55                      push   %ebp
1c00071f:       89 e5                   mov    %esp,%ebp
1c000721:       51                      push   %ecx
1c000722:       83 ec 04                sub    $0x4,%esp
1c000725:       c7 04 24 01 00 00 3c    movl   $0x3c000001,(%esp)
1c00072c:       e8 4b fd ff ff          call   1c00047c <__init+0x1c>
1c000731:       b8 00 00 00 00          mov    $0x0,%eax
1c000736:       83 c4 04                add    $0x4,%esp
1c000739:       59                      pop    %ecx
1c00073a:       5d                      pop    %ebp
1c00073b:       8d 61 fc                lea    0xfffffffc(%ecx),%esp
1c00073e:       c3                      ret    
1c00073f:       90                      nop

Sekvensen av maskinkod-bytes är alltså det som lagras på din hårddisk som "program".
Citera
2011-06-10, 00:11
  #12
Medlem
-HJÄÄÄÄÄÄLP!
..nu skall jag gå och nanna på kudden. -Natti natti.
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback