|
| Simpel shell script Fra : David |
Dato : 23-01-06 14:19 |
|
Hej Gruppe
Findes der en alternativ til "goto" for /bin/csh ?
f.eks.
-----fil.sh-----
#!/bin/sh
bookmark:
echo "test"
goto bookmark
-----fil.sh-----
Den virker ikke, men hvis jeg skifter "#!/bin/sh" ud med "#!/bin/csh"
virker den (på min freebsd 6.0)
ikke at det er noget problem for mig atm. Men hvis man kan gøre det med sh
ville scriptet være nemmere at overføre til systemer der ikke har csh
installeret
Mvh
David
| |
Jacob Sparre Anderse~ (23-01-2006)
| Kommentar Fra : Jacob Sparre Anderse~ |
Dato : 23-01-06 14:41 |
|
David skrev:
> Findes der en alternativ til "goto" for /bin/csh ?
>
> f.eks.
> -----fil.sh-----
> #!/bin/sh
> bookmark:
> echo "test"
> goto bookmark
> -----fil.sh-----
#! /bin/sh
while true; do
echo "test"
done
Ellers kan du starte Bash og prøve kommandoen `help`.
Jacob
--
"There are two ways of constructing a software design. One way is to
make it so simple that there are obviously no deficiencies. And the
other way is to make it so complicated that there are no obvious
deficiencies." -- C. A. R. Hoare
| |
David (23-01-2006)
| Kommentar Fra : David |
Dato : 23-01-06 14:59 |
|
Jacob Sparre Andersen <sparre@nbi.dk> wrote in
news:m2zmlnvz8w.fsf@hugin.crs4.it:
> #! /bin/sh
> while true; do
> echo "test"
> done
>
> Ellers kan du starte Bash og pr›ve kommandoen `help`.
>
Det er en while lykke det der.
det jeg har brug for er at kunne springe rundt i scriptet.
dvs. jeg har flere forskellige steder i scriptet som hvis en "if et eller
andet" ikke opfylder kravet kan jeg lave en "goto errorlabel"
i stedet for at jeg har den samme fejl besked skrevet i alle "else echo
blabla"
-----simpelt script med goto-----
#!/bin/csh
error1:
echo "der skete en fejl"
goto end
if [ -x /fil1 ] ;then
echo jubii
else
goto error
fi
if [ -x /fil2 ] ;then
echo jubii2
else
goto error
fi
end:
-----simpelt script med goto-----
håber det er forståeligt
| |
Jan Birk (23-01-2006)
| Kommentar Fra : Jan Birk |
Dato : 23-01-06 14:57 |
|
#!/bin/sh
bookmark() {
echo "Test"
}
bookmark
/Jan
| |
David (23-01-2006)
| Kommentar Fra : David |
Dato : 23-01-06 15:04 |
|
Jan Birk <jan.birk@invalid-domain.null> wrote in news:dr2n5f$nsh$1
@news.net.uni-c.dk:
> bookmark() {
> echo "Test"
> }
>
> bookmark
Hos mig skriver den kun Test én gang
det jeg havde håbet det gjorde var at når den kom til "bookmark" linjen
ville den hoppe op til "bookmark() {" linjen og skrive Test igen (og i en
uendelighed i det eksempel)
//David
| |
David (23-01-2006)
| Kommentar Fra : David |
Dato : 23-01-06 17:33 |
|
Jan Birk <jan.birk@invalid-domain.null> wrote in news:dr2n5f$nsh$1
@news.net.uni-c.dk:
>
> #!/bin/sh
>
> bookmark() {
> echo "Test"
> }
>
> bookmark
>
>
> /Jan
Men det er også fint nok
Tak for det Jan
Mvh
David
| |
Klaus Ellegaard (23-01-2006)
| Kommentar Fra : Klaus Ellegaard |
Dato : 23-01-06 16:09 |
|
David <spam@spam.spam> writes:
>Findes der en alternativ til "goto" for /bin/csh ?
Nej, goto er pr. definition en uskik, som aldrig bør bruges.
I dit tilfælde vil det være et hit at lave noget à la:
| #!/bin/sh
|
| fejl () {
| echo "Fejl! Scriptet stopper her."
| exit 1;
| }
|
| blah blah blah
| if [ noget ]
| then
| fejl
| fi
|
| bleh bleh bleh
| if [ noget ]
| then
| fejl
| fi
|
| (osv)
Husk at exit'e med en anden errorcode end 0, når scriptet fejler.
Mvh.
Klaus.
| |
David (23-01-2006)
| Kommentar Fra : David |
Dato : 23-01-06 17:36 |
|
Klaus Ellegaard <klausellegaard@msn.com> wrote in
news:dr2rhh$3sh$1@news.klen.dk:
> David <spam@spam.spam> writes:
>
>>Findes der en alternativ til "goto" for /bin/csh ?
>
> Nej, goto er pr. definition en uskik, som aldrig bør bruges.
>
> I dit tilfælde vil det være et hit at lave noget à la:
>
>| #!/bin/sh
>|
>| fejl () {
>| echo "Fejl! Scriptet stopper her."
>| exit 1;
>| }
>|
>| blah blah blah
>| if [ noget ]
>| then
>| fejl
>| fi
>|
>| bleh bleh bleh
>| if [ noget ]
>| then
>| fejl
>| fi
>|
>| (osv)
>
> Husk at exit'e med en anden errorcode end 0, når scriptet fejler.
>
> Mvh.
> Klaus.
Mange tak for hjælpen Klaus
men jeg kunne nu godt tænke mig at vide hvorfor du mener man ikke bør
bruge sådan en funktion?
Mvh
David
| |
Klaus Ellegaard (23-01-2006)
| Kommentar Fra : Klaus Ellegaard |
Dato : 23-01-06 17:40 |
|
David <spam@spam.spam> writes:
>Mange tak for hjælpen Klaus
>men jeg kunne nu godt tænke mig at vide hvorfor du mener man ikke bør
>bruge sådan en funktion?
Wikipedia har en del om GOTO - den mest sigende sætning er:
| The GOTO statement in high-level languages has been the target
| of criticism, because if GOTOs are over-used it becomes very
| easy to produce unreadable and generally unmaintainable
| spaghetti code.
Hele artiklen: http://en.wikipedia.org/wiki/Goto_(command)
Mvh.
Klaus.
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 17:58 |
|
Den Mon, 23 Jan 2006 15:08:33 +0000 (UTC) skrev Klaus Ellegaard:
> David <spam@spam.spam> writes:
>
>>Findes der en alternativ til "goto" for /bin/csh ?
>
> Nej, goto er pr. definition en uskik, som aldrig bør bruges.
grep -r goto /usr/src/linux-$(uname -r) | wc -l
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Klaus Ellegaard (23-01-2006)
| Kommentar Fra : Klaus Ellegaard |
Dato : 23-01-06 18:49 |
|
Kent Friis <nospam@nospam.invalid> writes:
>> Nej, goto er pr. definition en uskik, som aldrig bør bruges.
>grep -r goto /usr/src/linux-$(uname -r) | wc -l
Det var derfor, jeg skrev "bør".
Mvh.
Klaus.
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 18:56 |
|
Den Mon, 23 Jan 2006 17:49:09 +0000 (UTC) skrev Klaus Ellegaard:
> Kent Friis <nospam@nospam.invalid> writes:
>
>>> Nej, goto er pr. definition en uskik, som aldrig bør bruges.
>
>>grep -r goto /usr/src/linux-$(uname -r) | wc -l
>
> Det var derfor, jeg skrev "bør".
Du mener altså at du har mere forstand på at programmere end alle
kerne-folkene tilsammen? I så fald synes jeg da lige du skulle skrive
et bedre OS bare for at bevise det.
Eller er det endnu et tilfælde af "min lærer siger man ikke må bruge
goto", som der hvert eneste gang der starter et nyt skoleår er nogle
førsteårsstuderende der poster på LKML og gør opmærksom på? Fordi det
har de lært, præcis som jeg lærte i matematik i første klasse at
2-3 det kan man ikke, så falder man ned af tallinien. Når man så
er blevet bedre til matematik/programmering lærer man så at verden
ikke er helt så simpel, og både negative tal og goto er nødvendige.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Klaus Ellegaard (23-01-2006)
| Kommentar Fra : Klaus Ellegaard |
Dato : 23-01-06 19:05 |
|
Kent Friis <nospam@nospam.invalid> writes:
>Du mener altså at du har mere forstand på at programmere end alle
>kerne-folkene tilsammen? I så fald synes jeg da lige du skulle skrive
>et bedre OS bare for at bevise det.
Nejda, jeg mener, at risikoen for spaghetti bliver større af det.
Der kan være tusindvis af gode grunde til at bruge goto. Men der
er da langt fra at sige, at "goto bør undgås" til "enhver kritik
af goto kræver, at du skriver dit eget OS"?
I øvrigt er netop hardware-nære sager som operativsystemer da et
af de steder, hvor man virkelig kan få brug for goto. Jeg kan
ikke helt se relevansen af maskinnær kode i sammenhæng med et
simpelt shellscript, der må siges at være noget mere højniveau?
Mvh.
Klaus, der faktisk HAR skrevet et OS, da han gik på DTU.
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 19:17 |
|
Den Mon, 23 Jan 2006 18:05:16 +0000 (UTC) skrev Klaus Ellegaard:
> Kent Friis <nospam@nospam.invalid> writes:
>
>>Du mener altså at du har mere forstand på at programmere end alle
>>kerne-folkene tilsammen? I så fald synes jeg da lige du skulle skrive
>>et bedre OS bare for at bevise det.
>
> Nejda, jeg mener, at risikoen for spaghetti bliver større af det.
> Der kan være tusindvis af gode grunde til at bruge goto. Men der
> er da langt fra at sige, at "goto bør undgås" til "enhver kritik
> af goto kræver, at du skriver dit eget OS"?
Det kommer an på. Snakker vi om "goto bør undgås for at undgå
spaghetti-kode", eller "goto bør undgås undtagen når det er nødvendigt
for ikke at lave spaghetti-kode"?
> I øvrigt er netop hardware-nære sager som operativsystemer da et
> af de steder, hvor man virkelig kan få brug for goto. Jeg kan
> ikke helt se relevansen af maskinnær kode i sammenhæng med et
> simpelt shellscript, der må siges at være noget mere højniveau?
Nej jeg har godt nok heller aldrig savnet det i et shell-script. Til
gengæld forekommer det mig at jeg har brugt den for nylig (i år) i
et VB.NET program (Java wannabe sprog), hvor alternativerne ville være
værre. Jeg kan desværre ikke huske hvilket program det var, så jeg kan
ikke engang give et eksempel.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Kristian Vilmann (24-01-2006)
| Kommentar Fra : Kristian Vilmann |
Dato : 24-01-06 00:13 |
|
Kent Friis wrote:
> Den Mon, 23 Jan 2006 17:49:09 +0000 (UTC) skrev Klaus Ellegaard:
>
>>Kent Friis <nospam@nospam.invalid> writes:
>>
>>
>>>>Nej, goto er pr. definition en uskik, som aldrig bør bruges.
>>
>>>grep -r goto /usr/src/linux-$(uname -r) | wc -l
>>
>>Det var derfor, jeg skrev "bør".
>
>
> Du mener altså at du har mere forstand på at programmere end alle
> kerne-folkene tilsammen? I så fald synes jeg da lige du skulle skrive
> et bedre OS bare for at bevise det.
Engang for meget længe siden læste jeg et interview med med Linus T. Han
sagde blandt andet at han ikke var vanvittig stolt af at have brugt goto
i linux-kernen, men at der ikke fandtes noget der kunne springe rundt i
programmet med samme hastighed. Og derfor holdt han fast i dem.
Og det gør han så stadig :)
/k
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 17:12 |
|
Den Tue, 24 Jan 2006 00:13:22 +0100 skrev Kristian Vilmann:
> Kent Friis wrote:
>> Den Mon, 23 Jan 2006 17:49:09 +0000 (UTC) skrev Klaus Ellegaard:
>>
>>>Kent Friis <nospam@nospam.invalid> writes:
>>>
>>>
>>>>>Nej, goto er pr. definition en uskik, som aldrig bør bruges.
>>>
>>>>grep -r goto /usr/src/linux-$(uname -r) | wc -l
>>>
>>>Det var derfor, jeg skrev "bør".
>>
>>
>> Du mener altså at du har mere forstand på at programmere end alle
>> kerne-folkene tilsammen? I så fald synes jeg da lige du skulle skrive
>> et bedre OS bare for at bevise det.
>
> Engang for meget længe siden læste jeg et interview med med Linus T. Han
> sagde blandt andet at han ikke var vanvittig stolt af at have brugt goto
> i linux-kernen, men at der ikke fandtes noget der kunne springe rundt i
> programmet med samme hastighed. Og derfor holdt han fast i dem.
>
> Og det gør han så stadig :)
Det lyder underligt, det skulle compileren gerne kunne optimere sig
ud af.
Men den bliver typisk brugt på steder hvor der ikke findes andre
kommandoer der kan springe rundt. Fx, mangler C (og flere andre
sprog) en multilevel break. Og så den typiske "return, men ryd
lige op først" (goto out;), svarende til return + finally i andre
sprog.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Peter Makholm (23-01-2006)
| Kommentar Fra : Peter Makholm |
Dato : 23-01-06 19:03 |
|
Kent Friis <nospam@nospam.invalid> writes:
>>>grep -r goto /usr/src/linux-$(uname -r) | wc -l
>>
>> Det var derfor, jeg skrev "bør".
>
> Du mener altså at du har mere forstand på at programmere end alle
> kerne-folkene tilsammen?
Rent objektivt vil jeg hellere holder Hoare og Dijkstra op som
autoriter end linux-kerne-listen.
--
Peter Makholm | I have no caps-lock but I must scream...
peter@makholm.net | -- Greg
http://hacking.dk |
| |
Michael Rasmussen (23-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-01-06 19:46 |
| | |
Thorbjørn Ravn Ander~ (23-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-01-06 20:55 |
|
Michael Rasmussen <mir@miras.org> writes:
> Eller Knuth, Kernighan og Plaugher (The Elements of Programming Style)
Mon ikke Knuth bruger goto i sin MMIX tingest? (eller hvad den nu
hedder i vore dage).
--
Thorbjørn Ravn Andersen
| |
Michael Rasmussen (23-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-01-06 21:05 |
|
On Mon, 23 Jan 2006 20:55:13 +0100, Thorbjørn Ravn Andersen wrote:
> Mon ikke Knuth bruger goto i sin MMIX tingest? (eller hvad den nu hedder
> i vore dage).
Det gør han i vid udstrækning, men der gælder andre regler, når emnet
er kerner/oversættere.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Thorbjørn Ravn Ander~ (23-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-01-06 22:48 |
|
Michael Rasmussen <mir@miras.org> writes:
> > Mon ikke Knuth bruger goto i sin MMIX tingest? (eller hvad den nu hedder
> > i vore dage).
> Det gør han i vid udstrækning, men der gælder andre regler, når emnet
> er kerner/oversættere.
Maskinkode kan sædvanligvis ikke, men det forhindrer da ikke i at
skrive kerner uden brug af goto. Det afhænger af compilerens
kvalitet, og det er forbløffende hvad en moderne compiler kan
deducere.
--
Thorbjørn Ravn Andersen
| |
Michael Rasmussen (23-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-01-06 23:58 |
|
On Mon, 23 Jan 2006 22:47:35 +0100, Thorbjørn Ravn Andersen wrote:
>
> Maskinkode kan sædvanligvis ikke, men det forhindrer da ikke i at skrive
> kerner uden brug af goto. Det afhænger af compilerens kvalitet, og det
> er forbløffende hvad en moderne compiler kan deducere.
Det er selvfølgeligt muligt at skrive kerner uden brug af goto, men hvis
størrelsen af runtime koden er en faktor, og det særlige sted bliver
kaldt ofte - flaskehals, kan det af og til give lidt at benytte goto.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Peter Makholm (23-01-2006)
| Kommentar Fra : Peter Makholm |
Dato : 23-01-06 19:56 |
|
Michael Rasmussen <mir@miras.org> writes:
> On Mon, 23 Jan 2006 19:02:31 +0100, Peter Makholm wrote:
>
>>
>> Rent objektivt vil jeg hellere holder Hoare og Dijkstra op som autoriter
>> end linux-kerne-listen.
> Eller Knuth, Kernighan og Plaugher (The Elements of Programming Style)
Nu er det bare Dijkstra der er specielt kendt for at interesserer sig
for goto'er og han refererer til Hoare. Dijkstra er i øvrig bekendt
med bare at bruge goto's til fejlhåndtering.
--
Peter Makholm | Vi smider blade allesammen - hele tiden
peter@makholm.net | som et konstant spirende efterår
http://hacking.dk | Og hele tiden vokser nye frugter frem
| og vi finder nogen til at plukke dem
| -- Tilt, Perkussive popler
| |
Michael Rasmussen (23-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 23-01-06 21:00 |
|
On Mon, 23 Jan 2006 19:56:09 +0100, Peter Makholm wrote:
>
> Nu er det bare Dijkstra der er specielt kendt for at interesserer sig for
> goto'er og han refererer til Hoare. Dijkstra er i øvrig bekendt med bare
> at bruge goto's til fejlhåndtering.
For både Knuth og K&P gælder, at de foreskriver, at et modul/funktion
skal have een indgang og een udgang, hvilket jo principielt udelukker brug
af goto. Man kan selvfølgelig også bruge goto indenfor et
modul/funktion. Mht. fejlhåndtering har jeg svært ved at se, hvorfor
goto skulle være bedre end switch, med mindre vi diskuterer assembler
eller oversætter-/kernekode.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 21:17 |
|
Den Mon, 23 Jan 2006 21:00:09 +0100 skrev Michael Rasmussen:
> On Mon, 23 Jan 2006 19:56:09 +0100, Peter Makholm wrote:
>
>>
>> Nu er det bare Dijkstra der er specielt kendt for at interesserer sig for
>> goto'er og han refererer til Hoare. Dijkstra er i øvrig bekendt med bare
>> at bruge goto's til fejlhåndtering.
> For både Knuth og K&P gælder, at de foreskriver, at et modul/funktion
> skal have een indgang og een udgang, hvilket jo principielt udelukker brug
> af goto. Man kan selvfølgelig også bruge goto indenfor et
> modul/funktion. Mht. fejlhåndtering har jeg svært ved at se, hvorfor
> goto skulle være bedre end switch, med mindre vi diskuterer assembler
> eller oversætter-/kernekode.
Jeg kan ikke lige se hvordan du vil lave fejlhåndtering med switch, men
jeg kune da godt tænke mig at vide det - specielt hvis det kan erstatte
throw/catch (aka. goto on stereoids), der giver endnu mere spaghetti
end goto.
Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
baserede sprog uden renumber-kommando - når en stump kode kommer til at
fylde mere end der er frie linienumre på det sted, må man jo lige
lave en goto hen til anden halvdel. Hvor den så ender med at ligge
i vejen for en anden stump kode, som også går hen og vokser, og derfor
bliver nødt til at have en goto hen til resten... Hvorefter den første
del vokser endnu mere, og så bliver delt i tre (stadig med goto
imellem)... Jo, jeg har skam haft en Commodore 64...
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (23-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-01-06 22:45 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Jeg kan ikke lige se hvordan du vil lave fejlhåndtering med switch, men
> jeg kune da godt tænke mig at vide det - specielt hvis det kan erstatte
> throw/catch (aka. goto on stereoids), der giver endnu mere spaghetti
> end goto.
Nu stammer min erfaring med throw/catch primært fra Java, hvor det
ganske rigtigt kan blive rigtigt grimt hvis man ikke er omhyggelig,
men hvor et enkle par tommelfingerregler hjælper en hel del.
1) I tilfælde af hvor en given exception skal fanges i en metode, og
der er tale om generel fejlhåndtering, så lav en tilsvarende metode
som erklærer alle exceptions som thrown, og kald den direkte fra den
oprindelige metode, og håndter så fejlene passende. Refaktorer
eventuelt metodekroppen i klumper hvor ovenstående giver mening.
2) I tilfælde af at en given checked exception (som skal erklæres)
skal sendes op igennem mange, mange lag, så pak den ind i fx en
RuntimeException som ikke skal erklæres, og de mange lag længere
oppe, så fang RuntimeException og analyserer på den exception den
slæber med. Det er også godt hvis fx man laver Iteratorer, hvor
man ikke kan ændre de interfaces man ønsker at implementere.
Men det er mindre vigtigt her, da faciliteten ikke eksisterer svjv i
sh.
> Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
> baserede sprog uden renumber-kommando - når en stump kode kommer til at
> fylde mere end der er frie linienumre på det sted, må man jo lige
> lave en goto hen til anden halvdel. Hvor den så ender med at ligge
> i vejen for en anden stump kode, som også går hen og vokser, og derfor
> bliver nødt til at have en goto hen til resten... Hvorefter den første
> del vokser endnu mere, og så bliver delt i tre (stadig med goto
> imellem)... Jo, jeg har skam haft en Commodore 64...
Det har det dårligt kunne nå. Basic er opfundet i 1963[1] i USA og
Dijkstra skrev sin artikel i 1968. Det er nok mere Algol de har
kigget på.
Iøvrigt er netop 64'eren et fremragende eksempel på god hardware med
elendig software. Hvor mange af 64'erens faciliteter kunne udnyttes
uden brug af peek/poke eller maskinkode?
[1] http://inventors.about.com/library/inventors/blbasic.htm
--
Thorbjørn Ravn Andersen
| |
Peter Dalgaard (23-01-2006)
| Kommentar Fra : Peter Dalgaard |
Dato : 23-01-06 23:28 |
|
nospam0000@gmail.com (Thorbjørn Ravn Andersen) writes:
> > Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
> > baserede sprog uden renumber-kommando - når en stump kode kommer til at
> > fylde mere end der er frie linienumre på det sted, må man jo lige
> > lave en goto hen til anden halvdel. Hvor den så ender med at ligge
> > i vejen for en anden stump kode, som også går hen og vokser, og derfor
> > bliver nødt til at have en goto hen til resten... Hvorefter den første
> > del vokser endnu mere, og så bliver delt i tre (stadig med goto
> > imellem)... Jo, jeg har skam haft en Commodore 64...
>
> Det har det dårligt kunne nå. Basic er opfundet i 1963[1] i USA og
> Dijkstra skrev sin artikel i 1968. Det er nok mere Algol de har
> kigget på.
Snarere FORTRAN (IV) ville jeg tro. Men SVJH blev BASIC pushet ganske
hårdt som begyndersprog i de dage, og Dijkstra var i høj grad
fokuseret på sine studerendes mentale sundhed.
(Som en eller anden en gang har sagt: "Problemet med GOTO er ikke at
man kan hopppe ud af løkker, det er at man kan hoppe ind i dem." Med
pointen at det kan blive umuligt at sige hvilke betingelser der gælder
på et givet sted i ens program uden at analysere hele programmet.)
--
O__ ---- Peter Dalgaard Øster Farimagsgade 5, Entr.B
c/ /'_ --- Dept. of Biostatistics PO Box 2099, 1014 Cph. K
(*) \(*) -- University of Copenhagen Denmark Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard@biostat.ku.dk) FAX: (+45) 35327907
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 17:08 |
|
Den 23 Jan 2006 23:27:37 +0100 skrev Peter Dalgaard:
>
> (Som en eller anden en gang har sagt: "Problemet med GOTO er ikke at
> man kan hopppe ud af løkker, det er at man kan hoppe ind i dem."
Og det skulle så lige prøves i C. Jo, det har du sg* ret i, det troede
jeg godt nok kun var i sprog uden blok-strukturer (i.e. BASIC) man
kunne.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 17:04 |
|
Den 23 Jan 2006 22:45:05 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Jeg kan ikke lige se hvordan du vil lave fejlhåndtering med switch, men
>> jeg kune da godt tænke mig at vide det - specielt hvis det kan erstatte
>> throw/catch (aka. goto on stereoids), der giver endnu mere spaghetti
>> end goto.
>
> Nu stammer min erfaring med throw/catch primært fra Java, hvor det
> ganske rigtigt kan blive rigtigt grimt hvis man ikke er omhyggelig,
> men hvor et enkle par tommelfingerregler hjælper en hel del.
>
> 1) I tilfælde af hvor en given exception skal fanges i en metode, og
> der er tale om generel fejlhåndtering, så lav en tilsvarende metode
> som erklærer alle exceptions som thrown, og kald den direkte fra den
> oprindelige metode, og håndter så fejlene passende. Refaktorer
> eventuelt metodekroppen i klumper hvor ovenstående giver mening.
Det fattede jeg ikke en brik af. Måske fordi jeg ikke har beskæftiget
mig med Java...
> Iøvrigt er netop 64'eren et fremragende eksempel på god hardware med
> elendig software. Hvor mange af 64'erens faciliteter kunne udnyttes
> uden brug af peek/poke eller maskinkode?
Det tror da pokker, BASIC'en er jo lavet af Microsoft...
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (24-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 24-01-06 18:12 |
|
Kent Friis <nospam@nospam.invalid> writes:
> > 1) I tilfælde af hvor en given exception skal fanges i en metode, og
> > der er tale om generel fejlhåndtering, så lav en tilsvarende metode
> > som erklærer alle exceptions som thrown, og kald den direkte fra den
> > oprindelige metode, og håndter så fejlene passende. Refaktorer
> > eventuelt metodekroppen i klumper hvor ovenstående giver mening.
>
> Det fattede jeg ikke en brik af. Måske fordi jeg ikke har beskæftiget
> mig med Java...
Det skal jeg så være den første til at beklage. Min pointe var blot
at throw-catch ikke _behøver_ give spaghettiprogrammering.
> > Iøvrigt er netop 64'eren et fremragende eksempel på god hardware med
> > elendig software. Hvor mange af 64'erens faciliteter kunne udnyttes
> > uden brug af peek/poke eller maskinkode?
>
> Det tror da pokker, BASIC'en er jo lavet af Microsoft...
Jeg tror mere det var grunden at BASIC'en kostede gysser, og at
Commodore kunne gøre maskinen billigere ved at bruge en de allerede
havde i huset. Der kom andre BASIC versioner senere, men de slog
aldrig rigtigt an. De indeholdt ellers en masse sjove ting.
http://en.wikipedia.org/wiki/Commodore_BASIC
--
Thorbjørn Ravn Andersen
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 18:25 |
|
Den 24 Jan 2006 18:12:25 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> > 1) I tilfælde af hvor en given exception skal fanges i en metode, og
>> > der er tale om generel fejlhåndtering, så lav en tilsvarende metode
>> > som erklærer alle exceptions som thrown, og kald den direkte fra den
>> > oprindelige metode, og håndter så fejlene passende. Refaktorer
>> > eventuelt metodekroppen i klumper hvor ovenstående giver mening.
>>
>> Det fattede jeg ikke en brik af. Måske fordi jeg ikke har beskæftiget
>> mig med Java...
>
> Det skal jeg så være den første til at beklage. Min pointe var blot
> at throw-catch ikke _behøver_ give spaghettiprogrammering.
Det behøver goto heller ikke. Og hvis man nøjes med at bruge throw
som goto, giver throw ikke mere spaghetti end goto. Men det kan
sagtens blive meget værre, throw kan fx bruges til at hoppe ud
af funktioner, i flere niveauer i et langt spring. Det har goto ikke
kunnet siden BASIC, I C skal man faktisk helt over i longjmp for
at finde noget lige så slemt.
>> > Iøvrigt er netop 64'eren et fremragende eksempel på god hardware med
>> > elendig software. Hvor mange af 64'erens faciliteter kunne udnyttes
>> > uden brug af peek/poke eller maskinkode?
>>
>> Det tror da pokker, BASIC'en er jo lavet af Microsoft...
>
> Jeg tror mere det var grunden at BASIC'en kostede gysser, og at
> Commodore kunne gøre maskinen billigere ved at bruge en de allerede
> havde i huset.
Tja, hvis du mener at hvis de bare havde været villige til at ofre
penge nok, kunne MS godt lave ikke-elendig software, så tror jeg
ikke de *havde* penge nok. Og det tror jeg iøvrigt heller ikke der
er andre der havde/har, hvis man skal dømme ud fra hvor mange penge
Microsoft efterhånden selv har, og softwaren de laver er bare blevet
endnu mere elendig.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (24-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 24-01-06 20:32 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Det behøver goto heller ikke. Og hvis man nøjes med at bruge throw
> som goto, giver throw ikke mere spaghetti end goto. Men det kan
> sagtens blive meget værre, throw kan fx bruges til at hoppe ud
> af funktioner, i flere niveauer i et langt spring. Det har goto ikke
> kunnet siden BASIC, I C skal man faktisk helt over i longjmp for
> at finde noget lige så slemt.
Jeg tror du skal prøve nogen lidt mere moderne sprog, hvor det der
sendes afsted med throw-catch er et objekt.
Du vil nok have nemt ved at komme igang med C# under Mono.
> Tja, hvis du mener at hvis de bare havde været villige til at ofre
> penge nok, kunne MS godt lave ikke-elendig software, så tror jeg
> ikke de *havde* penge nok. Og det tror jeg iøvrigt heller ikke der
MS laver skam udmærket software afhængig af hvad man måler efter.
Fx var deres Javaimplementation lynende hurtig, og det var først efter
Hotspot kom frem at Sun kunne slå den. Det tog flere år. Excel
skulle være et glimrende regneark. Word burde efter min mening have
heddet Ilsebil, men der er mange der er glade for det.
> er andre der havde/har, hvis man skal dømme ud fra hvor mange penge
> Microsoft efterhånden selv har, og softwaren de laver er bare blevet
> endnu mere elendig.
Det Microsoft program jeg er gladest for, er Remote Desktop. Det gør
det muligt for mig at arbejde hjemmefra, selvom det er en Windowsbiks.
--
Thorbjørn Ravn Andersen
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 20:41 |
|
Den 24 Jan 2006 20:32:07 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Det behøver goto heller ikke. Og hvis man nøjes med at bruge throw
>> som goto, giver throw ikke mere spaghetti end goto. Men det kan
>> sagtens blive meget værre, throw kan fx bruges til at hoppe ud
>> af funktioner, i flere niveauer i et langt spring. Det har goto ikke
>> kunnet siden BASIC, I C skal man faktisk helt over i longjmp for
>> at finde noget lige så slemt.
>
> Jeg tror du skal prøve nogen lidt mere moderne sprog, hvor det der
> sendes afsted med throw-catch er et objekt.
>
> Du vil nok have nemt ved at komme igang med C# under Mono.
Og hvad skulle fordelen være i forhold til VB under WinXP som jeg
sidder med til daglig?
>> Tja, hvis du mener at hvis de bare havde været villige til at ofre
>> penge nok, kunne MS godt lave ikke-elendig software, så tror jeg
>> ikke de *havde* penge nok. Og det tror jeg iøvrigt heller ikke der
>
> MS laver skam udmærket software afhængig af hvad man måler efter.
Tjoo, hvis man måler efter indtægt, er det sikkert fint.
> Fx var deres Javaimplementation lynende hurtig,
Samme sætning korrekt formuleret: "Fx var deres ikke-Javaimplementering
lynende hurtig".
> og det var først efter
> Hotspot kom frem at Sun kunne slå den. Det tog flere år. Excel
> skulle være et glimrende regneark. Word burde efter min mening have
> heddet Ilsebil, men der er mange der er glade for det.
Samme Excel der når jeg lukker et vindue spørger om jeg vil gemme
indholdet af et helt andet vindue, og når jeg så ikke lige opdager at
den laver det nummer og trykker nej (fordi jeg ikke ville gemme
indholdet af det vindue jeg lukkede), bare smider det hele væk, og
lukker hele programmet?
>> er andre der havde/har, hvis man skal dømme ud fra hvor mange penge
>> Microsoft efterhånden selv har, og softwaren de laver er bare blevet
>> endnu mere elendig.
>
> Det Microsoft program jeg er gladest for, er Remote Desktop. Det gør
> det muligt for mig at arbejde hjemmefra, selvom det er en Windowsbiks.
Kombineret med rdesktop er den faktisk ikke helt dum.
Bare ærgerligt at OS'et i den anden ende stadig er det samme elendige
bras. Men så kan man da i det mindste sætte sig til at spille lokalt,
imens XP rebooter
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (24-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 24-01-06 21:26 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Og hvad skulle fordelen være i forhold til VB under WinXP som jeg
> sidder med til daglig?
Jeg troede ikke at du med dine holdninger brugte sådan noget. Men
måske stammer holdningerne derfra :)
Jeg har ikke arbejdet med Visual Basic, men jeg tror at C# (og Java)
skalerer bedre og kan give større programmer.
> > MS laver skam udmærket software afhængig af hvad man måler efter.
>
> Tjoo, hvis man måler efter indtægt, er det sikkert fint.
Det er der jo nogen der gør.
>
> > Fx var deres Javaimplementation lynende hurtig,
>
> Samme sætning korrekt formuleret: "Fx var deres ikke-Javaimplementering
> lynende hurtig".
Brugte man ikke RMI, virkede standard java ting. Samt de havde ikke
noget loft på hvor meget hukommelse man kunne bruge - det kunne være
rigtigt rart.
> Samme Excel der når jeg lukker et vindue spørger om jeg vil gemme
> indholdet af et helt andet vindue, og når jeg så ikke lige opdager at
> den laver det nummer og trykker nej (fordi jeg ikke ville gemme
> indholdet af det vindue jeg lukkede), bare smider det hele væk, og
> lukker hele programmet?
Du glemmer at Office er en programpakke der ikke er beregnet til at
lukke ned.
> > Det Microsoft program jeg er gladest for, er Remote Desktop. Det gør
> > det muligt for mig at arbejde hjemmefra, selvom det er en Windowsbiks.
>
> Kombineret med rdesktop er den faktisk ikke helt dum.
>
> Bare ærgerligt at OS'et i den anden ende stadig er det samme elendige
> bras. Men så kan man da i det mindste sætte sig til at spille lokalt,
> imens XP rebooter
M-x tetris !
--
Thorbjørn Ravn Andersen
| |
Kent Friis (24-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 24-01-06 21:53 |
|
Den 24 Jan 2006 21:26:18 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Og hvad skulle fordelen være i forhold til VB under WinXP som jeg
>> sidder med til daglig?
>
> Jeg troede ikke at du med dine holdninger brugte sådan noget. Men
> måske stammer holdningerne derfra :)
Naturligvis. En der kun bruger Linux ville da ikke have nogen grund
til at brokke sig over kvaliteten af Microsoft-produkter, men blot
konstatere "jeg har da ikke noget problem". Men os der bruger MS-
produkter, vi har alt mulig grund til at brokke os.
> Jeg har ikke arbejdet med Visual Basic, men jeg tror at C# (og Java)
> skalerer bedre og kan give større programmer.
C# og VB.NET er samme compiler, blot med nogle andre nøgleord. Det
er ikke uden grund at det er blevet kaldt "skinnable language". Så
hvis C# skalerer bedre, er det ikke compilerens skyld, men at sproget
er mere læsevenligt.
>> > MS laver skam udmærket software afhængig af hvad man måler efter.
>>
>> Tjoo, hvis man måler efter indtægt, er det sikkert fint.
>
> Det er der jo nogen der gør.
Ja, aktionærerne.
>> > Fx var deres Javaimplementation lynende hurtig,
>>
>> Samme sætning korrekt formuleret: "Fx var deres ikke-Javaimplementering
>> lynende hurtig".
>
> Brugte man ikke RMI, virkede standard java ting.
Måske, men du må stadig ikke kalde det Java(R).
>> Samme Excel der når jeg lukker et vindue spørger om jeg vil gemme
>> indholdet af et helt andet vindue, og når jeg så ikke lige opdager at
>> den laver det nummer og trykker nej (fordi jeg ikke ville gemme
>> indholdet af det vindue jeg lukkede), bare smider det hele væk, og
>> lukker hele programmet?
>
> Du glemmer at Office er en programpakke der ikke er beregnet til at
> lukke ned.
Det var jo netop heller ikke det jeg ville, det var kun det ene vindue
jeg ville lukke.
Og det er sket flere gange - hvis ikke jeg tænker over det når jeg
lukker et vindue, går det galt hver gang jeg har flere filer åbne.
>> > Det Microsoft program jeg er gladest for, er Remote Desktop. Det gør
>> > det muligt for mig at arbejde hjemmefra, selvom det er en Windowsbiks.
>>
>> Kombineret med rdesktop er den faktisk ikke helt dum.
>>
>> Bare ærgerligt at OS'et i den anden ende stadig er det samme elendige
>> bras. Men så kan man da i det mindste sætte sig til at spille lokalt,
>> imens XP rebooter
>
> M-x tetris !
:!ut2004
vi forever!
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (24-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 24-01-06 23:09 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Naturligvis. En der kun bruger Linux ville da ikke have nogen grund
> til at brokke sig over kvaliteten af Microsoft-produkter, men blot
> konstatere "jeg har da ikke noget problem". Men os der bruger MS-
> produkter, vi har alt mulig grund til at brokke os.
Jeg kan høre at du aldrig har brugt Lotus Notes som postprogram[*], og
du derfor ikke ved hvor godt du har det.
> > Brugte man ikke RMI, virkede standard java ting.
>
> Måske, men du må stadig ikke kalde det Java(R).
Det er nu lidt som hvorvidt Linux er Unix eller ej.
Netop med hensyn til Java er det særdeles interessant da Apache er
gået igang med at lave deres egen Javaudgave og det ser ud til at der
er vældig gang i den. Resultatet bliver at der bliver to konkurrende
kodebaser, istedet for kun Suns, og så er der ligepræcis skete det som
Sun ikke ville have - nemlig at Java forkede.
> > Du glemmer at Office er en programpakke der ikke er beregnet til at
> > lukke ned.
>
> Det var jo netop heller ikke det jeg ville, det var kun det ene vindue
> jeg ville lukke.
Det må du heller ikke.
> Og det er sket flere gange - hvis ikke jeg tænker over det når jeg
> lukker et vindue, går det galt hver gang jeg har flere filer åbne.
Du skal sikkert bare opgradere til nyeste version.
> > M-x tetris !
>
> :!ut2004
>
> vi forever!
Mnjah. "vi" kan jo ingenting selv.
Herudover kører UT ret ringe i tekstmode.
[*] Jeg synes Notes kan rigtigt mange smarte ting, men postdelen er
ikke en af dem.
--
Thorbjørn Ravn Andersen
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 17:50 |
|
Den 24 Jan 2006 23:09:29 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Naturligvis. En der kun bruger Linux ville da ikke have nogen grund
>> til at brokke sig over kvaliteten af Microsoft-produkter, men blot
>> konstatere "jeg har da ikke noget problem". Men os der bruger MS-
>> produkter, vi har alt mulig grund til at brokke os.
>
> Jeg kan høre at du aldrig har brugt Lotus Notes som postprogram[*], og
> du derfor ikke ved hvor godt du har det.
Korrekt, og derfor brokker jeg mig heller ikke over Lotus Notes. Endnu
et bevis på at min teori er korrekt, det er ikke folk der ikke bruger
et produkt der brokker sig over det.
>> > Brugte man ikke RMI, virkede standard java ting.
>>
>> Måske, men du må stadig ikke kalde det Java(R).
>
> Det er nu lidt som hvorvidt Linux er Unix eller ej.
Det er det ikke, det er derfor de fleste skriver *nix.
> Netop med hensyn til Java er det særdeles interessant da Apache er
> gået igang med at lave deres egen Javaudgave og det ser ud til at der
> er vældig gang i den. Resultatet bliver at der bliver to konkurrende
> kodebaser, istedet for kun Suns, og så er der ligepræcis skete det som
> Sun ikke ville have - nemlig at Java forkede.
Det bliver interessant at se, men ellers er det ikke noget der har
interesseret mig. Blackdown virker til map24, og det er vist det eneste
jeg bruger Java til.
>> > Du glemmer at Office er en programpakke der ikke er beregnet til at
>> > lukke ned.
>>
>> Det var jo netop heller ikke det jeg ville, det var kun det ene vindue
>> jeg ville lukke.
>
> Det må du heller ikke.
LOL. Jamen når nu jeg ikke skulle bruge det ark længere, men kun det
andet...
>> Og det er sket flere gange - hvis ikke jeg tænker over det når jeg
>> lukker et vindue, går det galt hver gang jeg har flere filer åbne.
>
> Du skal sikkert bare opgradere til nyeste version.
>
>> > M-x tetris !
>>
>> :!ut2004
>>
>> vi forever!
>
> Mnjah. "vi" kan jo ingenting selv.
Jo da, det den er beregnet til. Nemlig at redigere i tekst-filer. Ikke
som andet bloatware...
> Herudover kører UT ret ringe i tekstmode.
"vi" unset'er ikke $DISPLAY.
> [*] Jeg synes Notes kan rigtigt mange smarte ting, men postdelen er
> ikke en af dem.
Lyder lidt som en af mine bemærkninger om Microsoft... De laver da
mange fine ting, software er bare ikke en af dem.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 20:52 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Korrekt, og derfor brokker jeg mig heller ikke over Lotus Notes. Endnu
Så må du prøve det. Lotus 6.5 klienten kan hentes sammen med en
connector så den kan snakke med Exchange. Det vil sikkert være en
ufroglemmelig oplevelse :)
> > Det er nu lidt som hvorvidt Linux er Unix eller ej.
>
> Det er det ikke, det er derfor de fleste skriver *nix.
Det er jo et varemærke. Personligt er jeg bedøvende ligeglad - den
OPFØRER Sig som en Unix, og det er godt nok til mig.
Ellers må du jo have en SCO eller en Solaris.
> >> > Du glemmer at Office er en programpakke der ikke er beregnet til at
> >> > lukke ned.
> >>
> >> Det var jo netop heller ikke det jeg ville, det var kun det ene vindue
> >> jeg ville lukke.
> >
> > Det må du heller ikke.
>
> LOL. Jamen når nu jeg ikke skulle bruge det ark længere, men kun det
> andet...
Så må du genstarte computeren. Tag eventuelt strømmen på væggen hvis
Excel nægter at overgive sig.
> > Mnjah. "vi" kan jo ingenting selv.
>
> Jo da, det den er beregnet til. Nemlig at redigere i tekst-filer. Ikke
> som andet bloatware...
Tillad mig at gøre opmærksom på at notepad.exe fint findes under
Windows, og er endnu mindre bloatware end vi.
> > [*] Jeg synes Notes kan rigtigt mange smarte ting, men postdelen er
> > ikke en af dem.
>
> Lyder lidt som en af mine bemærkninger om Microsoft... De laver da
> mange fine ting, software er bare ikke en af dem.
Gør de det? Hvad?
--
Thorbjørn Ravn Andersen
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 21:48 |
|
Den 25 Jan 2006 20:51:48 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Korrekt, og derfor brokker jeg mig heller ikke over Lotus Notes. Endnu
>
> Så må du prøve det. Lotus 6.5 klienten kan hentes sammen med en
> connector så den kan snakke med Exchange. Det vil sikkert være en
> ufroglemmelig oplevelse :)
Næ tak, jeg har nok at gøre med at brokke mig over MS-produkter.
>> > Det er nu lidt som hvorvidt Linux er Unix eller ej.
>>
>> Det er det ikke, det er derfor de fleste skriver *nix.
>
> Det er jo et varemærke. Personligt er jeg bedøvende ligeglad - den
> OPFØRER Sig som en Unix, og det er godt nok til mig.
>
> Ellers må du jo have en SCO eller en Solaris.
Mig? Jeg skal sg* ikke have noget varemærke - jeg har iøvrigt haft en
Solaris-maskine (IPC), den røg der hurtigt Linux på.
>> >> > Du glemmer at Office er en programpakke der ikke er beregnet til at
>> >> > lukke ned.
>> >>
>> >> Det var jo netop heller ikke det jeg ville, det var kun det ene vindue
>> >> jeg ville lukke.
>> >
>> > Det må du heller ikke.
>>
>> LOL. Jamen når nu jeg ikke skulle bruge det ark længere, men kun det
>> andet...
>
> Så må du genstarte computeren. Tag eventuelt strømmen på væggen hvis
> Excel nægter at overgive sig.
Det var jo ikke det der var problemet. Jeg ville lukke *et* dokument,
men den lukkede *hele* programmet, uden at gemme det jeg ville beholde.
>> > Mnjah. "vi" kan jo ingenting selv.
>>
>> Jo da, det den er beregnet til. Nemlig at redigere i tekst-filer. Ikke
>> som andet bloatware...
>
> Tillad mig at gøre opmærksom på at notepad.exe fint findes under
> Windows, og er endnu mindre bloatware end vi.
Den er til gengæld komplet uegnet til at redigere tekstfiler på mere
end fire linier.
>> > [*] Jeg synes Notes kan rigtigt mange smarte ting, men postdelen er
>> > ikke en af dem.
>>
>> Lyder lidt som en af mine bemærkninger om Microsoft... De laver da
>> mange fine ting, software er bare ikke en af dem.
>
> Gør de det? Hvad?
Tja, jeg har ikke selv prøvet dem, men deres tastaturer og mus har
faktisk ry for at være temmelig gode. Er det ikke generelt hardware
de er gode til? (X-box tæller ikke, der har de kun lavet softwaren).
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 22:02 |
|
Kent Friis <nospam@nospam.invalid> writes:
> Næ tak, jeg har nok at gøre med at brokke mig over MS-produkter.
Kylling.
> Mig? Jeg skal sg* ikke have noget varemærke - jeg har iøvrigt haft
> en Solaris-maskine (IPC), den røg der hurtigt Linux på.
IPC? Det er da en ældre sag hvis jeg husker rigtigt. Tiderne har
ændret sig.
Når http://www.gnusolaris.org/gswiki det her har stabiliseret sig
lidt, vil jeg se om det er noget. Solaris absolutte force er deres
kerne, og kombineret med Debian må det da blive godt.
> Det var jo ikke det der var problemet. Jeg ville lukke *et*
> dokument, men den lukkede *hele* programmet, uden at gemme det jeg
> ville beholde.
Du har sikkert fejlbetjent det, eller klikket med musen. Det må man
heller ikke.
> > Tillad mig at gøre opmærksom på at notepad.exe fint findes under
> > Windows, og er endnu mindre bloatware end vi.
>
> Den er til gengæld komplet uegnet til at redigere tekstfiler på mere
> end fire linier.
I så fald synes jeg du skulle undersøge hvordan man ændrer størrelsen
af et vindue. Eller sætter fontstørrelsen lidt ned. Få eventuelt fat
i et 4-års barn til at hjælpe dig.
> > Gør de det? Hvad?
>
> Tja, jeg har ikke selv prøvet dem, men deres tastaturer og mus har
> faktisk ry for at være temmelig gode. Er det ikke generelt hardware
> de er gode til? (X-box tæller ikke, der har de kun lavet softwaren).
Ingen anelse. Det er din påstand.
--
Thorbjørn Ravn Andersen
| |
Sune Vuorela (25-01-2006)
| Kommentar Fra : Sune Vuorela |
Dato : 25-01-06 22:06 |
|
On 2006-01-25, Thorbjørn Ravn Andersen <nospam0000@gmail.com> wrote:
> Når http://www.gnusolaris.org/gswiki det her har stabiliseret sig
> lidt, vil jeg se om det er noget. Solaris absolutte force er deres
> kerne, og kombineret med Debian må det da blive godt.
Desværre er der vidst nok licensproblemer på den front. Suns libc er
ikke kompatibelt med gpl-ting. Og det kombineret med at debian plejer at
tage licenser rigtig seriøst, har projektet ikke rigtig gode udsigter.
/Sune
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 22:33 |
|
Den 25 Jan 2006 22:02:00 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> Næ tak, jeg har nok at gøre med at brokke mig over MS-produkter.
>
> Kylling.
>
>> Mig? Jeg skal sg* ikke have noget varemærke - jeg har iøvrigt haft
>> en Solaris-maskine (IPC), den røg der hurtigt Linux på.
>
> IPC? Det er da en ældre sag hvis jeg husker rigtigt. Tiderne har
> ændret sig.
Jeg skrev skam også "havde". Den tog en forfærdelig tid at starte
op, for IDPROM batteriet var dødt, så det skulle lige indtastes
manuelt før den ville noget som helst.
> Når http://www.gnusolaris.org/gswiki det her har stabiliseret sig
> lidt, vil jeg se om det er noget. Solaris absolutte force er deres
> kerne, og kombineret med Debian må det da blive godt.
Tja, der skal meget til at lokke mig til at bruge mere af min fritid
på computere end jeg allerede gør (og et nyt OS tager altid en masse
tid).
>> Det var jo ikke det der var problemet. Jeg ville lukke *et*
>> dokument, men den lukkede *hele* programmet, uden at gemme det jeg
>> ville beholde.
>
> Du har sikkert fejlbetjent det, eller klikket med musen. Det må man
> heller ikke.
Det var dem selv der kaldte det brugervenligt.
>> > Tillad mig at gøre opmærksom på at notepad.exe fint findes under
>> > Windows, og er endnu mindre bloatware end vi.
>>
>> Den er til gengæld komplet uegnet til at redigere tekstfiler på mere
>> end fire linier.
>
> I så fald synes jeg du skulle undersøge hvordan man ændrer størrelsen
> af et vindue. Eller sætter fontstørrelsen lidt ned. Få eventuelt fat
> i et 4-års barn til at hjælpe dig.
Det er ikke vinduet der er problemet, det er manglende redigerings-
faciliteter. 12yy16GP, hvis det siger dig noget. Men det er måske for
avanceret for en Emacs-bruger? :-þ
>> > Gør de det? Hvad?
>>
>> Tja, jeg har ikke selv prøvet dem, men deres tastaturer og mus har
>> faktisk ry for at være temmelig gode. Er det ikke generelt hardware
>> de er gode til? (X-box tæller ikke, der har de kun lavet softwaren).
>
> Ingen anelse. Det er din påstand.
Det er noget jeg har hørt.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 22:46 |
|
Kent Friis <nospam@nospam.invalid> writes:
> > I så fald synes jeg du skulle undersøge hvordan man ændrer størrelsen
> > af et vindue. Eller sætter fontstørrelsen lidt ned. Få eventuelt fat
> > i et 4-års barn til at hjælpe dig.
>
> Det er ikke vinduet der er problemet, det er manglende redigerings-
> faciliteter. 12yy16GP, hvis det siger dig noget. Men det er måske for
> avanceret for en Emacs-bruger? :-þ
Lige "yy" kender jeg ikke, men det er nok noget med at kopiere 4 eller
16 linier til slutningen af filen. Jeg har kun det lille kørekort til
vi, men det er også nok til mit brug.
Med hensyn til editorer bruger jeg dem der er og så bander man bare
indtil man får lært de nye taster. P.t. sidder jeg i et miljø hvor F9
genkalder forrige kommando, og F3 _lukker_ sessionen (og glemmer
historikken), men heldigvis har jeg efterhånden vænnet mig til det.
> > Ingen anelse. Det er din påstand.
>
> Det er noget jeg har hørt.
Det må du så lade være med at bringe til torvs.
Kan VB.NET iøvrigt noget der er værd at blære sig med overfor dumme unixbrugere?
--
Thorbjørn Ravn Andersen
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 22:56 |
|
Den 25 Jan 2006 22:46:06 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> > I så fald synes jeg du skulle undersøge hvordan man ændrer størrelsen
>> > af et vindue. Eller sætter fontstørrelsen lidt ned. Få eventuelt fat
>> > i et 4-års barn til at hjælpe dig.
>>
>> Det er ikke vinduet der er problemet, det er manglende redigerings-
>> faciliteter. 12yy16GP, hvis det siger dig noget. Men det er måske for
>> avanceret for en Emacs-bruger? :-þ
>
> Lige "yy" kender jeg ikke, men det er nok noget med at kopiere 4 eller
> 16 linier til slutningen af filen. Jeg har kun det lille kørekort til
> vi, men det er også nok til mit brug.
12yy = 12 kopier linie. (y = yank, samme bogstav to gange = linie).
16G = 16 gå til linie. (G = Go to)
P = Paste.
> Med hensyn til editorer bruger jeg dem der er og så bander man bare
> indtil man får lært de nye taster. P.t. sidder jeg i et miljø hvor F9
> genkalder forrige kommando, og F3 _lukker_ sessionen (og glemmer
> historikken), men heldigvis har jeg efterhånden vænnet mig til det.
>
>> > Ingen anelse. Det er din påstand.
>>
>> Det er noget jeg har hørt.
>
> Det må du så lade være med at bringe til torvs.
>
> Kan VB.NET iøvrigt noget der er værd at blære sig med overfor dumme unixbrugere?
Det er fint som forsvar hvis man bliver mistænkt for at være Linux-
fanatiker, men ellers er jeg ikke stødt på noget.
En tidligere kollega fortalte at han har hjulpet adskillige
..NET-programmører uden at de opdagede han ikke anede en brik om .NET,
men besvarede spørgsmålet ud fra sin Java-erfaring, så hvis man kan
Java, kan man også .NET Og VB er bare C# (altså Java) med
BASIC-keywords.
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Martin Moller Peders~ (25-01-2006)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 25-01-06 10:57 |
|
In <pan.2006.01.23.20.00.08.676535@miras.org> Michael Rasmussen <mir@miras.org> writes:
>On Mon, 23 Jan 2006 19:56:09 +0100, Peter Makholm wrote:
>>
>> Nu er det bare Dijkstra der er specielt kendt for at interesserer sig for
>> goto'er og han refererer til Hoare. Dijkstra er i øvrig bekendt med bare
>> at bruge goto's til fejlhåndtering.
>For både Knuth og K&P gælder, at de foreskriver, at et modul/funktion
>skal have een indgang og een udgang, hvilket jo principielt udelukker brug
>af goto.
Det med kun en udgang er taabeligt.
/Martin
| |
Michael Rasmussen (25-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 25-01-06 12:38 |
|
On Wed, 25 Jan 2006 09:56:32 +0000, Martin Moller Pedersen wrote:
>
> Det med kun en udgang er taabeligt.
Det er muligt, du mener det, men det er altså definitionen på strukturet
programmering. Forøvrigt en ideologi ovenstående artikel affødte.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Martin Moller Peders~ (25-01-2006)
| Kommentar Fra : Martin Moller Peders~ |
Dato : 25-01-06 14:53 |
|
In <pan.2006.01.25.11.37.46.855035@miras.org> Michael Rasmussen <mir@miras.org> writes:
>On Wed, 25 Jan 2006 09:56:32 +0000, Martin Moller Pedersen wrote:
>>
>> Det med kun en udgang er taabeligt.
>Det er muligt, du mener det, men det er altså definitionen på strukturet
>programmering. Forøvrigt en ideologi ovenstående artikel affødte.
Jeg har overtaget noget c-kode, hvor der mange stedet stod noget a la
(lang funktion)
int g() {
int error=0;
if (x==5) {
error=1; /* hvorfor ikke bare return 1 her ?; */
}
if (error==0) {
...;
if (y==3) {
error=2; /* hvorfor ikke bare return 2 her ?; */
}
...
}
if (error==0) {
...;
if (y==8) {
error=3; /* hvorfor ikke bare return 3 her ?; */
}
...
}
.... /* mange flere linier */
return error;
}
| |
Mogens Kjaer (25-01-2006)
| Kommentar Fra : Mogens Kjaer |
Dato : 25-01-06 14:57 |
|
Martin Moller Pedersen wrote:
....
> Jeg har overtaget noget c-kode, hvor der mange stedet stod noget a la
>
Hvis nogen vil lave nogle testudskrifter:
> (lang funktion)
> int g() {
fprintf(stderr, "Nu starter g.\n");
>
> int error=0;
> if (x==5) {
> error=1; /* hvorfor ikke bare return 1 her ?; */
> }
> if (error==0) {
> ...;
> if (y==3) {
> error=2; /* hvorfor ikke bare return 2 her ?; */
> }
> ...
> }
> if (error==0) {
> ...;
> if (y==8) {
> error=3; /* hvorfor ikke bare return 3 her ?; */
> }
> ...
> }
>
> ... /* mange flere linier */
>
fprintf(stderr, "Nu stopper g, error = %d\n", error);
> return error;
> }
Hvis du har 117 returns i din funktion, kommer man nemt
til at overse dem.
Mogens
--
Mogens Kjaer, Carlsberg A/S, Computer Department
Gamle Carlsberg Vej 10, DK-2500 Valby, Denmark
Phone: +45 33 27 53 25, Fax: +45 33 27 47 08
Email: mk@crc.dk Homepage: http://www.crc.dk
| |
Mads Bondo Dydensbor~ (25-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 25-01-06 18:51 |
|
Mogens Kjaer wrote:
> Martin Moller Pedersen wrote:
> ...
>> Jeg har overtaget noget c-kode, hvor der mange stedet stod noget a la
>>
>
> Hvis nogen vil lave nogle testudskrifter:
>
>> (lang funktion)
>> int g() {
>
> fprintf(stderr, "Nu starter g.\n");
...
> fprintf(stderr, "Nu stopper g, error = %d\n", error);
>
>> return error;
>> }
>
> Hvis du har 117 returns i din funktion, kommer man nemt
> til at overse dem.
Det er den slags man har debuggere, eller gcc's function trace ting til.
Eller man kunne bruge c++ - så forsvinder problemet
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
The US population is 4 % of the global one. They produce 23 % of the global
pollution.
| |
Michael Rasmussen (25-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 25-01-06 19:31 |
|
On Wed, 25 Jan 2006 18:50:41 +0100, Mads Bondo Dydensborg wrote:
>
> Det er den slags man har debuggere, eller gcc's function trace ting til.
> Eller man kunne bruge c++ - så forsvinder problemet
Ja, så længe du udvikler, med hvad den dag en kunde ringer, og siger,
dit program ikke opfører sig som forventet? Så er det godt at kunne
sige: start programmet med option debug!
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 20:54 |
|
Michael Rasmussen <mir@miras.org> writes:
> > Det er den slags man har debuggere, eller gcc's function trace ting til.
> > Eller man kunne bruge c++ - så forsvinder problemet
> Ja, så længe du udvikler, med hvad den dag en kunde ringer, og siger,
> dit program ikke opfører sig som forventet? Så er det godt at kunne
> sige: start programmet med option debug!
Du har ikke tilfældigvis prøvet at bruge log4c til den slags? Jeg vil
gerne høre nogen erfaringer.
--
Thorbjørn Ravn Andersen
| |
Michael Rasmussen (25-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 25-01-06 21:33 |
|
On Wed, 25 Jan 2006 20:53:52 +0100, Thorbjørn Ravn Andersen wrote:
>
> Du har ikke tilfældigvis prøvet at bruge log4c til den slags? Jeg vil
> gerne høre nogen erfaringer.
Desværre ikke. Jeg har nogen fremtidsplaner om, at jeg skal have testet
cppunit af i den nærmeste fremtid, og i den forbindelse vil jeg,
foranledet af din forespørgsel, også kikke på log4c i samme ombæring.
Har du så til gengæld nogen erfaringer med cppunit?
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 21:37 |
|
Michael Rasmussen <mir@miras.org> writes:
> Har du så til gengæld nogen erfaringer med cppunit?
Nøp. Jeg koder pt kun Java. Der har jeg til gengæld gode erfaringer
med junit under Eclipse.
--
Thorbjørn Ravn Andersen
| |
Michael Rasmussen (25-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 25-01-06 21:55 |
|
On Wed, 25 Jan 2006 21:36:35 +0100, Thorbjørn Ravn Andersen wrote:
>
> Nøp. Jeg koder pt kun Java. Der har jeg til gengæld gode erfaringer
> med junit under Eclipse.
Ditto her. Dog Netbeans
Jo mere man får anvendt junit, jo mere uundværligt bliver det!
Hvis du gør dig i servlets/bønner, bør du se på integrationen mellem
junit og apache cactus.
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 21:56 |
|
Den Wed, 25 Jan 2006 21:54:52 +0100 skrev Michael Rasmussen:
> On Wed, 25 Jan 2006 21:36:35 +0100, Thorbjørn Ravn Andersen wrote:
>
>>
>> Nøp. Jeg koder pt kun Java. Der har jeg til gengæld gode erfaringer
>> med junit under Eclipse.
> Ditto her. Dog Netbeans
> Jo mere man får anvendt junit, jo mere uundværligt bliver det!
> Hvis du gør dig i servlets/bønner, bør du se på integrationen mellem
> junit og apache cactus.
Kaktus... Bønner... Sig mig, tror I det er dk.fritid.botanik?
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Michael Rasmussen (25-01-2006)
| Kommentar Fra : Michael Rasmussen |
Dato : 25-01-06 22:02 |
|
On Wed, 25 Jan 2006 20:55:52 +0000, Kent Friis wrote:
>
> Kaktus... Bønner... Sig mig, tror I det er dk.fritid.botanik?
Jeg skal gerne være den første til at beklage Sun's og Apache Groups
navngivningsfilosofi, men jeg har desværre ingen nævneværdig
indflydelse på den
--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
| |
Thorbjørn Ravn Ander~ (25-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 25-01-06 22:05 |
|
Kent Friis <nospam@nospam.invalid> writes:
> >> Nøp. Jeg koder pt kun Java. Der har jeg til gengæld gode erfaringer
> >> med junit under Eclipse.
> > Ditto her. Dog Netbeans
> > Jo mere man får anvendt junit, jo mere uundværligt bliver det!
> > Hvis du gør dig i servlets/bønner, bør du se på integrationen mellem
> > junit og apache cactus.
>
> Kaktus... Bønner... Sig mig, tror I det er dk.fritid.botanik?
Hvis jeg nu siger Tequila og Kaffe, hvad siger du så?
--
Thorbjørn Ravn Andersen
| |
Kent Friis (25-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 25-01-06 22:22 |
|
Den 25 Jan 2006 22:04:31 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis <nospam@nospam.invalid> writes:
>
>> >> Nøp. Jeg koder pt kun Java. Der har jeg til gengæld gode erfaringer
>> >> med junit under Eclipse.
>> > Ditto her. Dog Netbeans
>> > Jo mere man får anvendt junit, jo mere uundværligt bliver det!
>> > Hvis du gør dig i servlets/bønner, bør du se på integrationen mellem
>> > junit og apache cactus.
>>
>> Kaktus... Bønner... Sig mig, tror I det er dk.fritid.botanik?
>
> Hvis jeg nu siger Tequila og Kaffe, hvad siger du så?
Værtshus?
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Mads Bondo Dydensbor~ (26-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 26-01-06 13:07 |
|
Michael Rasmussen wrote:
> On Wed, 25 Jan 2006 20:53:52 +0100, Thorbjørn Ravn Andersen wrote:
>
> Har du så til gengæld nogen erfaringer med cppunit?
Jeg må indrømme at jeg klart foretrækker boost_test frem for cppunit. Men,
det er så C++.
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
There was a time when religion ruled the world. It is known as The Dark
Ages.
- Ruth Hurmence Green (The Born Again Skeptic's Guide to the Bible)
| |
Mads Bondo Dydensbor~ (26-01-2006)
| Kommentar Fra : Mads Bondo Dydensbor~ |
Dato : 26-01-06 13:06 |
|
Michael Rasmussen wrote:
> On Wed, 25 Jan 2006 18:50:41 +0100, Mads Bondo Dydensborg wrote:
>
>>
>> Det er den slags man har debuggere, eller gcc's function trace ting til.
>> Eller man kunne bruge c++ - så forsvinder problemet
> Ja, så længe du udvikler, med hvad den dag en kunde ringer, og siger,
> dit program ikke opfører sig som forventet? Så er det godt at kunne
> sige: start programmet med option debug!
Det kan du da vist sagtens gøre med gcc. Check
http://ndevilla.free.fr/etrace/
Iøvrigt vil jeg da anbefale C++ i dette tilfælde. Det er rigtigt lækkert til
lige præcist den slags:
class ind_ud {
const char * navn_
public:
ind_ud(const char * navn) : navn_( navn ) { cout << "Går ind i " << navn-
<< endl; };
~ind_ud() { cout << "Forlader " << navn_ << endl; }
}
int main() {
ind_ud( "main" );
}
Det kræver jo stort set ikke andet end at du oversætter med g++ (eller andet
C++ oversætter).
Du kan evt. forfine klassen til f.eks. at indente, osv. Rimeligt trivielt,
men rigtigt nyttigt.
Mads
--
Mads Bondo Dydensborg mads@dydensborg.dk http://www.madsdydensborg.dk/
United States Patent 6,368,227:
A method of swing on a swing is disclosed, in which a user positioned on a
standard swing suspended by two chains from a substantially horizontal tree
branch induces side to side motion by pulling alternately on one chain and
then the other.
-- This is not a joke - go look it up.
| |
Peter Makholm (23-01-2006)
| Kommentar Fra : Peter Makholm |
Dato : 23-01-06 21:56 |
|
Kent Friis <nospam@nospam.invalid> writes:
>> Det kommer sandsynligvis an på hvilke kredse man taler om - som Peter
>> Makholm nævnte er Dijkstras berømte artikel "GO TO Statement
>> Considered Harmful" (1968) en klassiker; den har nok påvirket mange:
>>
>> < http://www.acm.org/classics/oct95/>
>
> Havde han måske aldrig set programmer skrevet i et af ovennævnte
> sprog?
På trods af at BASIC er opfundet i 1964, så vil jeg gætte på at
Dijkstra havde set flere programmer skrevet i FORTRAN og Algol.
FORTRAN brugte (bruger?) godt nok heltal som labels, men de var ikke
afgørende for rækkefølgende af statements. Jeg fatter ikke umidelbart
Algols labels, men det er ikke linjenumre. Følgende er et
goto-statement fra Algol-60 rapporten:
goto Town [if y<0 then N else N+1]
--
Peter Makholm | Det sae banken osse: Hvis du overhovet vil have noen
peter@makholm.net | glæde af din fremtid ska du ikke vente til i morgen.
http://hacking.dk | -- Divus, 2004-10-26
| |
Niels Baggesen (23-01-2006)
| Kommentar Fra : Niels Baggesen |
Dato : 23-01-06 23:45 |
|
Peter Makholm <peter@makholm.net> wrote:
> FORTRAN brugte (bruger?) godt nok heltal som labels, men de var ikke
> afgørende for rækkefølgende af statements. Jeg fatter ikke umidelbart
> Algols labels, men det er ikke linjenumre. Følgende er et
> goto-statement fra Algol-60 rapporten:
> goto Town [if y<0 then N else N+1]
Nu er det jo ikke ligefrem det mest almindelige goto-statement i Algol.
Man kan også bare sige "goto forfra".
Dit eksempel involverer en "switch", som er et "label array" (i Fortran
ville man kalde det et "computed goto"):
begin
switch sw := lab1, lab2;
integer i;
stat1;
lab1: stat2;
lab2: stat3;
i := 1;
goto sw[i]; comment svarer til goto lab1;
comment kunne også skrives: goto if i = 1 then lab1 else lab2;
end
/Niels
--
Niels Baggesen -- @home -- Århus -- Denmark -- niels@baggesen.net
The purpose of computing is insight, not numbers -- R W Hamming
| |
Thorbjørn Ravn Ander~ (23-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-01-06 16:16 |
|
David <spam@spam.spam> writes:
> Den virker ikke, men hvis jeg skifter "#!/bin/sh" ud med "#!/bin/csh"
> virker den (på min freebsd 6.0)
>
> ikke at det er noget problem for mig atm. Men hvis man kan gøre det med sh
> ville scriptet være nemmere at overføre til systemer der ikke har csh
> installeret
Er det her noget du selv har skrevet? Hvis ja, hvorfor har du så
lavet det sådan?
--
Thorbjørn Ravn Andersen
| |
David (23-01-2006)
| Kommentar Fra : David |
Dato : 23-01-06 17:28 |
|
nospam0000@gmail.com (Thorbjørn Ravn Andersen) wrote in
news:yu2wtgrgelj.fsf@luhmann.netc.dk:
> Er det her noget du selv har skrevet? Hvis ja, hvorfor har du s†
> lavet det s†dan?
Jeg har altid godt kunne lide at være i stand til at springe rundt i et
script, og detved spare at skrive det samme flere gange.
f.eks. kun have error tekst ét sted og springe dertil hver gang noget ikke
lykkes
og det kommer vel lidt af at jeg startede med batch programmering i win/dos
hvor man ofte brugte "errorlevel x goto labely"
//David
| |
Thomas Rasmussen (23-01-2006)
| Kommentar Fra : Thomas Rasmussen |
Dato : 23-01-06 17:42 |
|
David wrote:
> nospam0000@gmail.com (Thorbjørn Ravn Andersen) wrote in
> news:yu2wtgrgelj.fsf@luhmann.netc.dk:
>
>
>>Er det her noget du selv har skrevet? Hvis ja, hvorfor har du s†
>>lavet det s†dan?
>
>
> Jeg har altid godt kunne lide at være i stand til at springe rundt i et
> script, og detved spare at skrive det samme flere gange.
> f.eks. kun have error tekst ét sted og springe dertil hver gang noget ikke
> lykkes
Moderne sprog understøtter funktioner, brug dem istedet... Er ikke
særlig svært
>
> og det kommer vel lidt af at jeg startede med batch programmering i win/dos
> hvor man ofte brugte "errorlevel x goto labely"
Tjaa... lige siden den første undervisning jeg modtog fik vi at vide at
GOTO er noget bras og hører ikke hjemme i sourcekode idag. Og jeg har da
klaret mig fint indtil videre...
Thomas
| |
Thorbjørn Ravn Ander~ (23-01-2006)
| Kommentar Fra : Thorbjørn Ravn Ander~ |
Dato : 23-01-06 19:54 |
|
David <spam@spam.spam> writes:
> Jeg har altid godt kunne lide at være i stand til at springe rundt i et
> script, og detved spare at skrive det samme flere gange.
> f.eks. kun have error tekst ét sted og springe dertil hver gang noget ikke
> lykkes
>
>
> og det kommer vel lidt af at jeg startede med batch programmering i win/dos
> hvor man ofte brugte "errorlevel x goto labely"
Det er min personlige erfaring at der er grænser for hvor stor en
klump kode man kan overskue på en gang. Denne grænse varierer
naturligvis fra person til person og afhænger også meget af træning,
men at man på et eller andet tidspunkt er nødt til at sige at NU
bliver det for stort. Så kan man gøre det at man siger at "den her
klump kode gør sådan og sådan" og "den her klump kode gør sådan og
sådan".
Denne abstraktion gør så at man har mulighed for at overskue mere kode
via disse klumper end man ville kunne uden, og derved simpelthen bygge
større programmer.
For at det skal fungere for at man kan lave en klump, er man nødt til
at sige at man kommer ind "foroven" og ud igen "forneden" for at kunne
bruge klumpen på samme måde som en enkelt programmeringslinie.
"goto" fungerer ikke godt sammen med den tankegang fordi man _KAN_
hoppe rundt på kryds og tværs og derved kan man ikke afgrænse klumperne
for man aner ikke om der bliver hoppet ind midt i det hele et eller
andet sted fra. For små programmer er det ikke et problem (hvis fx
de kan stå på et A4 ark), men små programmer har det med at vokse sig
store...
Grunden til at man har "errorlevel x goto labely" i COMMAND.COM, var
jo at ting skulle være på én linie og den kunne næsten ingenting, men
_goto_ kunne den. I CMD.EXE er der mange flere muligheder, men nu er
det jo Unix vi taler om her.
Hvis du gerne vil skrive programmer der kan køre på flest mulige
Unixdistributioner skal du skrive til en rå /bin/sh (find en System V
manualside eller lignende), hvor bash kan bruges til at afvikle det
med. csh har også visse uhensigtsmæssigehder som gør at det frarådes
at lave scripts i det.
Du kan forholdsvist let simulere forskellige gotokonstruktioner. Du
er allerede blevet foreslået at bruge en while-løkke til en "goto
begyndelsen" og jeg vil forslå dig at bruge if - eventuelt if inden i
if - til at havne samme sted efter flere forskellige udfald.
case-konstruktionen er godt til håndtering af fejlkoder.
Måske vil du vise os hvad du har lavet, og så kan de kloge hoveder
komme med forslag til hvordan tingene også kan laves?
--
Thorbjørn Ravn Andersen
| |
Adam Sjøgren (23-01-2006)
| Kommentar Fra : Adam Sjøgren |
Dato : 23-01-06 21:28 |
|
On 23 Jan 2006 20:17:24 GMT, Kent wrote:
> Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
> baserede sprog uden renumber-kommando
Det kommer sandsynligvis an på hvilke kredse man taler om - som Peter
Makholm nævnte er Dijkstras berømte artikel "GO TO Statement
Considered Harmful" (1968) en klassiker; den har nok påvirket mange:
< http://www.acm.org/classics/oct95/>
Mvh.
--
"You know, if the sun was an oboe, what would you do?" Adam Sjøgren
asjo@koldfront.dk
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 21:31 |
|
Den Mon, 23 Jan 2006 21:28:26 +0100 skrev Adam Sjøgren:
> On 23 Jan 2006 20:17:24 GMT, Kent wrote:
>
>> Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
>> baserede sprog uden renumber-kommando
>
> Det kommer sandsynligvis an på hvilke kredse man taler om - som Peter
> Makholm nævnte er Dijkstras berømte artikel "GO TO Statement
> Considered Harmful" (1968) en klassiker; den har nok påvirket mange:
>
> < http://www.acm.org/classics/oct95/>
Havde han måske aldrig set programmer skrevet i et af ovennævnte
sprog?
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
Adam Sjøgren (23-01-2006)
| Kommentar Fra : Adam Sjøgren |
Dato : 23-01-06 21:48 |
|
On 23 Jan 2006 20:31:27 GMT, Kent wrote:
> Den Mon, 23 Jan 2006 21:28:26 +0100 skrev Adam Sjøgren:
>> On 23 Jan 2006 20:17:24 GMT, Kent wrote:
>>> Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
>>> baserede sprog uden renumber-kommando
>> Det kommer sandsynligvis an på hvilke kredse man taler om - som Peter
>> Makholm nævnte er Dijkstras berømte artikel "GO TO Statement
>> Considered Harmful" (1968) en klassiker; den har nok påvirket mange:
>> < http://www.acm.org/classics/oct95/>
> Havde han måske aldrig set programmer skrevet i et af ovennævnte
> sprog?
Jeg synes hans argumenter er mere overbevisende end en
implementationsdetalje som manglende labels eller ditto
omnummererings-faciliteter (begge kan jo løses).
Han havde ihvertfald ikke set en Commodore 64 i 1968
Mvh.
--
"You know, if the sun was an oboe, what would you do?" Adam Sjøgren
asjo@koldfront.dk
| |
Kent Friis (23-01-2006)
| Kommentar Fra : Kent Friis |
Dato : 23-01-06 21:53 |
|
Den Mon, 23 Jan 2006 21:48:29 +0100 skrev Adam Sjøgren:
> On 23 Jan 2006 20:31:27 GMT, Kent wrote:
>
>> Den Mon, 23 Jan 2006 21:28:26 +0100 skrev Adam Sjøgren:
>
>>> On 23 Jan 2006 20:17:24 GMT, Kent wrote:
>
>>>> Personligt tror jeg nu goto har fået sit dårlige ry i lininummer-
>>>> baserede sprog uden renumber-kommando
>
>>> Det kommer sandsynligvis an på hvilke kredse man taler om - som Peter
>>> Makholm nævnte er Dijkstras berømte artikel "GO TO Statement
>>> Considered Harmful" (1968) en klassiker; den har nok påvirket mange:
>
>>> < http://www.acm.org/classics/oct95/>
>
>> Havde han måske aldrig set programmer skrevet i et af ovennævnte
>> sprog?
>
> Jeg synes hans argumenter er mere overbevisende end en
> implementationsdetalje som manglende labels eller ditto
> omnummererings-faciliteter (begge kan jo løses).
Er hovedargumentet ikke spaghetti-kode? De to ting giver mange
gange mere spaghetti end kun at bruge det hvor de andre kontrol-
strukturer ikke slår til (selv gode gamle basic havde både for-
løkker og gosub "funktioner").
> Han havde ihvertfald ikke set en Commodore 64 i 1968
Men renumber var måske heller ikke opfundet den gang...
Mvh
Kent
--
Hard work may pay off in the long run, but laziness pays off right now.
| |
|
|