🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #10004

Re: Strekking (afgeleid v: C, C++, C.NET)

#10004
From: Philip Paeps
Date: Sun, 31 Mar 2002 18:12
72 lines
4753 bytes
Dietmar Hertsen <dietmar.hertsen@pandora.be> wrote:
> Ik heb de thread over de C-talen (die ondertussen ook al ver is
> afgeweken) grondig gelezen. Omdat ik (nog) maar ��n programmeertaal ken
> (ben nog maar 13), ben ik niet thuis in alle deze strekkingen. 'k Heb
> via google gezocht, maar niet alles gevonden. Wie kent er een goede site
> waar de kenmerken v.h. programmeren volledig uit de doeken gedaan worden
> en vergeleken worden? THX

Ik zou beginnen met de verschillende paradigma's te vergelijken voor je begint
met talen te vergelijken.  Sommigen (*kuch*) schijnen immers te vergeten dat
er nog een wereld bestaat buiten OOP.

Bjarne Stroustrup geeft een zeer goede vergelijking in de introductie van _The
C++ Programming Language_ waar je veel uit kunt leren.

Bij programmeren komt het er in de eerste plaats op neer je gedachten te
organiseren, en ze dan pas in code te vertalen.  Programmeren is niet voor een
IDE neerzitten, ikoontjes klikken, en af en toe eens een lijn code of drie
intikken in een waardeloze editor.  Dat is niet programmeren, dat is Visual
Basic.

Dus, eerst ga je je gedachten organiseren.  Dat doe je meestal op papier, door
middel van een tekening.  Je gebruikt een ander soort tekeningen voor de
verschillende paradigma's.  Voor OOD teken ik mijn charts volgens de Booch
methode en de Rumbaugh methode.  Procedural diagrammen teken ik meestal
volgens de Jackson methode.  Er zijn er meerdere - Google helpt - en je
gebruikt er best ��n waar je je happy mee voelt: UML, Nasi-Schneidermann,
Catalysis, Fusion, ROOM, Yourdon/Coads, OOSE, enz.

Eens je gedachten op papier staan, kun je ze in code vertalen.  Dan ga je
zoeken naar de taal die het best geschikt is voor de taak.

Als je programma geen gebruik maakt van objecten, en puur procedureel is,
gebruik je best C.  Ook als je programma een stuk hardware gaat aansturen is C
de beste keuze.

Sleurt je programma nogal veel data van links naar rechts en zitten er veel
spullen in die je als objecten kunt representeren is C++ de beste keuze.  Ook
als je programma hardware moet aansturen, maar de focus op *data processing*
en niet op *data transfer* ligt, gebruik je best C++.  C++ laat je een hoger
abstractieniveau toe dan C, en is daarom meer geschikt voor het behandelen van
data.  Met C++ kun je echter nog steeds de basis-dingen doen zoals in C.

Als je programma op verschillende zeer diverse architecturen moet draaien,
en je liefst maar ��n binary wilt produceren (en om ��n of andere reden je
source niet wilt vrijgeven) of als je programma voornamelijk voor embedded
systemen zal dienen, gebruik je best Java, het is ervoor gemaakt.  Als je
procedurele gedachten had, zul je ze wel in objecten moeten omtoveren voor je
met Java kunt beginnen.

Is je programma puur wiskunde, niets anders dan wiskunde en wiskunde alleen,
is FORTRAN een geschikte keuze.  FORTRAN is goed geschikt voor het maken van
wiskundige systemen.  Met Modula-achtige talen kun je dit ook doen, maar ik
heb er zelf weinig ervaring mee.

Visual Basic gebruik je ter illustratie van hoe programmeren niet moet, en hoe
je een concept volledig kunt verkrachten.  

Voor je een taal leert kijk je naar waar het *goed* in is, en wat voor
paradigma's erin ondersteund worden.  Je vergelijkt dat met wat er op je
tekening staat, en je maakt je keuze.

Als 'leertaal' is C++ erg geschikt wegens de meerdere paradigma's en het feit
dat je er alle richtingen mee uitkunt.  Don't let Pascal programmers tell you
otherwise :-)

 - Philip

-- 
Philip Paeps                                                   philip@paeps.cx

  The label "new" and/or "improved" means the price went up.
Technical Details
Message-ID: <RjIp8.41740$DE4.5447@afrodite.telenet-ops.be>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
References: <3CA72B69.E5F1026F@pandora.be>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII
X-Google-Thread: fcea4,40b21b9456002881
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-03-31 10:12:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!supernews.com!skynet.be!skynet.be!ossa.telenet-ops.be!afrodite.telenet-ops.be.POSTED!not-for-mail
From: Philip Paeps <philip@paeps.cx>
Subject: Re: Strekking (afgeleid v: C, C++, C.NET)
Newsgroups: be.comp.programming
References: <3CA72B69.E5F1026F@pandora.be>
User-Agent: tin/1.5.12-20020323 ("Sugar") (UNIX) (FreeBSD/4.5-STABLE (i386))
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit
Lines: 72
Message-ID: <RjIp8.41740$DE4.5447@afrodite.telenet-ops.be>
Date: Sun, 31 Mar 2002 18:12:01 GMT
NNTP-Posting-Host: 213.118.135.125
X-Complaints-To: abuse@telenet.be
X-Trace: afrodite.telenet-ops.be 1017598321 213.118.135.125 (Sun, 31 Mar 2002 20:12:01 MET DST)
NNTP-Posting-Date: Sun, 31 Mar 2002 20:12:01 MET DST
Organization: Telenet Internet