🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2050

Re: c en java - verschil vocabulair/syntax

#2050
From: Philip Paeps
Date: Thu, 28 Oct 2004 04:32
83 lines
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-mail
References: <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