/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Forskellige eksempler på syntax ....
Fra : _ carsten thomsen


Dato : 10-06-02 05:50

Hej!

Jeg mangler en web-side, som kan give forskellige eksempler på syntaks!

Jeg fandt en siude på et tidspunkt... men nu kan jeg ikke finde den igen!

man-siderne er gode - men som newbie kunne man godt bruge lidt eksempler!

På forhånd tak!

Hilsen
Carsten

cajuth@tiscali.dk




 
 
Niels Andersen (10-06-2002)
Kommentar
Fra : Niels Andersen


Dato : 10-06-02 07:39

_ carsten thomsen wrote in
<3d042fe2$0$57479$edfadb0f@dspool01.news.tele.dk>:
> Jeg mangler en web-side, som kan give forskellige eksempler på syntaks!

Syntax til hvad?

> man-siderne er gode - men som newbie kunne man godt bruge lidt eksempler!

Jeg vil så gætte på, at du mener "alt hvad man laver i text-mode"?

Læs nogle tutorials om de programmer du har problemer med. Du vil nok
hurtigt lære at læse man-siderne.

--
Mvh.

Niels Andersen
Linux 2.4.18 - Debian 3.0


Dennis Petersen (10-06-2002)
Kommentar
Fra : Dennis Petersen


Dato : 10-06-02 18:11

> Syntax til hvad?
> Jeg vil så gætte på, at du mener "alt hvad man laver i text-mode"?
>
> Læs nogle tutorials om de programmer du har problemer med. Du vil nok
> hurtigt lære at læse man-siderne.

Personligt kunne jeg da godt tænke mig tips og triks til hvordan man f.eks.
leder i alle filer under mig med indholdet "Dette er en streng"...
Og hvad med
Ændre alle filer af filtypen conf som indeholder "Dette er en streng" og
udskift det med "Dette er en anden streng".
Eller hvad med det at putte ting i /etc/skel der kan lave noget smart som
f.eks. sende en e-mail baseret på brugernavnet - oprette e-mail konti o.s.v.
alt baseret på noget parameter eller aflæsning af f.eks. det brugernavn man
opretter, eller den gruppe man opretter brugeren i, eller hvilken
hjemmemappe brugeren har fået... jeg kunne blive ved, men jeg kan ikke finde
noget "sigende" om det.
mvh
Dennis P



Claus Rasmussen (10-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 10-06-02 18:21

Dennis Petersen wrote:

> Personligt kunne jeg da godt tænke mig tips og triks til hvordan man
> f.eks. leder i alle filer under mig med indholdet "Dette er en streng"...

grep -l "Dette er en streng" $(find . -type f)


> Ændre alle filer af filtypen conf som indeholder "Dette er en streng" og
> udskift det med "Dette er en anden streng".

perl -pi -e 's/En streng/En anden streng/g' $(find . -name '*.conf')


> Eller hvad med det at putte ting i /etc/skel der kan lave noget smart som
> f.eks. sende en e-mail baseret på brugernavnet - oprette e-mail konti
> o.s.v. alt baseret på noget parameter eller aflæsning af f.eks. det
> brugernavn man opretter, eller den gruppe man opretter brugeren i, eller
> hvilken hjemmemappe brugeren har fået... jeg kunne blive ved, men jeg kan
> ikke finde noget "sigende" om det.

Du skal lære noget om shell programmering. Et godt sted at starte er
sslug's sider: www.sslug.dk

-Claus


DUdsen (10-06-2002)
Kommentar
Fra : DUdsen


Dato : 10-06-02 21:26

Dennis Petersen wrote:

>> Syntax til hvad?
>> Jeg vil så gætte på, at du mener "alt hvad man laver i
>> text-mode"?
>>
>> Læs nogle tutorials om de programmer du har problemer med. Du
>> vil nok hurtigt lære at læse man-siderne.
>
> Personligt kunne jeg da godt tænke mig tips og triks til
> hvordan man f.eks. leder i alle filer under mig med indholdet
> "Dette er en streng"... Og hvad med
> Ændre alle filer af filtypen conf som indeholder "Dette er en
> streng" og udskift det med "Dette er en anden streng".

Her er så lidt godnatlæsning

http://www.geocities.com/SiliconValley/7331/ten_perl.html
http://www.linuxfocus.org/English/July1998/article53.html
http://www.codebits.com/p5be/ch04.cfm
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/js56reconearlybeginnings.asp
http://www.mit.edu/perl/perlre.html
http://etext.lib.virginia.edu/helpsheets/regex.html

> Eller hvad med det at putte ting i /etc/skel der kan lave noget
> smart som f.eks. sende en e-mail baseret på brugernavnet -
> oprette e-mail konti o.s.v. alt baseret på noget parameter
> eller aflæsning af f.eks. det brugernavn man opretter, eller
> den gruppe man opretter brugeren i, eller hvilken hjemmemappe
> brugeren har fået... jeg kunne blive ved, men jeg kan ikke
> finde noget "sigende" om det. mvh

Måske de her kan hjelpe
http://www.linuxdoc.org/HOWTO/Bash-Prompt-HOWTO/
http://www.linuxdoc.org/HOWTO/DOS-Win-to-Linux-HOWTO.html

--
Daniel Udsen <dudsen@gjk.dk>
Køer er gudommlige www.koen.dk

Dennis Petersen (10-06-2002)
Kommentar
Fra : Dennis Petersen


Dato : 10-06-02 21:39

Orv...det var da eller en spandfuld!
KANON tak!..
Jeg skal nok få tygget mig igennem det, men nok ikke lige "i nat"...

Fedt med så hurtige svar - jeg tror dælme der er flere programmører herinde
end der er systemadministratorer...

mvh
Dennis P



Kent Friis (10-06-2002)
Kommentar
Fra : Kent Friis


Dato : 10-06-02 21:52

Den Mon, 10 Jun 2002 22:39:26 +0200 skrev Dennis Petersen:
>Orv...det var da eller en spandfuld!
>KANON tak!..
>Jeg skal nok få tygget mig igennem det, men nok ikke lige "i nat"...
>
>Fedt med så hurtige svar - jeg tror dælme der er flere programmører herinde
>end der er systemadministratorer...

De eksempler du har fået, har været shell scripts (plus perl), og shell
scripts betragtes som en nødvendighed for unix-admins, hvorimod det
skal være rimelig avanceret for at blive betragtet som programmering.
Perl ligger lidt mere ovre imod programmering, men er stadig en god ting
at kunne som admin.

Mvh
Kent
--
If I wanted a blue screen, I would type "xsetroot -solid blue"
- not D:\WINNT\SETUP

DUdsen (10-06-2002)
Kommentar
Fra : DUdsen


Dato : 10-06-02 23:42

Dennis Petersen wrote:

> Orv...det var da eller en spandfuld!
> KANON tak!..
> Jeg skal nok få tygget mig igennem det, men nok ikke lige "i
> nat"...
>
> Fedt med så hurtige svar - jeg tror dælme der er flere
> programmører herinde end der er systemadministratorer...

Ikke nødvendigvis regexp og shell scrpt er noget enhver
superbruger og/eller administrator kender til.
Jeg har mini linsk ved hånden fordi jeg stadig er ved at lære det

Men grensen mellen programør og system administrator er somme
tider ret flydene i unix verdenen.

--
Daniel Udsen <dudsen@gjk.dk>
Køer er gudommlige www.koen.dk

Dennis Petersen (11-06-2002)
Kommentar
Fra : Dennis Petersen


Dato : 11-06-02 21:02

> Men grensen mellen programør og system administrator er somme
> tider ret flydene i unix verdenen.

Det er ikke fordi jeg er i tvivl om at jeg kan lære det, men jeg har aldrig
forbundet programmering med konfiguration og opsætning - men det er nok
fordi jeg kommer fra Winnie og Java verdenen - Men jeg er da begyndt at
indse at man kan, måske, ALT for meget med en Linux/Unix, og Ih hvor er det
fedt. Jeg er selv Java programmør og elsker at lave utilities, så mon ikke
det bliver det der driver mig videre ud i shell programmeringen?
mvh
Dennis P



Thorbjoern Ravn Ande~ (11-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 11-06-02 21:12

"Dennis Petersen" <fessor@software.dk> writes:

> fedt. Jeg er selv Java programmør og elsker at lave utilities, så mon ikke
> det bliver det der driver mig videre ud i shell programmeringen?

Lær Perl. Du vil elske det!
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (11-06-2002)
Kommentar
Fra : Kent Friis


Dato : 11-06-02 21:59

Den 11 Jun 2002 22:11:51 +0200 skrev Thorbjoern Ravn Andersen:
>"Dennis Petersen" <fessor@software.dk> writes:
>
>> fedt. Jeg er selv Java programmør og elsker at lave utilities, så mon ikke
>> det bliver det der driver mig videre ud i shell programmeringen?
>
>Lær Perl. Du vil elske det!

Sikker? Mange java-folk kan godt lide alle de begrænsninger java sætter,
og betragter de manglende begrænsninger som en ulempe ved fx. C++. De
begrænsninger jeg tænker på, er ting som at tvinge programmøren til at
overholde en bestemt måde at lave OO-programmering...

Perl derimod tvinger ikke folk til noget som helst. Og da slet ikke at
skrive læselig kode

Mvh
Kent
--
Object orientation: the idea, that humans find it easier to understand
"you.car.engine.start" than "start your car engine".

Thorbjoern Ravn Ande~ (11-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 11-06-02 22:36

leeloo@phreaker.net (Kent Friis) writes:

> >> fedt. Jeg er selv Java programmør og elsker at lave utilities, så mon ikke
> >> det bliver det der driver mig videre ud i shell programmeringen?
> >
> >Lær Perl. Du vil elske det!
>
> Sikker? Mange java-folk kan godt lide alle de begrænsninger java sætter,
> og betragter de manglende begrænsninger som en ulempe ved fx. C++. De
> begrænsninger jeg tænker på, er ting som at tvinge programmøren til at
> overholde en bestemt måde at lave OO-programmering...

Men nu var det i sammenligning med at lære shell-programmering.

Hvordan plejer _du_ at lave objektorienteret shell-programmering? Er
det vigtigt her?


> Perl derimod tvinger ikke folk til noget som helst. Og da slet ikke at
> skrive læselig kode

Myte. Du kan lave grim kode i alle sprog. Og pæn.

I Perl har du bare flere muligheder for at lade programmet afspejle
din tankegang.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Regnar Bang Lyngsø (11-06-2002)
Kommentar
Fra : Regnar Bang Lyngsø


Dato : 11-06-02 23:27

Thorbjoern Ravn Andersen wrote:

> Myte. Du kan lave grim kode i alle sprog. Og pæn.

Jeps. Men 9 ud af 10 Perl-programmører synes at ulæselig kode er pæn.
Her tænker jeg specielt på pattern matching og uhæmmet (implicit) brug
af $_. Regulære udtryk og pattern matching er _smart_, men skal ikke
være ret lange før en kommentar er påkrævet for at man kan forstå, hvad
der foregår.

Det er et helvede at lave småændringer i Perl scripts (skrevet af andre)
med mindre man roder med Perl til daglig. Det er uhyre bøvlet at skulle
gå og huske hvad $/, $[ etc. betyder. Der er det IMHO nemmere at se hvad
der sker i et Pascal, C eller Javaprogram.

> I Perl har du bare flere muligheder for at lade programmet afspejle
> din tankegang.

I givet fald mener jeg at mange Perl-programmører har en rodet
tankegang.

Knus
   Regnar

Thorbjoern Ravn Ande~ (11-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 11-06-02 23:55

Regnar Bang Lyngsø <regnar@gmx.net> writes:

> > Myte. Du kan lave grim kode i alle sprog. Og pæn.
>
> Jeps. Men 9 ud af 10 Perl-programmører synes at ulæselig kode er pæn.
> Her tænker jeg specielt på pattern matching og uhæmmet (implicit) brug
> af $_. Regulære udtryk og pattern matching er _smart_, men skal ikke
> være ret lange før en kommentar er påkrævet for at man kan forstå, hvad
> der foregår.

Tal er taknemmelige. 89.3% af Unixbrugere synes awk har pænere kode
end sed. Eller opfandt du også tallet til lejligheden?

Jeg skal ikke gå i dybden med tingene men blot påpege at /x tilvalget
afhjælper problemet med s// en hel del.

> Det er et helvede at lave småændringer i Perl scripts (skrevet af andre)
> med mindre man roder med Perl til daglig. Det er uhyre bøvlet at skulle
> gå og huske hvad $/, $[ etc. betyder. Der er det IMHO nemmere at se hvad
> der sker i et Pascal, C eller Javaprogram.

Pascal og C er jeg ikke enig med dig i (udover at syntaksen måske
ligner det du roder med ellers), men med Java er der gjort en stor
indsats for at sprog og runtimemiljø er meget konsistente og
beskrivende i navngivningen, og der er lagt meget kraftigt op til at
man selv benytter samme stil.

At programmører benytter $/ og $[ istedet for "use English" og hvad
deraf følger, er et tegn for mig på at de har lært sproget ud fra en
masse gamle eksempler eller 10 år gamle bøger, og ikke benytter de nye
ting der er kommet til i de nyere Perl 5 versioner.


>
> > I Perl har du bare flere muligheder for at lade programmet afspejle
> > din tankegang.
>
> I givet fald mener jeg at mange Perl-programmører har en rodet
> tankegang.

Du bliver ikke tvunget til at være pertentlig, nej.

Jeg tænkte bare på sådan en ting som

do whatever unless !login_validated;

versus

do whatever if login_validated;

Der sker præcis det samme, men du har mulighed for at vælge den
variant der bedst passer til det faktiske udtryk du har i hovedet.
Mærkelige negeringer er ikke altid af det gode.

Men med hensyn til den oprindelige pointe - Perl er stadig et godt
sprog til små utilities fordi du - i modsætning til Java - kan få en
masse arbejde gjort med en beskeden stump kode uden at skulle skrive i
dagevis for at få det til at oversætte. Der er så nogen
skaleringsproblemer med koden, men i det domæne der blev antydet her,
er det i mine øjne ok.

Herudover findes der også andre sprog end lige Java, Pascal, C og
Perl. De har hver især fordele og ulemper, men man skal kende dem
førend man kan bruge dem.

Som et eksempel på noget hvor det virkelig gjorde en forskel (og, nej,
LISP er for mig noget man programmerer Emacs i)

http://slashdot.org/article.pl?sid=01/05/01/1539239&mode=nested&tid=156

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (12-06-2002)
Kommentar
Fra : Kent Friis


Dato : 12-06-02 19:20

Den 11 Jun 2002 23:36:01 +0200 skrev Thorbjoern Ravn Andersen:
>leeloo@phreaker.net (Kent Friis) writes:
>
>> >> fedt. Jeg er selv Java programmør og elsker at lave utilities, så mon ikke
>> >> det bliver det der driver mig videre ud i shell programmeringen?
>> >
>> >Lær Perl. Du vil elske det!
>>
>> Sikker? Mange java-folk kan godt lide alle de begrænsninger java sætter,
>> og betragter de manglende begrænsninger som en ulempe ved fx. C++. De
>> begrænsninger jeg tænker på, er ting som at tvinge programmøren til at
>> overholde en bestemt måde at lave OO-programmering...
>
>Men nu var det i sammenligning med at lære shell-programmering.
>
>Hvordan plejer _du_ at lave objektorienteret shell-programmering? Er
>det vigtigt her?

Shell-"programmering" er velegnet til nogle ting, og komplet uegnet til
andre. Der er en grund til at det hedder scripts, og ikke programmering.

>> Perl derimod tvinger ikke folk til noget som helst. Og da slet ikke at
>> skrive læselig kode
>
>Myte. Du kan lave grim kode i alle sprog. Og pæn.
>
>I Perl har du bare flere muligheder for at lade programmet afspejle
>din tankegang.

Og det er nærmest det modsatte af java-folks ideer om at sproget skal
tvinge en til en bestemt måde at skrive koden på.

Mvh
Kent
--
"Intelligence is the ability to avoid doing work, yet get the work done"
- Linus Torvalds

Thorbjoern Ravn Ande~ (12-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 12-06-02 19:59

leeloo@phreaker.net (Kent Friis) writes:

> >Hvordan plejer _du_ at lave objektorienteret shell-programmering? Er
> >det vigtigt her?
>
> Shell-"programmering" er velegnet til nogle ting, og komplet uegnet til
> andre. Der er en grund til at det hedder scripts, og ikke programmering.

Aha. Og hvornår er det så "rigtig" programmering?

Jeg vil godt vide hvilke faciliteter der skal til, førend du fjerner
gåseøjnene.

> >I Perl har du bare flere muligheder for at lade programmet afspejle
> >din tankegang.
>
> Og det er nærmest det modsatte af java-folks ideer om at sproget skal
> tvinge en til en bestemt måde at skrive koden på.

Kunsten er så at vælge det værktøj man har det bedst med.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Dennis Petersen (12-06-2002)
Kommentar
Fra : Dennis Petersen


Dato : 12-06-02 20:47

> Aha. Og hvornår er det så "rigtig" programmering?
Jeg tør jo dårlig blande mig, men den opfattelse jeg har er at scripting er:
Perl (læs lige nederst), såvel som Shell scripts, JScript, Javascript,
VBScript, JSP (uden brug af rigtig Java men kun med JSP tags) og andre
lignende scriptsprog bruges til at lime programmer som man har PROGRAMMERET
sammen med.
Dvs. at man ikke selvstændigt laver et program der kører selvstændigt men
bruger mange andre programmer og får dem til at samspille for at få et
SYSTEM ud af det - og ja... det kan man også fra PROGRAMMERNE selv, men det
er typisk hurtigere at stykke sammen vha. scripts fordi kommandoerne typisk
er på et højere niveau end programmeringssprogene.
Så vidt jeg dog har forstået er at Perl idag kan så meget at der nu er tale
om et programmeringssprog der desuden tilbyder scripting faciliteter
oveni... en slags pakkeløsning hvor det hele kan løses i Perl uden at man
skal ud og finde noget andet der passer til. Deraf findes der kompilere der
kan kompilere Perlkoden til C++ om som stort set udnytter kompileren. Det er
selvfølgelig nok også det mest modne "script" sprog som er udbredt, hvilket
nok giver den styrken. Jeg har ihvertfald lidt svært ved at se hvordan et
JScript "program" kan udnytte en C++ kompiler - så det er vel en af de
faciliteter der skal være for at kunne kalde det et programmeringssprog?

Og NEJ jeg vil ikke elske Perl - hvis det stod til mig blev det hele
implementeret vha talegenkendelse eller XSLT version 984 (når den nu kommer
på markedet)
Det var lige mit bidrag til hvad der lå i mit hovede.
mvh
Dennis Petersen (Java programmør med stort J)



Kent Friis (12-06-2002)
Kommentar
Fra : Kent Friis


Dato : 12-06-02 20:35

Den 12 Jun 2002 20:58:38 +0200 skrev Thorbjoern Ravn Andersen:
>leeloo@phreaker.net (Kent Friis) writes:
>
>> >Hvordan plejer _du_ at lave objektorienteret shell-programmering? Er
>> >det vigtigt her?
>>
>> Shell-"programmering" er velegnet til nogle ting, og komplet uegnet til
>> andre. Der er en grund til at det hedder scripts, og ikke programmering.
>
>Aha. Og hvornår er det så "rigtig" programmering?
>
>Jeg vil godt vide hvilke faciliteter der skal til, førend du fjerner
>gåseøjnene.

Tjaa... Hvad er definitionen egentlig? Jeg har faktisk aldrig spekuleret
på hvad der gør at shell-scripts, VB-script og javascript er script, og
fx. C ikke er.

>> >I Perl har du bare flere muligheder for at lade programmet afspejle
>> >din tankegang.
>>
>> Og det er nærmest det modsatte af java-folks ideer om at sproget skal
>> tvinge en til en bestemt måde at skrive koden på.
>
>Kunsten er så at vælge det værktøj man har det bedst med.

Netop.

Mvh
Kent
--
Indlæringskurven til Linux er stejl, til tider lodret... Men for katten
hvor er udsigten på toppen dog fantastisk
- Michael G. Vendelbo i dk.snak

Regnar Bang Lyngsø (12-06-2002)
Kommentar
Fra : Regnar Bang Lyngsø


Dato : 12-06-02 20:51

Kent Friis wrote:

> >Kunsten er så at vælge det værktøj man har det bedst med.
>
> Netop.

Kunsten er:

1. at vælge det værktøj man har det bedst med.
2. at vælge en stil og et værktøj som man regner med er holdbart inden
for det domæne man bevæger sig.
3. at fokusere på opgaven og ikke på værktøjet.

Knus
   Regnar
   (som i sin tid overtog et Perl script på omkring 2000 linier uden
forstyrrende kommentarer og opslitninger i subs og moduler; til gengæld
var variabelnavnene på tysk)

Thorbjoern Ravn Ande~ (12-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 12-06-02 22:31

leeloo@phreaker.net (Kent Friis) writes:

> Tjaa... Hvad er definitionen egentlig? Jeg har faktisk aldrig spekuleret
> på hvad der gør at shell-scripts, VB-script og javascript er script, og
> fx. C ikke er.

Jeg tror kun definitionen er for dig personlig.

Scripts er - i mine øjne - programmering. Der er bare ikke et
(synligt) compileringstrin involveret.

> >Kunsten er så at vælge det værktøj man har det bedst med.
>
> Netop.

Og kunne finde ud af at betjene det korrekt.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (13-06-2002)
Kommentar
Fra : Kent Friis


Dato : 13-06-02 17:36

Den 12 Jun 2002 23:31:24 +0200 skrev Thorbjoern Ravn Andersen:
>leeloo@phreaker.net (Kent Friis) writes:
>
>> Tjaa... Hvad er definitionen egentlig? Jeg har faktisk aldrig spekuleret
>> på hvad der gør at shell-scripts, VB-script og javascript er script, og
>> fx. C ikke er.
>
>Jeg tror kun definitionen er for dig personlig.
>
>Scripts er - i mine øjne - programmering. Der er bare ikke et
>(synligt) compileringstrin involveret.

Det er der heller ikke i basic, og andre "interpreted" programmerings-
sprog.

Mvh
Kent
--
If I wanted a blue screen, I would type "xsetroot -solid blue"
- not D:\WINNT\SETUP

jacob_a@spamos.dk (13-06-2002)
Kommentar
Fra : jacob_a@spamos.dk


Dato : 13-06-02 17:45

Thorbjoern Ravn Andersen <thunderbear@bigfoot.com> writes:

> Jeg tror kun definitionen er for dig personlig.
>
> Scripts er - i mine øjne - programmering. Der er bare ikke et
> (synligt) compileringstrin involveret.

At et stykke kode kører igennem en fortolker istedet for at blive
oversat er vist ikke en god definition. Det ville betyde, at ML
programmer er scripts, da de normalt ikke oversættes (i alt fald ikke
dem jeg har lavet).

Med venlig hilsen
- Jacob Atzen

Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 18:14

jacob_a@spamos.dk writes:

> > Jeg tror kun definitionen er for dig personlig.
> >
> > Scripts er - i mine øjne - programmering. Der er bare ikke et
> > (synligt) compileringstrin involveret.
>
> At et stykke kode kører igennem en fortolker istedet for at blive
> oversat er vist ikke en god definition. Det ville betyde, at ML
> programmer er scripts, da de normalt ikke oversættes (i alt fald ikke
> dem jeg har lavet).

Eftersom der - så vidt jeg ved - ikke findes nogen processorer som kan
afvikle højniveauskode direkte, skal alle sprog igennem en
oversættelsesmølle for at ende med at blive instruktioner i en given
processor.

Der er stadig to problemer i det her:

* Hvornår er det et rigtigt programmeringssprog?

* Hvad karakteriserer et script-sprog?

Og den rigtigt sjove:

* Er de to uafhængige? (hvor jeg mener at det er de).


Åh ja, i det aktuelle eksempel, vil jeg personligt mene at hvis du kan
afvikle dine programmer fra kommandolinien ("./nasty.ml") og det
fungerer som andre unix-programmer, men at hele programmet er ren
ASCII, så er det et script. Et ML-script.



--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Peter Makholm (12-06-2002)
Kommentar
Fra : Peter Makholm


Dato : 12-06-02 19:27

leeloo@phreaker.net (Kent Friis) writes:

> Shell-"programmering" er velegnet til nogle ting, og komplet uegnet til
> andre. Der er en grund til at det hedder scripts, og ikke programmering.

Fortæl os om det. Jeg har aldrig set en fornuftig definition af
hvornår noget er scripting og hvornår noget er programmering.

--
Peter Makholm | We constantly have to keep in mind why natural
peter@makholm.net | languages are good at what they're good at. And to
http://hacking.dk | never forget that Perl is a human language first,
| and a computer language second

Claus Rasmussen (12-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 12-06-02 19:38

Peter Makholm wrote:

> Fortæl os om det. Jeg har aldrig set en fornuftig definition af
> hvornår noget er scripting og hvornår noget er programmering.

Min ikke alt for håndfaste definition er, at hvis du får et program til
at gøre noget "som om" du selv sad og tastede det ind, så er det scripting.
Hvis du får programmet til at gøre noget, du ikke kan få det til at gøre
ved selv at taste det ind, er det programmering.

F.eks er shell-scripts scripted fordi du lige så godt kunne tampe
kommandoerne ind i hånden. Et C++ tegneprogram er programmeret, fordi du
ikke selv kan indtaste din tegning.

-Claus


Thorbjoern Ravn Ande~ (12-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 12-06-02 20:02

Claus Rasmussen <clr@cc-consult.dk> writes:

> F.eks er shell-scripts scripted fordi du lige så godt kunne tampe
> kommandoerne ind i hånden. Et C++ tegneprogram er programmeret, fordi du
> ikke selv kan indtaste din tegning.

Dvs det er programmering når det har en GUI?

Hvis ikke, vil jeg bede dig prøve igen.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 14:00

Thorbjoern Ravn Andersen wrote:

> Claus Rasmussen <clr@cc-consult.dk> writes:
>
>> F.eks er shell-scripts scripted fordi du lige så godt kunne tampe
>> kommandoerne ind i hånden. Et C++ tegneprogram er programmeret, fordi du
>> ikke selv kan indtaste din tegning.
>
> Dvs det er programmering når det har en GUI?

Ikke nødvendigvis men normalt ja.

Et shell script, der aktiverer gnuplot og så igen aktiverer en browser
til at vise gnuplot's output er EMM stadig et script - men for brugeren
vil der ikke være nogen forskel til et program programmeret 100% i C++.

For mig er "scriptsprog" noget med, at du automatiserer ting, du ellers
ville kunne gøre i hånden.

-Claus


Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 14:32

Claus Rasmussen <clr@cc-consult.dk> writes:

> > Dvs det er programmering når det har en GUI?
>
> Ikke nødvendigvis men normalt ja.
>
> Et shell script, der aktiverer gnuplot og så igen aktiverer en browser
> til at vise gnuplot's output er EMM stadig et script - men for brugeren
> vil der ikke være nogen forskel til et program programmeret 100% i C++.
>
> For mig er "scriptsprog" noget med, at du automatiserer ting, du ellers
> ville kunne gøre i hånden.

Nu har jeg prøvet at forstå det, og det lader til at du mener at
script sprog er nogen hvor man ellers kunne indtaste kommandoerne
direkte, med samme resultat.

I min jargon er scriptsprog sprog som programmeres i klartekst, kan
udføres uden et synligt kompileringstrin, og som kan udføres direkte
fra en kommandolinieprompt. Det udelukker ikke GUI-ting (se fx
Tk-ting i TCL), og er stadig programmeringssprog. Altså at begrebet
scriptsprog er uafhængigt af begrebet programmering.

Bortset fra det, du kan lave nogen MEGET komplicerede ting i /bin/sh,
som vil være temmeligt bøvlede at gøre i hånden. Bare se på et
"unshar"-script.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 14:41

Thorbjoern Ravn Andersen wrote:

> Claus Rasmussen <clr@cc-consult.dk> writes:
>
>> > Dvs det er programmering når det har en GUI?
>>
>> Ikke nødvendigvis men normalt ja.
>>
>> Et shell script, der aktiverer gnuplot og så igen aktiverer en browser
>> til at vise gnuplot's output er EMM stadig et script - men for brugeren
>> vil der ikke være nogen forskel til et program programmeret 100% i C++.
>>
>> For mig er "scriptsprog" noget med, at du automatiserer ting, du ellers
>> ville kunne gøre i hånden.
>
> Nu har jeg prøvet at forstå det, og det lader til at du mener at
> script sprog er nogen hvor man ellers kunne indtaste kommandoerne
> direkte, med samme resultat.

Ja. Sådan cirka. Der behøves ikke at være 100% korrespondance mellem
det, du skriver i hånden og det du skriver i sproget, men de termer
du formulerer dig i (filer, kataloger, strenge) skal være i stor
overensstemmelse med dit problemdomæne.

Sagt på en anden måde: I scriptsprog arbejder du direkte med dit
problems objekter (filer, kataloger, linier i filer osv) mens du i
almindelige programmeringssprog arbejder med _repræsentationer_ af
objekterne.


> I min jargon er scriptsprog sprog som programmeres i klartekst, kan
> udføres uden et synligt kompileringstrin, og som kan udføres direkte
> fra en kommandolinieprompt. Det udelukker ikke GUI-ting (se fx
> Tk-ting i TCL), og er stadig programmeringssprog. Altså at begrebet
> scriptsprog er uafhængigt af begrebet programmering.

Jamen så bliver scriptsprog jo synonymt med fortolket sprog. Og forskellen
mellem et fortolket og et kompileret sprog er jo lig med nul for både
brugeren og programmøren (når der ses bort fra udførselstiden).


> Bortset fra det, du kan lave nogen MEGET komplicerede ting i /bin/sh,
> som vil være temmeligt bøvlede at gøre i hånden. Bare se på et
> "unshar"-script.

Ja, og så nærmer det sig efterhånden også programmering. Men som udgangs-
punkt er shellscripts scripts

-Claus


Peter Dalgaard BSA (13-06-2002)
Kommentar
Fra : Peter Dalgaard BSA


Dato : 13-06-02 14:58

Claus Rasmussen <clr@cc-consult.dk> writes:

> Thorbjoern Ravn Andersen wrote:
>
> > Claus Rasmussen <clr@cc-consult.dk> writes:
.....
> >> For mig er "scriptsprog" noget med, at du automatiserer ting, du ellers
> >> ville kunne gøre i hånden.
> >
> > Nu har jeg prøvet at forstå det, og det lader til at du mener at
> > script sprog er nogen hvor man ellers kunne indtaste kommandoerne
> > direkte, med samme resultat.
.....
> Ja, og så nærmer det sig efterhånden også programmering. Men som udgangs-
> punkt er shellscripts scripts

Interessant diskussion. Men er Perlscripts scripts efter den
definition I er ved at snakke jer frem til?

(Grænsen er vel flydende, men det er rimeligt karakteristisk at
scripts kan være på meget få linjer og ikke indeholder
variabelerklæringer o.l.)

--
O__ ---- Peter Dalgaard Blegdamsvej 3
c/ /'_ --- Dept. of Biostatistics 2200 Cph. N
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 15:19

Peter Dalgaard BSA wrote:

> Interessant diskussion. Men er Perlscripts scripts efter den
> definition I er ved at snakke jer frem til?

Efter min definition, ja. Thorbjørn og jeg har til gengæld lidt svært
ved at forstå, hvad hinanden mener, så jeg ved ikke med ham


> (Grænsen er vel flydende, men det er rimeligt karakteristisk at
> scripts kan være på meget få linjer og ikke indeholder
> variabelerklæringer o.l.)

Ja. Diskussionen går lidt på om der overhovedet er noget, der hedder
scriptsprog - om det kan defineres. Jeg vil mene, at selv om definitionen
er lidt svær af afgrænse, så er der klart en række programmeringssprog/
teknikker, der kan kaldes scriptsprog og som netop er karakteriseret
ved denne quick-and-dirty approach til programmeringen.

-Claus


Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 15:40

Claus Rasmussen <clr@cc-consult.dk> writes:

> > Interessant diskussion. Men er Perlscripts scripts efter den
> > definition I er ved at snakke jer frem til?
>
> Efter min definition, ja. Thorbjørn og jeg har til gengæld lidt svært
> ved at forstå, hvad hinanden mener, så jeg ved ikke med ham

Jeg forstår det skam fint, men problemet er at du ikke læser hvad jeg
skriver

Jeg mener at begrebet programmering ikke har noget at gøre med om det
er scriptsprog eller ej, og du mener - så vidt jeg kan forstå - at
scriptsprog er en slags lillebror til rigtige programmeringssprog.

(Som i øvrigt i mine øjne afgøres ved om det er Turing-komplet eller
ej. Det vil i denne sammenhæng sige at man kan skrive en emulator for
sproget i et andet sprog - uden hensyntagen til tidsforbruget).
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Thomas Bjorn Anderse~ (13-06-2002)
Kommentar
Fra : Thomas Bjorn Anderse~


Dato : 13-06-02 23:36

Thorbjoern Ravn Andersen <thunderbear@bigfoot.com> writes:

> Jeg mener at begrebet programmering ikke har noget at gøre med om det
> er scriptsprog eller ej, og du mener - så vidt jeg kan forstå - at
> scriptsprog er en slags lillebror til rigtige programmeringssprog.

Hvad skulle formålet være med at skelne mellem "scriptsprog" og
"programmeringssprog"?

--
Thomas Bjorn Andersen - tba@gen-v.net
+++ATH

Thorbjoern Ravn Ande~ (14-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 14-06-02 00:00

Thomas Bjorn Andersen <tbanews@gen-v.net> writes:

> > Jeg mener at begrebet programmering ikke har noget at gøre med om det
> > er scriptsprog eller ej, og du mener - så vidt jeg kan forstå - at
> > scriptsprog er en slags lillebror til rigtige programmeringssprog.
>
> Hvad skulle formålet være med at skelne mellem "scriptsprog" og
> "programmeringssprog"?

Begynder du nu også?

Jeg ved det ikke - jeg prøver at forstå hvad andre mener, og hvis jeg
opsummerer det så kan de forholde sig til om jeg har forstået det
rigtigt eller ej.

Jeg mener selv at det er fx "scriptsprog" versus "compilerede sprog"
(beklager det danske), som ikke har noget med det at gøre.
Programmering er så at få disse sprog til at udføre en given opgave.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Kent Friis (20-06-2002)
Kommentar
Fra : Kent Friis


Dato : 20-06-02 20:56

Den 14 Jun 2002 00:36:01 +0200 skrev Thomas Bjorn Andersen:
>Thorbjoern Ravn Andersen <thunderbear@bigfoot.com> writes:
>
>> Jeg mener at begrebet programmering ikke har noget at gøre med om det
>> er scriptsprog eller ej, og du mener - så vidt jeg kan forstå - at
>> scriptsprog er en slags lillebror til rigtige programmeringssprog.
>
>Hvad skulle formålet være med at skelne mellem "scriptsprog" og
>"programmeringssprog"?

"Real programmers..."

Mvh
Kent
--
echo f 0:0 ffff 0 | debug

Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 15:08

Claus Rasmussen <clr@cc-consult.dk> writes:

> Ja. Sådan cirka. Der behøves ikke at være 100% korrespondance mellem
> det, du skriver i hånden og det du skriver i sproget, men de termer
> du formulerer dig i (filer, kataloger, strenge) skal være i stor
> overensstemmelse med dit problemdomæne.

Hov. Dvs nu snakker du om et lavt abstraktionsniveau fra
operativsystemet? ...

> Sagt på en anden måde: I scriptsprog arbejder du direkte med dit
> problems objekter (filer, kataloger, linier i filer osv) mens du i
> almindelige programmeringssprog arbejder med _repræsentationer_ af
> objekterne.

Beklager, giver ikke mening. Vil du prøve igen.

> > I min jargon er scriptsprog sprog som programmeres i klartekst, kan
> > udføres uden et synligt kompileringstrin, og som kan udføres direkte
> > fra en kommandolinieprompt. Det udelukker ikke GUI-ting (se fx
> > Tk-ting i TCL), og er stadig programmeringssprog. Altså at begrebet
> > scriptsprog er uafhængigt af begrebet programmering.
>
> Jamen så bliver scriptsprog jo synonymt med fortolket sprog. Og forskellen
> mellem et fortolket og et kompileret sprog er jo lig med nul for både
> brugeren og programmøren (når der ses bort fra udførselstiden).

Næh, der stod "synligt kompileringstrin". Herudover var der også lige
krøllen med at kunne afvikles direkte fra kommandolinieprompten (jeg
glemte dog at sige, som en kommando).

> > Bortset fra det, du kan lave nogen MEGET komplicerede ting i /bin/sh,
> > som vil være temmeligt bøvlede at gøre i hånden. Bare se på et
> > "unshar"-script.
>
> Ja, og så nærmer det sig efterhånden også programmering. Men som udgangs-
> punkt er shellscripts scripts

Øh. Så du ikke bemærkningen om at de to begreber var uafhængige?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 15:36

Thorbjoern Ravn Andersen wrote:

> Claus Rasmussen <clr@cc-consult.dk> writes:
>
>> Ja. Sådan cirka. Der behøves ikke at være 100% korrespondance mellem
>> det, du skriver i hånden og det du skriver i sproget, men de termer
>> du formulerer dig i (filer, kataloger, strenge) skal være i stor
>> overensstemmelse med dit problemdomæne.
>
> Hov. Dvs nu snakker du om et lavt abstraktionsniveau fra
> operativsystemet? ...

Vi kan også sige "åbn en menu og aktivere et bestemt punkt" (scripting
af et user-interface), eller "luk databasen ned, tag backup og start
den op igen" osv.

Abstraktionsniveauet i mine første eksempler stammede ganske rigtigt
fra operativsystemet, men det er det abstraktionsniveau som brugeren
befinder sig på, og det er det samme niveau scriptet befinder sig på.

Det er korrespondancen mellem det du ville gøre, hvis du gjorde det
i hånden, og det du gør, når du formulerer dig i et sprog, der er
afgørende for om det du foretager dig, kan kaldes scriptprogrammering
efter min definition.

Scriptsprog er så de sprog man ofte (men ikke nødvendigvis altid)
foretager scriptprogrammering i.


>> Sagt på en anden måde: I scriptsprog arbejder du direkte med dit
>> problems objekter (filer, kataloger, linier i filer osv) mens du i
>> almindelige programmeringssprog arbejder med _repræsentationer_ af
>> objekterne.
>
> Beklager, giver ikke mening. Vil du prøve igen.

Et eksempel: Hvis du skal filtrere en log for bestemte meddelelser vil
du i et scriptsprog formulere dig i termer af filer, der består af linier.
Dvs. at du vil manipulere objekter der kommer direkte fra det, du holder
i hånden (en fil).

I et programmeringssprog, ville du omforme de enkelte linier i loggen
til records (repræsentation), som du så underkastede dit filter.

(ok, dén distinktion er nok ikke så gennemtænkt, men jeg mener, at det
er typisk for scriptsprog, at skide højt og flot på den formelle repræ-
sentation af data for i stedet at skyde en genvej).


>> > I min jargon er scriptsprog sprog som programmeres i klartekst, kan
>> > udføres uden et synligt kompileringstrin, og som kan udføres direkte
>> > fra en kommandolinieprompt. Det udelukker ikke GUI-ting (se fx
>> > Tk-ting i TCL), og er stadig programmeringssprog. Altså at begrebet
>> > scriptsprog er uafhængigt af begrebet programmering.
>>
>> Jamen så bliver scriptsprog jo synonymt med fortolket sprog. Og
>> forskellen mellem et fortolket og et kompileret sprog er jo lig med nul
>> for både brugeren og programmøren (når der ses bort fra udførselstiden).
>
> Næh, der stod "synligt kompileringstrin". Herudover var der også lige
> krøllen med at kunne afvikles direkte fra kommandolinieprompten (jeg
> glemte dog at sige, som en kommando).

Jamen hvad er så forsklellen mellem et scriptsprog og et fortolket sprog
i din definition ?


>> > Bortset fra det, du kan lave nogen MEGET komplicerede ting i /bin/sh,
>> > som vil være temmeligt bøvlede at gøre i hånden. Bare se på et
>> > "unshar"-script.
>>
>> Ja, og så nærmer det sig efterhånden også programmering. Men som udgangs-
>> punkt er shellscripts scripts
>
> Øh. Så du ikke bemærkningen om at de to begreber var uafhængige?

Næ, men det gjorde jeg nu

-Claus


Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 15:51

Claus Rasmussen <clr@cc-consult.dk> writes:

> Vi kan også sige "åbn en menu og aktivere et bestemt punkt" (scripting
> af et user-interface), eller "luk databasen ned, tag backup og start
> den op igen" osv.
>
> Abstraktionsniveauet i mine første eksempler stammede ganske rigtigt
> fra operativsystemet, men det er det abstraktionsniveau som brugeren
> befinder sig på, og det er det samme niveau scriptet befinder sig på.
>
> Det er korrespondancen mellem det du ville gøre, hvis du gjorde det
> i hånden, og det du gør, når du formulerer dig i et sprog, der er
> afgørende for om det du foretager dig, kan kaldes scriptprogrammering
> efter min definition.

Bum bum. Jeg vil godt gå med til at den her slags ting er praktiske i
scriptsprog (at automatisere brugerrespons), men spørgsmålet er så
hvad der skal til for at nå ud over din øvre grænse?

Det kan også godt være at du er forvænt med en anden slags scripts end
jeg er. Hvilke slags scriptsprog tænker du på?

> Et eksempel: Hvis du skal filtrere en log for bestemte meddelelser vil
> du i et scriptsprog formulere dig i termer af filer, der består af linier.
> Dvs. at du vil manipulere objekter der kommer direkte fra det, du holder
> i hånden (en fil).
>
> I et programmeringssprog, ville du omforme de enkelte linier i loggen
> til records (repræsentation), som du så underkastede dit filter.
>
> (ok, dén distinktion er nok ikke så gennemtænkt, men jeg mener, at det
> er typisk for scriptsprog, at skide højt og flot på den formelle repræ-
> sentation af data for i stedet at skyde en genvej).

Jeg synes faktisk den er lidt dårlig, da de fleste scriptsprog ikke
arbejder direkte på disken, men læser en linie ind af gangen. Det vil
de fleste programmeringssprog nok gøre.

Så, nu er der kommet en ny parameter på banen. Nemlig at du mener at
scriptsprog er gode til at skyde genveje i forhold til sprog der
bruger "den formelle represenatation af data".

Det er måske rigtigt med genvejene, men jeg mener ikke at det er
nødvendigt at opbygge et monstrøst objekthieraki for at kunne løse en
given opgave.

Med hensyn til fordele og ulemper ved scriptsprog, har Ousterhout en
god artikel

http://home.pacbell.net/ouster/scripting.html

> >> > I min jargon er scriptsprog sprog som programmeres i klartekst, kan
> >> > udføres uden et synligt kompileringstrin, og som kan udføres direkte
> >> > fra en kommandolinieprompt. Det udelukker ikke GUI-ting (se fx
> >> > Tk-ting i TCL), og er stadig programmeringssprog. Altså at begrebet
> >> > scriptsprog er uafhængigt af begrebet programmering.
> >>
> >> Jamen så bliver scriptsprog jo synonymt med fortolket sprog. Og
> >> forskellen mellem et fortolket og et kompileret sprog er jo lig med nul
> >> for både brugeren og programmøren (når der ses bort fra udførselstiden).
> >
> > Næh, der stod "synligt kompileringstrin". Herudover var der også lige
> > krøllen med at kunne afvikles direkte fra kommandolinieprompten (jeg
> > glemte dog at sige, som en kommando).
>
> Jamen hvad er så forsklellen mellem et scriptsprog og et fortolket sprog
> i din definition ?

En del. Et fortolket sprog kunne fx være den oprindelige BASIC til
PC, hvor du blev placeret i et "IDE" hvor du kunne arbejde uden at
tilgå operativsystemet. Jeg skrev udtrykkeligt ovenfor at det skulle
kunne udføres fra en kommandolinieprompt, og jeg tilføjede - som en
kommando.

Dvs der er principielt ingen forskel på "emacs", "netscape" eller
"mit-script.sh" (endsige "mit-script.php") set fra brugeens
synsvinkel.

> > Øh. Så du ikke bemærkningen om at de to begreber var uafhængige?
>
> Næ, men det gjorde jeg nu

Forstod du hvad jeg mente?
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 16:16

Thorbjoern Ravn Andersen wrote:

> Claus Rasmussen <clr@cc-consult.dk> writes:
>
>> Vi kan også sige "åbn en menu og aktivere et bestemt punkt" (scripting
>> af et user-interface), eller "luk databasen ned, tag backup og start
>> den op igen" osv.
>>
>> Abstraktionsniveauet i mine første eksempler stammede ganske rigtigt
>> fra operativsystemet, men det er det abstraktionsniveau som brugeren
>> befinder sig på, og det er det samme niveau scriptet befinder sig på.
>>
>> Det er korrespondancen mellem det du ville gøre, hvis du gjorde det
>> i hånden, og det du gør, når du formulerer dig i et sprog, der er
>> afgørende for om det du foretager dig, kan kaldes scriptprogrammering
>> efter min definition.
>
> Bum bum. Jeg vil godt gå med til at den her slags ting er praktiske i
> scriptsprog (at automatisere brugerrespons), men spørgsmålet er så
> hvad der skal til for at nå ud over din øvre grænse?

Grænsen er lidt flydende. I praksis sker der tit det, at man starter med
at skrive et program i et scriptsprog. På et tidspunkt gror programmet
ud over, hvad man med rimelighed kan håndtere i sproget, og man skifter
så til et almindeligt sprog. Det er der, min grænse går. Andre fortsætter
i perl indtil de har 2000 liniers kode, der lige så langsomt degenererer
til almindeligt spagetti...

Men når jeg siger, at perl er et scriptsprog, så er det fordi, man
almindligvis vil bruge det til små/mindre opgaver, som klart kan kaldes
scripting. At der så er enkelte (mange, måske?), der skubber især perl
ud over min grænse for scriptprogrammering er så en anden sag.


> Det kan også godt være at du er forvænt med en anden slags scripts end
> jeg er. Hvilke slags scriptsprog tænker du på?

sh/perl/python (som nok ligger på grænsen) og så hvad jeg har set af
GUI scripting.


>> Et eksempel: Hvis du skal filtrere en log for bestemte meddelelser vil
>> du i et scriptsprog formulere dig i termer af filer, der består af
>> linier. Dvs. at du vil manipulere objekter der kommer direkte fra det, du
>> holder i hånden (en fil).
>>
>> I et programmeringssprog, ville du omforme de enkelte linier i loggen
>> til records (repræsentation), som du så underkastede dit filter.
>>
>> (ok, dén distinktion er nok ikke så gennemtænkt, men jeg mener, at det
>> er typisk for scriptsprog, at skide højt og flot på den formelle repræ-
>> sentation af data for i stedet at skyde en genvej).
>
> Jeg synes faktisk den er lidt dårlig, da de fleste scriptsprog ikke
> arbejder direkte på disken, men læser en linie ind af gangen. Det vil
> de fleste programmeringssprog nok gøre.

Ja. Jeg æder den nok i mig igen. Det var en iagttagelse af et fænomen
man ofte ser i scriptsammenhæng, som jeg forsøgte at gøre til et kriterie
for, om et sprog er et scriptsprog. Men den holder nok ikke.


> Med hensyn til fordele og ulemper ved scriptsprog, har Ousterhout en
> god artikel
>
> http://home.pacbell.net/ouster/scripting.html

Hans iagttagelse (for ikke at skrive "definition"):

Scripting languages are designed for "gluing" applications; they use
typeless approaches to achieve a higher level of programming and more
rapid application development than system programming languages.

Og senere

The languages are typically used together in component frameworks,
where components are created with system programming languages and
glued together with scripting languages

Det ligger i hvert fald i nærheden af min ide om scriptsprog som automa-
tiserede brugerkommandoer. Fin link i øvrigt.

[...]

> Dvs der er principielt ingen forskel på "emacs", "netscape" eller
> "mit-script.sh" (endsige "mit-script.php") set fra brugeens
> synsvinkel.

Hmm. Jeg er ikke enig. Men det er jo et spørgsmål om definitioner, så
der er heller ingen, der siger, at vi skal være enige.

>
>> > Øh. Så du ikke bemærkningen om at de to begreber var uafhængige?
>>
>> Næ, men det gjorde jeg nu
>
> Forstod du hvad jeg mente?

Jo. Men jeg laver ikke rigtigt den sammen skelnen som dig. Du kalder
i princippet det hele for programmeringssprog og skelner først når
sproget bliver brugt. Altså skelner mellem "scriptprogrammering" og
"almindelig programmering". Jeg kalder det hele for programmering og
skelner mellem "scriptsprog" og "almindelige sprog".

Men mindre jeg ikke har læst, hvad du skrev eller har misforstået dig
igen, er det nok forklarinen på, at vi taler lidt forbi hinanden.

-Claus





Thorbjoern Ravn Ande~ (13-06-2002)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 13-06-02 16:33

Claus Rasmussen <clr@cc-consult.dk> writes:

> Jo. Men jeg laver ikke rigtigt den sammen skelnen som dig. Du kalder
> i princippet det hele for programmeringssprog og skelner først når
> sproget bliver brugt. Altså skelner mellem "scriptprogrammering" og
> "almindelig programmering". Jeg kalder det hele for programmering og
> skelner mellem "scriptsprog" og "almindelige sprog".

Hov, nu er den gal igen. Hele denne moelle blev startet af at du
satte programmering i gaaseoejne for scriptsprog.

Jeg kalder det hele for programmering (under forudsaetning af at
sproget er kapabelt nok, fx vil jeg ikke betragte MS-DOS BAT filer som
programmering), og sprogets karakteristika afgoerer saa hvilken slags
det er.

> Men mindre jeg ikke har læst, hvad du skrev eller har misforstået dig
> igen, er det nok forklarinen på, at vi taler lidt forbi hinanden.

Maaske skal du laese det du selv har skrevet igen :)

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk - Unix, Java, Web, Netværk, Århus

Peter Makholm (12-06-2002)
Kommentar
Fra : Peter Makholm


Dato : 12-06-02 19:43

Claus Rasmussen <clr@cc-consult.dk> writes:

> Hvis du får programmet til at gøre noget, du ikke kan få det til at gøre
> ved selv at taste det ind, er det programmering.

Det vil sige at perl-scripts er egentligt ikke scripts mens de fleste
scheme-programmer er. (For slet ikke at tale om hvad der sker hvis man
betragter cint)

--
Peter Makholm | According to the hacker ethic, the meaning of life
peter@makholm.net | is not Friday, but it is not Sunday either
http://hacking.dk | -- Peeka Himanen

Claus Rasmussen (13-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 13-06-02 13:57

Peter Makholm wrote:

> Claus Rasmussen <clr@cc-consult.dk> writes:
>
>> Hvis du får programmet til at gøre noget, du ikke kan få det til at gøre
>> ved selv at taste det ind, er det programmering.
>
> Det vil sige at perl-scripts er egentligt ikke scripts mens de fleste
> scheme-programmer er. (For slet ikke at tale om hvad der sker hvis man
> betragter cint)

Det var en "ikke alt for håndfast" definition. Men jeg mener, at den
svarer meget godt til den almindelige sprogbrug.

Et sprog, der retter sig mod at automatisere manuelle rutiner ved at
give brugeren mulighed for at anvende de manuelle operationer eller
tilsvarende kommandoer, er det man i daglig tale kalder for et script
sprog.

Og så er perl script-sprog, fordi det rummer en pæn grad af ækvivalente
kommandoer til, hvad man ellers ville udføre i hånden. Hægter man et
GUI på perl programmet nærmer det sig i stedet regulær programmering
fordi man ikke længere arbejder i samme termer som man ville gøre, hvis
man lavede det hele i hånden.

F.eks scanning af filer for bestemte linier vs. håndtering af et event-
loop. Det første sker i termer som stammer fra brugeren problem domæne
mens det andet alene sker i termer af implementationen.

-Claus


Peter Makholm (15-06-2002)
Kommentar
Fra : Peter Makholm


Dato : 15-06-02 09:56

jacob_a@spamos.dk writes:

> At et stykke kode kører igennem en fortolker istedet for at blive
> oversat er vist ikke en god definition. Det ville betyde, at ML
> programmer er scripts, da de normalt ikke oversættes (i alt fald ikke

Det er vel så igen et spørgsmål om definitioner. Perl, Python og de
ML-oversættere jeg kender lidt til teknikken bag, virker alle sammen
ved at oversætte koden til en intern repræsentation for derefter at
udføre koden. Altså to godt adskilte faser med parsning/oversættelse
som den ene og udførelse som den anden. (Vi ser lige bort fra
eval-funktioner).


Helt sjovt ville C++ selvfølgelig være efter definitionen da C++ både
er Turingkomplet under oversættelsen og under udførelsen. Men skulle
det betyde at C++ har et indlejret sciptingsprog? - Nej, selvfølgelig
ikke.

--
Peter Makholm | Wisdom has two parts:
peter@makholm.net | 1) having a lot to say, and
http://hacking.dk | 2) not saying it

Peter Makholm (15-06-2002)
Kommentar
Fra : Peter Makholm


Dato : 15-06-02 09:57

Claus Rasmussen <clr@cc-consult.dk> writes:

> Og så er perl script-sprog, fordi det rummer en pæn grad af ækvivalente
> kommandoer til, hvad man ellers ville udføre i hånden. Hægter man et

Kan du komme med nogle eksempler. Perl minder for mig *langt* mere om
C end om bourne-shell som jeg går ud fra at du hentyder til med
'ækvivalente kommandoer'

--
Peter Makholm | There are 10 kinds of people. Those who count in
peter@makholm.net | binary and those who don't
http://hacking.dk |

Claus Rasmussen (16-06-2002)
Kommentar
Fra : Claus Rasmussen


Dato : 16-06-02 23:17

Peter Makholm wrote:

> Kan du komme med nogle eksempler. Perl minder for mig *langt* mere om
> C end om bourne-shell som jeg går ud fra at du hentyder til med
> 'ækvivalente kommandoer'

Jeg sagde nu heller ikke, at perl mindede mest om bash, og jeg er enig
i, at når man kigger på sprogets overordnede syntax minder det mest om
C.

Men jeg oplever tit, at når jeg flytter et script fra bash til perl
for at udnytte nogle specielle faciliteter i perl, så består det meste
af arbejdet i, at erstatte 'do' med '{', 'done' med '}' osv. og at kyle
en masse '$' tegn ind i koden. Jeg ændrer sjældent særligt meget på
programmets overordnede struktur.

Jeg læser andetsteds i tråden, at du til daglig arbejder med scripts
på 25k linier. Så er du altså i en fuldstændig anden boldgade en jeg.
Jeg har vist een gang skrevet et script (uanset sprog) på mere end
1k linier og normalt langt færre.

Jeg bruger mest scripts til datatransformation (kommasepareret ->
tabsepareret, eller log-filer til SQL INSERT statements) eller til
at flytte rundt på filer. Dermed er mit behov for features i perl
langt, langt mindre end dit, og det er nok derfor, at jeg oplever
perl som ganske sammenligneligt med bash. Jeg bruger f.eks aldrig
perl's objektorienterede features.

Her et lille eksempel på et program jeg kunne arbejde med. Først i
perl:

while (<>) {
split;
$var1 = @_[0];
$var2 = @_[1];
print "$var1 $var2\n";
}

Og så i bash:

while read line; do
set -- $line
var1=$1
var2=$2
print "$var1 $var2"
done

Hvad der især mangler i perl sammenlignet med bash er muligheden
for at lave pipes.

-Claus


Kim Hansen (16-06-2002)
Kommentar
Fra : Kim Hansen


Dato : 16-06-02 23:31

Claus Rasmussen <clr@cc-consult.dk> writes:

> Hvad der især mangler i perl sammenlignet med bash er muligheden
> for at lave pipes.

Perl kan lave alle mulige former for pipes, med kommandoerne open,
pipe og modulerne IPC:en2 og IPC:en3. Der står en del om det på
manualsiden perlipc.

--
Kim Hansen | |\ _,,,---,,_ | Det er ikke
Dalslandsgade 8, A708 | /,`.-'`' -. ;-;;,_ | Jeopardy.
2300 København S | |,4- ) )-,_. ,\ ( `'-' | Svar _efter_
Phone: 32 88 60 86 | '---''(_/--' `-'\_) | spørgsmålet.

Peter Makholm (15-06-2002)
Kommentar
Fra : Peter Makholm


Dato : 15-06-02 10:08

Claus Rasmussen <clr@cc-consult.dk> writes:

> så til et almindeligt sprog. Det er der, min grænse går. Andre fortsætter
> i perl indtil de har 2000 liniers kode, der lige så langsomt degenererer
> til almindeligt spagetti...

Jeg sidder og arbejder på et projekt med 25k linjer perlkode (uden at
tælle fremmede moduler med). Det er mindst lige så struktureret som
hvis det var skrevet i ObejctC, C++, Ada eller hvilket som helst andet
sprog.

Måske endda mere struktureret, da det er min erfaring at
C++-programmører bruger mere low-level kode end vi gør. Når vi så får
restruktureret det en gang eller to, skal det nok blive rigtig pænt.

--
Peter Makholm | I have something to say: It's better to burn in
peter@makholm.net | hell, than to fade away!
http://hacking.dk | -- Kurgan

Adam Sjøgren (10-06-2002)
Kommentar
Fra : Adam Sjøgren


Dato : 10-06-02 18:17

On Mon, 10 Jun 2002 19:11:28 +0200, Dennis Petersen wrote:

> Personligt kunne jeg da godt tænke mig tips og triks til hvordan man
> f.eks. leder i alle filer under mig med indholdet "Dette er en
> streng"...

find ./ -type f | xargs grep "Dette er en streng"

(hvis du ikke har filer eller kataloger med mellemrum i - hvis du har,
er det noget med -print0 til find og --null til xargs eller noget i
den dur).

> Og hvad med Ændre alle filer af filtypen conf som indeholder "Dette
> er en streng" og udskift det med "Dette er en anden streng".

Lær perl (eller sed)

> Eller hvad med det at putte ting i /etc/skel der kan lave noget
> smart som f.eks. sende en e-mail baseret på brugernavnet - oprette
> e-mail konti o.s.v. alt baseret på noget parameter eller aflæsning
> af f.eks. det brugernavn man opretter, eller den gruppe man opretter
> brugeren i, eller hvilken hjemmemappe brugeren har fået... jeg kunne
> blive ved, men jeg kan ikke finde noget "sigende" om det.

Du bliver nød til at starte et sted og arbejde dig opad derfra.


Mvh.

--
"And if you complain once more Adam Sjøgren
You'll meet an army of me" asjo@koldfront.dk

_ carsten thomsen (10-06-2002)
Kommentar
Fra : _ carsten thomsen


Dato : 10-06-02 20:37

> Syntax til hvad?

Ikke til noget specifikt, men eksempler til mange forskellige kommandoer i
shellen!
Jeg så på et tidspunkt et website, som viste flere forskellige eksempler på
alle mulige kommandoer og konfigurationsfiler...
(bl.a. netværkskonfigurationer, iptables, systemadministrationskommandoer
osv.)

Hilsen
Carsten
cajuth@tiscali.dk




Søg
Reklame
Statistik
Spørgsmål : 177557
Tips : 31968
Nyheder : 719565
Indlæg : 6408885
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste