Article View: be.comp.programming
Article #2050Re: c en java - verschil vocabulair/syntax
From: Philip Paeps
Date: Thu, 28 Oct 2004 04:32
Date: Thu, 28 Oct 2004 04:32
83 lines
5053 bytes
5053 bytes
Dirk Bollen <d.bollen@telenet.be> wrote: > Dit is zeker niet de zoveelste poging om een discussie te beginnen tussen > java en c. <steek>Ze is bij voorbaat gewonnen door C ;-)</steek> > Maar ik wil het even hebben over de verschillen tussen de 2 talen en hun > vocabulair en syntax en de beste manier om een programmeertaal aan te leren. Het zijn gewoon twee compleet verschillende talen. Java leent misschien hier en daar wat elementen uit C, maar het is fundamenteel gewoon een andere taal. De meeste talen lenen hier en daar wel iets van C (behalve die onnozele BASIC afkooksels natuurlijk). > Mijn eerst 'encounter' met een programmeertaal was met java (2 cursussen > prog -gui,swing,applet,enz- + data en algo in java). Ik werd onmiddelijk in > het OO programmeer concept geworpen en ik heb me altijd afgevraagd of dit de > juiste manier was om goed te leren programmeren in meerdere talen. OO is leuk, maar niet voor alles de correcte oplossing. Ik hou zelf nogal van het eenvoudige leven zonder object-verslaving. Het leuke aan een bare-bones taal zoals C is dat je ook effectief iets moet _doen_. Java doet veel magic zonder dat je er iets van ziet. Dat vind ik een Bad Thing[tm]. Als je als programmeur niet weet wat er under the hood gebeurt, ben je volgens mij niet goed bezig. Je kunt naar mijn bescheiden mening onmogelijk performante code gaan schrijven als je niet weet hoe je compiler/assembler/linker die code uiteindelijk op hardware-niveau gaan uitspuwen en wat je processor daar dan over denkt. Uiteraard kan je met Java gewoon onmogelijk performante code schrijven, want hoe performant je code ook is, ze komt altijd in die vreselijke VM terecht waar ze veel te veel tijd moet doorbrengen. Een normale taal kan je meteen zonder omwegen naar machine-language omzetten, wat serieuze performance voordelen heeft. > Ik heb de indruk dat de syntax verschillen tussen en java en c minder groot > zijn dan de vocabulair verschillen? Ik kan mis zijn want ik kan niet zoveel > van c. Kijk even naar de * & operators om mee te beginnen... > Wat ik nu wil aantonen en vooral weten is, hoe kan je het best een > programmeer taal goed aanleren (zelfstudie) en met welke taal zou ik dit > doen gegeven de info van hierboven. Haal gewoon een Free stuursysteem op je machine, zoek bugs, en fix ze. Er is niets zo leerrijk als een kernel debuggen. > Uiteindelijk willen ik beide c en java programmeren, dus als er een argument > zou zijn waarom ik beter met de ene starten laat het me weten. Later zou ik > ook nog andere willen leren (Perl, python, enz..). Als je puur beginner bent, begin je misschien best met iets als Perl of Python. Die zijn makkelijk te leren, en ze leren je ook niet al te veel slechte gewoontes aan. Met bare-bones talen als C is het makkelijk om zeer hardnekkige fouten te leren, en die zijn moeilijk om af te leren. Java is zeker af te raden als eerste taal: way too much magic en veel te brede standard library. Bij het leren programmeren is het vooral belangrijk dat je leert nadenken. Taaltjes als Java vinden dat nadenken tegen elke prijs verboden moet worden, of als er nagedacht moet worden, dat dat liefst zo abstract mogelijk kan, en over dingen die niet echt belangrijk zijn. > Misschien nog wat info, ik gebruik linux. Good. Very good. Je hebt al een goed systeem met een goeie development interface en een handige toolchain. Niets staat je in de weg om veel te leren van je systeem en over de wonderen van programmeren. > Ik wil gewoon op mijn eigen tempo geleidelijk aan goed leren programmeren > met veel oefeningen. Haal er 'The C Programming Language' even bij. Die staat vol oefeningen :-) - Philip -- Philip Paeps Please don't email any replies philip@paeps.cx I follow the newsgroup. If a situation requires undivided attention, it will occur simultaneously with a compelling distraction.
Technical Details
Message-ID:
<41807646$0$78749$e4fe514c@news.xs4all.nl>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newshub.sdsu.edu!newsfeed00.sul.t-online.de!t-online.de!npeer.de.kpn-eurorings.net!border2.nntp.ams.giganews.com!nntp.giganews.com!news2.euro.net!transit.news.xs4all.nl!transit3.news.xs4all.nl!post.news.xs4all.nl!not-for-mailReferences:
<NyTfd.1802$%b.268379@phobos.telenet-ops.be>Show Full Headers
Complete Article Headers
X-Google-Thread: fcea4,99c1bd24c9ce05ae
X-Google-Attributes: gidfcea4,public
X-Google-Language: DUTCH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!newshub.sdsu.edu!newsfeed00.sul.t-online.de!t-online.de!npeer.de.kpn-eurorings.net!border2.nntp.ams.giganews.com!nntp.giganews.com!news2.euro.net!transit.news.xs4all.nl!transit3.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Sender: Philip Paeps <philip@fasolt.home.paeps.cx>
Message-ID: <41807646$0$78749$e4fe514c@news.xs4all.nl>
From: Philip Paeps <philip+usenet@paeps.cx>
Subject: Re: c en java - verschil vocabulair/syntax
Newsgroups: be.comp.programming
References: <NyTfd.1802$%b.268379@phobos.telenet-ops.be>
Organization: Happily Disorganized
User-Agent: tin/1.7.7-20041013 ("Baleshare") (UNIX) (FreeBSD/6.0-CURRENT (i386))
Date: 28 Oct 2004 04:32:06 GMT
Lines: 83
NNTP-Posting-Date: 28 Oct 2004 06:32:06 CEST
NNTP-Posting-Host: 195.144.64.15
X-Trace: 1098937926 news.xs4all.nl 78749 [::ffff:195.144.64.15]:55724
X-Complaints-To: abuse@xs4all.nl