🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #2060

Re: c en java - verschil vocabulair/syntax

#2060
From: Gerrit Cornelis
Date: Fri, 29 Oct 2004 08:42
72 lines
4855 bytes
"Dirk Bollen" <d.bollen@telenet.be> wrote in message
news:AS5gd.2323$or.346255@phobos.telenet-ops.be...
> Gerrit Cornelis wrote:
>
<knip>
>
> Wat zeker is is dat ik beide talen wil leren. Waarom? wel 1. Om snel een
> applicatie te schrijven eventueel met een gui. Ik denk dan vooral aan
java.
> 2. Om meer van Linux te leren en begijpen. Ik denk dan aan c. Misschien
wil
> ik ooit wel device drivers schrijven (wat me interessant lijkt) of zelf
> dingen aanpassen aan de kernel(vb embedded systemen).
> Wat is dan mijn probleem, hoor ik jullie al zeggen, leer ze beide.

Hmm, ik zou eerder zeggen: neem je niet wat veel hooi op de vork? Je wilt
zowel heel low-level gaan als gui applicaties bouwen. De meeste programmeurs
kiezen (vrij vroeg) voor 1 van beiden. Persoonlijk ken ik maar 3 informatici
die beiden, goed, beheersen, 2 zijn prof en de derde is een super architect.
Misschien ben jij ook zo'n witte mus, ik in ieder geval niet. Aan de andere
kant ken ik een boel informatici die niet goed zijn in geen van beiden.

Als het over low-level (device drivers en linux kernels) gaat moet je in
Philip zijn winkel zijn: C dus. Alhoewel ik het, absoluut, geen goed leerpad
vind om kernels te gaan debuggen. Maar de boeken die hij aanbeveelt zullen
waarschijnlijk niet slecht zijn. (zelf heb ik enkel The C Programming
Language en dat gaat je zeker niet veel verder brengen). Soit, als dit je
pad is dan moet je je kicks krijgen uit bitshifts, iets in 2 clock cycles
laten lopen ipv 3 etc.

Als het over applicaties gaat ben je in mijn winkel bezig. En dan is C geen
goede keuze. Afhankelijk van wat je wil bouwen zijn er dan allerlei
mogelijkheden. In je originele post had je vragen rond OO. Is OO altijd de
goede keuze? Het antwoord is neen, elke keuze die je maakt betekent voor- en
nadelen. En voor sommige dingen is OO beter, voor sommige dingen functioneel
programmeren, voor sommige dingen logisch programmeren, voor sommige dingen
BASIC en voor sommige dingen scripten. Afhankelijk van welk probleem je wil
oplossen. Programmeertalen zijn als de meer alledaagse gebruiksvoorwerpen,
een hamer is een heel goede tool om een nagel in de muur te kloppen  maar
als je je terras legt kan je misschien toch beter kiezen voor de versie met
de rubberen kop. En als je een muur afbreekt voor de versie van 10 kilo met
een steel van 1 meter (en misschien ook voor de bijgeleverde body builder).

In ieder geval, als het over applicaties zou gaan:
- een taal is makkelijk, de library ontdekken en kunnen gebruiken is veel
moeilijker en veel belangrijker
- stap af van het idee dat je alles under the hood moet kennen. dat hoeft
niet (tenzij je dat echt wilt natuurlijk, in dat geval stap je over naar
C....reken makkelijk 5 jaar om in je vrije tijd dingen te ontdekken. stap
niet naar C++ !)
- leer omgaan met je java library voor je naar andere talen kijkt
- kijk, na het leren omgaan met de java library, eens naar
http://smalltalk.cincom.com/downloads/index.ssp?content=visualworks en
ontdek waar java (en Python) de mosterd hebben gehaald. Niet doen voor je de
java library door hebt, in VisualWorks loop je nu verloren (5 taal
constructs en al de rest is library).


Het
> probleem is dat ik goed en gestructureerd wil leren programmeren. Ik heb
de
> indruk dat omdat ik op unief met java ben begonnen(omdat het een deel van
> mijn opleiding uit maakte) ik bepaalde dingen niet heb meegekregen over
hoe
> de programmeer taal samenhangt met bv. de hardware of libraries.

Mind you dat informatica een universitair diploma op zichzelf is, tuurlijk
heb je bepaalde (veel!) dingen niet meegekregen. En neen, die zijn niet op
1,2,3 aan te leren. Anders zouden ze er geen 4 jaar mee vullen op de unief.

gC
Technical Details
Message-ID: <41820279$0$15720$ba620e4c@news.skynet.be>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!transit.nntp.hccnet.nl!newsfeed.wirehub.nl!skynet.be!newspost001!tjb!not-for-mail
References: <NyTfd.1802$%b.268379@phobos.telenet-ops.be> <4180df9d$0$25846$ba620e4c@news.skynet.be> <AS5gd.2323$or.346255@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!news.glorb.com!transit.nntp.hccnet.nl!newsfeed.wirehub.nl!skynet.be!newspost001!tjb!not-for-mail
Reply-To: "Gerrit Cornelis" <gerrit_*remove*cornelis@belgacom.net>
From: "Gerrit Cornelis" <gerrit_*remove*cornelis@belgacom.net>
Newsgroups: be.comp.programming
References: <NyTfd.1802$%b.268379@phobos.telenet-ops.be> <4180df9d$0$25846$ba620e4c@news.skynet.be> <AS5gd.2323$or.346255@phobos.telenet-ops.be>
Subject: Re: c en java - verschil vocabulair/syntax
Date: Fri, 29 Oct 2004 10:42:24 +0200
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2800.1437
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1441
Lines: 78
Message-ID: <41820279$0$15720$ba620e4c@news.skynet.be>
Organization: -= Belgacom Usenet Service =-
NNTP-Posting-Host: 2ba7fa66.news.skynet.be
X-Trace: 1099039355 news.skynet.be 15720 194.78.136.107:32815
X-Complaints-To: usenet-abuse@skynet.be