Article View: be.comp.programming
Article #2076Re: c en java - verschil vocabulair/syntax
From: John Bokma
Date: Fri, 29 Oct 2004 20:23
Date: Fri, 29 Oct 2004 20:23
110 lines
5557 bytes
5557 bytes
Gerrit Cornelis wrote:
> "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.
Vreemd, waarom? Wat is er zo verschillend tussen een GUI applicatie en
een driver? Of bedoel je mensen die een GUI ontwerpen? (Dus een goed
inzicht hebben in gebruikersinterfaces, maar niet kunnen programmeren),
of klik, klak, GUI is klaar, dus die nauwelijks kunnen programmeren,
omdat het klik, klak, al iets opleverd?
> Persoonlijk ken ik
> maar 3 informatici die beiden, goed, beheersen, 2 zijn prof en de
> derde is een super architect.
Pfft, ik ken er wel meer. Ik kan zelf een GUI in elkaar zetten, en ik
kan drivers schrijven, beiden gedaan ;-)
> 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.
Oh, dat zeker.
> 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.
Ditto, je leert daar zeker niet van om netjes te programmeren. Niet elk
Open Source product is goed geprogrammeerd. Sterker, ik heb daar net zo
veel rommel gezien als bij Closed Source.
Iemand anders zijn/haar code als lesmateriaal is meestal een slecht
plan, tenzij het geschreven is om les te geven.
> 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,
Die kom je niet alleen bij drivers tegen, en ook niet alleen in C :-D.
> iets in 2 clock cycles laten lopen ipv 3 etc.
Dan zit je in assembly te spelen.
> 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.
Scripten hoort op deze manier niet in dit rijtje thuis, net als BASIC
niet overigens. Of een taal een script is of niet, is zelfs een grijs
gebied. Java wordt (meestal) geinterpreteerd, en Perl wordt gecompileerd
voor het geinterpreteerd wordt. Sterker, Perl gaat straks naar een
nieuwe VM, bytecode, etc.
> 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
Yup, kortom: aan een taal heb je niks. En dus is voor mij "Java leren"
niet de syntax leren van Java, maar ook de libraries. En weten wat er
3rd party te vinden is.
[ snip ]
> Mind you dat informatica een universitair diploma op zichzelf is,
Wat bitter weinig zegt. Ik heb theoretische informatica gedaan, en
klasgenoten zou ik niet op een project zetten. Er was er een die gewoon
pointers totaal niet begreep.
> 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.
En wat je op de uni leert, is slechts een basis. Het is niet zo dat je
na 4 jaar een keigoede programmeur bent. Je hebt een gevulde
gereedschapskist gekregen, en weet de naam van elk stukje gereedschap.
Nu nog in de praktijk toepassen :-D.
--
John Bokma
Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Technical Details
Message-ID:
<Xns95919C842A971castleamber@130.133.1.4>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mailReferences:
<NyTfd.1802$%b.268379@phobos.telenet-ops.be> <4180df9d$0$25846$ba620e4c@news.skynet.be> <AS5gd.2323$or.346255@phobos.telenet-ops.be> <41820279$0$15720$ba620e4c@news.skynet.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!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail
From: John Bokma <postmaster@castleamber.com>
Newsgroups: be.comp.programming
Subject: Re: c en java - verschil vocabulair/syntax
Date: 29 Oct 2004 20:23:14 GMT
Organization: Castle Amber - software development
Lines: 110
Message-ID: <Xns95919C842A971castleamber@130.133.1.4>
References: <NyTfd.1802$%b.268379@phobos.telenet-ops.be> <4180df9d$0$25846$ba620e4c@news.skynet.be> <AS5gd.2323$or.346255@phobos.telenet-ops.be> <41820279$0$15720$ba620e4c@news.skynet.be>
X-Trace: news.uni-berlin.de uFiTdpjmP7pPOYjAIS1wUwpm1LhYxeGjmEg4c6YdJ9zyK6wB/b
User-Agent: Xnews/5.04.25
X-Face: $7h&5K*ZL9*ZQ\6Hco2"V?1dD*C<ab^>zlws[S%i0b,@gKk|[,)Y-<hk143{.Ov"x{({zo( l,N\m`-_^nJfVQdEyt+-uAP^7WG]5mHj9&::7X-qK;Yv;xmRvNWQR"_igw+cr5WMj;6:zlj<R80Ei@ $gGWq&*{FL*kC*a