[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
 
[an error occurred while processing this directive] [an error occurred while processing this directive]
Skåne Sjælland Linux User Group - http://www.sslug.dk Home   Subscribe   Mail Archive   Forum   Calendar   Search
MhonArc Date: [Date Prev] [Date Index] [Date Next]   Thread: [Date Prev] [Thread Index] [Date Next]   MhonArc
 

Re: [CPROG] Links til god guide



On Tue, 26 Feb 2002 22:14:58 +0100 (CET)
Mads Bondo Dydensborg <sslug@sslug> wrote:
> On Tue, 26 Feb 2002, Kim Schulz wrote:
> 
> > [snip]
> > > Hvorfor? (PHP - det er vist mest i websider, ikke?)
> > 
> > tjaa jeg laver GUI programmering i det for tiden :o)
> > PHP-GTK er lækkert at arbejde med.
> 
> OK, men så ville du ikke kun kræve at han skulle lære at programmere,
> men også at han skulle lære et API der ikke umiddelbart hænger sammen
> med resten af sproget....

Nej men ok. Jeg bruger også PHP som scriptsprog på samme niveau som bash
scripts, perlscripts, python scripts osv. Men lad nu fortolkede sprog
ligge i dette tilfælde. 

> Ovenstående er bare noget snak, Kim. Hvis jeg skal tage det du skriver
> seriøst, skal du _mindst_ give et eksempel på hvad du mener.
> Umiddelbart lyder det du siger som det rene vrøvl i mine ører.

Må være min mangel på avanceret java viden der gør at jeg ikke kan få
java til at give mig data fra en bestemt memory blok, eller få det til
at tale med min kerne/system eller andet - ting som man på et halvt års
kursus sagtens kan komme igennem med C (hvor begge ting gøres ofte) 
[snip] 
> Nåda. Og, jeg kunne ikke sige præcist det samme, med omvendt fortegn?

> Lad os prøve (ingen tests her)

[snip]> 
> Det opfatter jeg igen som en ren påstand. Jeg spurgte om han var
> totalt begynder. En total nybegynder skal have så få ting som muligt
> at fokusere på. Du skrev selv at Basic var mere relevant. Nu skriver
> du at C er bedre, fordi ellers vil han mangle værktøjer. Det hænger
> ikke sammen, synes jeg.

Når jeg siger værktøjer, så er det fordi jeg tænker tilbage på min gamle
matematik lærer som altid sagde...."I må aldrig blive lommeregner slaver
som kun ved hvilken formel i skal bruge - I skal også vide hvordan den
virker" At kende en formel og hvordan den virker var for ham et værktøj
som kunne benyttes til at løse andre opgaver end netop det som værktøjet
var lavet til (hammer som ølåbner, skruetrækker som mejsel). På denne
måde behøver man ikke at skulle have et stykke værktøj til hver opgave
(ok det lyder her som om jeg siger mig selv imod, men det gør jeg ikke),
men man kan derimod klare de fleste opgaver med et begrænset
værktøjssæt. C indeholder et godt værktøjssæt - Det gør Java ikke i nær
så høj en grad. Basic er let og meget begrænset. Det svarer lidt til
"mit første værktøjssæt" hvor man kun har hammer, sav og en enkelt
skruetrækker. Da basic er så let, kan det let fænge den mindre erfarne
da man hurtigt kan lære at lave sjove ting i det - på den måde kommer
man hurtigt vidre til andre sprog der vil være rimeligt lette at
overkomme da man jo allerede ved hvordan saven, hammeren og
skruetrækkeren virker :o) [snip]
> Det er en påstand der er totalt uunderbygget. Jeg har
> undervisningserfaring med _totale_ nybegynder fra Datalogisk Institut
> og IT-Højskolen, og mine erfaringer er det modsatte af det du påstår.
> Hvad bygger du dine påstande på?

egne erfaringer, de UNI hold jeg har gået på, venner og bekendte og
lignende. Min SML forelæser er helt forblindet i ML og fatter slet ikke
hvad man skal med andre programmeringssprog, Min C forelæser er helt
vild med C og C++ og gjorde alt for at få os til at elske det også. Min
Javalære startede med at advare os om fejl og mangler i Java og fortalte
hvorfor man helt sikkert skulle lære java og hvorfor man så derefter kun
bør bruge Java når det er helt nødvendigt. C og Java forelæseren er
begge højt betalte udviklere(i netop deres sprog) som ikke er direkte
tilknyttet uni andet end i disse fag. Det giver et klart indblik i
hvorfor jeg måske tænker som jeg gør (selv om jeg altid danner mine egne
meninger om ting på tværs af andre folks meninger).  
> Absolut - og her angav jeg Java, hvis opgaven var at lære en total
> nybegynder at programmere.

og var du en kørelærer ville du anbefale at man startede med at køre i
en farrari første gang man skulle køre ik! (og her skal ikke laves
samligninger mellem Javas og bilens hastighed)

> > BASIC lærer dig
> > begreber som if then else, for, while, datatyper osv osv. 
> 
> Som alle sammen findes i Java. Og iøvrigt har du lige skrevet at man
> skal bruge C, ellers har man ikke nok værktøjer, nu skriver du at man
> skal bruge Basic?

Nej jeg siger bare at det er et fremragende begyndersprog til den første
måneds tid af undervisningen hvor man bør fokuserer på datatyper kode
struktur og lignende i stedet for nedarvning, klasser og lignende.

> Nej. Det er ikke noget godt sprog at lære at programmere i. Jeg har
> haft lejlighed til at følge folk der blev undervist i lisp, ML, Java,
> Emerald, Pascal og C/C++ som deres første sprog. Jeg vil absolut sige
> at C var det ringeste af alle de sprog at lære noget om programmering
> i.

pånær lisp og Emerald så har jeg overværet det samme + Basic, Visual
Basic og Python

> > Java er skide buggy, 
> 
> Øhm, nej?

øhhh jo - især i deres GUI delen(som er en del af Java idag) 
Læs evt mine sure opstød på:
http://www.schulz.dk/stories.php4?story=02/01/29/5362632

> > fyldt med grim kode 

> Hvor?

kig f.eks. på Box klassen og specielt hvordan den er blevet smidt ind i
klasseherakiet som om det var en skæv papagøje der havde gjort det.
Flere steder er mangler generelle retningslinjer for hvordan deres
programmører skal lave ting så der er ingen ensartighed i hvordan de har
opfattet tings virkemåde på (se igen på initilering af f.eks. Box i
forhold til andre klasser).

 
> > og så er det ikke specielt
> > veldokumenteret 
> 
> Hvad mener du? Der er masser af dokumentation af hvordan API'et
> fungerer og

Ja API'er er næsten dokumenteret - i hvert fald den mest benyttede del. 
Du skal dog ikke arbejde ret længe med det før du vil opdage ting som
ikke er dokumenterer - skjulte features om du vil. Jeg sendte i
forbindelse med et tidligere projekt en mail til den udvikler der stod
for den klasse jeg benyttede (layers i billeder arbejde jeg med) og der
fortalte han om et par ting man lige kunne gøre, men som de ikek lige
have fået dokumenteret - og det siden version 1.2


> > (samlignet med ISO-C f.eks.) 
> 
> den semantiske betydning af de fleste Java statements er langt mere
> veldefingeret end den semantiske betydning af ISO-C.

Her vil jeg faktik næsten give dig ret. Java er på mange måde mere klart
i navne og lignende, men der mangler stadig en klar entydighed i
klassenavngivningen (Store/små bogstaver, J i starten af Swing
komponenter osv osv). 



> > Jeg ser helt klart Java som
> > et Buzz Word som kun har en begrænset levetid - kald mig bare en
> > sortseer men sådan tror jeg altså det går. 
> 
> Hallo? Java er virkelighed, Kim. Check jobannoncer. Jeg koder ikke
> selv specielt meget Java, men det er der altså _rigtigt_ mange
> mennesker der gør. Du ser det måske ikke, men du ser jo heller ikke
> alle COBOL applikationerne, vel?
Jobannoncer bygger på Buzz words min fine ven.....tror du selv at det er
udviklingafdelingen der laver jobannoncerne i den virkelige verden? jeg
har endnu ikke set det i hvert fald. Jeg har set firmaer søgt udviklere
der kunne Java,XML, C# og hvad ved jeg, men som egenligt bare skulle
bruge en der kunne rette deres html hjemmeside lidt til. Tvært imod har
jeg talt med flere udviklere som vil have deres COBOL programmer
porteret til C/C++ (et enkelt ville vist prøve med Java, men de er vist
aldrig kommet igang med det). 

> Det har man f.eks. valgt på Datalogisk Institut til første år. De har
> også kun 30 års erfaring med at undervise i programmering og
> programmeringssprog.

Min mormor har 30års erfaring i at fortælle om madlavning, men det
betyder ikke at hun har fundet den perfekte opskrift på frikadeller
endnu (min egen er stadig noget bedre end hendes).

På DTU underviser de også i ML på første år, men man bliver samtidigt
undervist i f.eks. C, C++ eller Java. Personligt startede jeg med C++ og
ML og har så siden haft et C -> C++ -> Java fag, Et Java fag og har lige
nu et SystemC fag. 

> > Python derimod er kanon til undervisning. Det tvinger en til at
> > skrive pæn kode og det er rimeligt smukt samlignet med f.eks. Ruby
> > eller Perl. 
> 
> Nu er Python kanon. Men, de egenskaber du fremhæver her har C ikke.
> Men C var det bedste? Jeg har svært ved at følge logikken?

lad mig Citere mig selv fra den første mail:
"en fin vej at lære programmering er C -> C++ -> Java. 
Det kan endda til tider anbefales at man hopper helt
tilbage på BASIC eller PASCAL niveau hvis man har svært ved at kapere C"

Jeg har på intet tidspunkt sagt at C var bedst, jeg har faktisk kun sagt
at jeg ikke finder Java godt. 

[snip]
> - Du har selv lige argumenteret for at man skulle vælge det rigtige
>   værktøj til opgaven.

ja men for at bruge et værktøj optimalt skal du først vide hvordan det
virker. Java forklare ikke en nybegynder alle grundbegreberne

> - Vi snakker om en begynder. 

korrekt! se ovenfor

> - Det problem du beskriver ovenfor er ikke en egenskab ved _sproget_
>   - hvis det _er_ et problem, kan det være et problem med sproget.

alle sprog har problemer i et eller andet sammenhæng og C har da også
mange fejl og mangler. Til gengæld bygger C på så gamle grundbegreber at
det ligesom er byggestenen for de fleste imperative sprog idag - og
derfor kan give dig en god grundviden som kan føres vidre i andre sprog.
> - Jeg kunne give dig adskillige pegere til værktøjer der gør at man 
>   kan arbejde med Java på enog meget begrænsede platforme, med
>   samme performance som f.eks. C++. F.eks. i 10KB ROM og 1KB RAM. Og,
>   den kode man skriver er 100% Java - med alle fordelene ved GC, mv.

Tjaa det ved jeg, men sjovt nok finder jeg ikke mange fag på DTU der
bruger Java til Embedded (indlejrede systemer), men derimod systemC
eller assembler. Jeg modtager selv undervisning i dette og meget af min
fremtidige uddannelse vil bygge på netop denne type af fag (så jeg har
undersøgt om der var noget med Java ja!) 
> Jeg er forsat uenig med dig. Jeg mener ikke at der var belæg for at du
> kaldte mit forslag for dårligt.


Du kan jo prøve at argumentere for hvorfor du netop mener det modsatte.
Du har jo heller ikke ligefrem argumenteret for det du siger vel!
Beklager hvis du følte dig stødt, men vi lever i en fri verden om min
mening er lige så meget værd som din. 


> Det virker som om du har set dig sur på Java af en eller anden årsag.

nemlig! årsagen kaldes unødvendige problemer med et sprog som normalt
ikke ville have givet mig problemer. 



MVH
Kim Schulz
-- 

[              http://www.schulz.dk - En nørds bekendelser!            ]
[       http://www.guadec.org - tapas, beer and gnome to the people    ]


 
Home   Subscribe   Mail Archive   Index   Calendar   Search

 
 
Questions about the web-pages to <www_admin>. Last modified 2005-08-10, 20:09 CEST [an error occurred while processing this directive]
This page is maintained by [an error occurred while processing this directive]MHonArc [an error occurred while processing this directive] # [an error occurred while processing this directive] *