Article View: be.comp.programming
Article #2060Re: c en java - verschil vocabulair/syntax
From: Gerrit Cornelis
Date: Fri, 29 Oct 2004 08:42
Date: Fri, 29 Oct 2004 08:42
72 lines
4855 bytes
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-mailReferences:
<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