/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Delphi kontra Borland C++ builder
Fra : Soeren


Dato : 05-09-04 18:45

Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
vover skindet alligevel

Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere naturligt
valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok mange
år siden).

Jeg har ladet mig fortælle, at Delphi er det bedste, da kontrollerne er
skrevet i Delphi, og at de er meget nemme at tilpasse ved simpel afledning.
Det vil vel alt andet lige være sværere i C++ ?? Desuden er C++ på mange
måder bøvlet i et Windows miljø, da man opererer med meget store headerfiler
(sådan var det i hvert fald med BC++5 og Windows). Precompiled headers løste
nogle af problemerne men ikke alle.

C++ har jo så til gengæld templates, STL og andet godt. Jeg kender ikke alle
fordele ved Delphi, men det minder vel en del om Java (som jeg også er
erfaren i).

Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
Tordenbrag", men jeg prøver alligevel. Og endeligt: Hvis der er tradition
for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.

På forhånd tak

PS. Dette indlæg er også sendt til dk.edb.programmering.pascal

Med venlig hilsen

Søren



 
 
Bertel Brander (05-09-2004)
Kommentar
Fra : Bertel Brander


Dato : 05-09-04 19:55

Soeren wrote:
> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel
>
> Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere naturligt
> valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok mange
> år siden).
>
> Jeg har ladet mig fortælle, at Delphi er det bedste, da kontrollerne er
> skrevet i Delphi, og at de er meget nemme at tilpasse ved simpel afledning.
> Det vil vel alt andet lige være sværere i C++ ?? Desuden er C++ på mange
> måder bøvlet i et Windows miljø, da man opererer med meget store headerfiler
> (sådan var det i hvert fald med BC++5 og Windows). Precompiled headers løste
> nogle af problemerne men ikke alle.
>
> C++ har jo så til gengæld templates, STL og andet godt. Jeg kender ikke alle
> fordele ved Delphi, men det minder vel en del om Java (som jeg også er
> erfaren i).
>
> Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
> ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
> Tordenbrag", men jeg prøver alligevel. Og endeligt: Hvis der er tradition
> for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.
>

Det er for mig at se lidt ligegyldigt om du bruger Delphi
eller BorlandC++ Builder. Begge understøttes kun af
Borland og det kode man almindeligvis laver i BCB har
ikke ret meget med C++ at gøre.

Hvis du vil arbejde seriøst med programmering bør du holde
dig fra både Builderen og Delphi og bruge dig til ren C++,
f.ex med wxwidgets som bibliotek/interface til windows delene.

--
What's in a name?
That which we call a rose by any other name would smell as sweet.
- Juliet
http://home20.inet.tele.dk/midgaard/

Mogens Hansen (05-09-2004)
Kommentar
Fra : Mogens Hansen


Dato : 05-09-04 22:10


"Bertel Brander" <bertel@post4.tele.dk> wrote:

[8<8<8<]
> Det er for mig at se lidt ligegyldigt om du bruger Delphi
> eller BorlandC++ Builder. Begge understøttes kun af
> Borland

Jeg er enig for så vidt angår forsigtig omgang med muligheden for vendor
lock-in i form leverandør-specifikke værktøjer.

> og det kode man almindeligvis laver i BCB har
> ikke ret meget med C++ at gøre.

Jeg så godt dit "almindeligvis", men må påpege at det meste jeg laver i
C++Builder har i høj har noget med C++ at gøre.
Det samme gør sig naturligvis gældende når jeg f.eks. bruger Microsoft
Visual C++ .NET, gcc på Linux eller noget helt andet.

Man kan både lave "ren" ISO C++ programmering og Delphi agtigt VCL
programmering.
Afhængig af applikation kan man vælge en passende måde at skrive koden på -
eventuelt skrive dele af koden (ofte kernen) i "ren" ISO C++ og dele af
koden Delphi agtigt (ofte brugerfladen).

> Hvis du vil arbejde seriøst med programmering bør du holde
> dig fra både Builderen og Delphi

Man kan naturligvis arbejde seriøst med programmering og bruge C++Builder -
jeg gør det dagligt.
Tilsvarende kan Delphi sagtens bruges til seriøst arbejde.

Man skal naturligvis kende "prisen" på godt og ondt ved at bruge et givent
værktøj og derigennem sikre sig at man er på linie med det givne projekts
behov.

> og bruge dig til ren C++,
> f.ex med wxwidgets som bibliotek/interface til windows delene.

Ethvert valg er et kompromis.
Sidst jeg kigge (da det hed wxWindows) udemærkede det sig godt nok ved at
kunne køre på en lang række compilere og platforme.
Til gengæld havde det design der mindede om MFC med en del brug af
preprocessor til bl.a. message-maps (hvilket ikke er godt) og det benyttede
f.eks. sin egen streng-klasse i stedet for "std::string". Det bar således
langt fra præg af at være et moderne C++ bibliotek - men det har jo også en
del år på bagen, hvilket kan være udemærket.

Uanset det anvendte bibliotek, er det en god ide i større projekter med en
vis levetid at strukturere koden således at kernen af applikationen er
uafhængig af brugergrænseflade koden - herunder det valgte bibliotek.
Hvis det er et lille projekt, med kort levetid er risikoen tilsvarende
mindre.
Det er en konsekvens af "Stable dependency principle".

Venlig hilsen

Mogens Hansen



Bertel Brander (05-09-2004)
Kommentar
Fra : Bertel Brander


Dato : 05-09-04 22:29

Mogens Hansen wrote:

> Sidst jeg kigge (da det hed wxWindows) udemærkede det sig godt nok ved at
> kunne køre på en lang række compilere og platforme.
> Til gengæld havde det design der mindede om MFC med en del brug af
> preprocessor til bl.a. message-maps (hvilket ikke er godt) og det benyttede
> f.eks. sin egen streng-klasse i stedet for "std::string". Det bar således
> langt fra præg af at være et moderne C++ bibliotek - men det har jo også en
> del år på bagen, hvilket kan være udemærket.
>

Jeg er ikke uenig i noget af det du skriver, bortset fra at wxWidgets
er det bedste gratis platforms uafhængige bibliotek til GUI til C++
som jeg er stødt på. Det gør dog ikke wxWidgets perfekt.
Skulle du kende andre er jeg naturligvis interesseret.

--
What's in a name?
That which we call a rose by any other name would smell as sweet.
- Juliet
http://home20.inet.tele.dk/midgaard/

Mogens Hansen (06-09-2004)
Kommentar
Fra : Mogens Hansen


Dato : 06-09-04 05:42

"Bertel Brander" <bertel@post4.tele.dk> wrote:

[8<8<8<]
> Jeg er ikke uenig i noget af det du skriver, bortset fra at wxWidgets
> er det bedste gratis platforms uafhængige bibliotek til GUI til C++
> som jeg er stødt på.

Det er givetvis rigtigt.
Prisen er blot een af de mange egenskaber et bibliotek har.

> Det gør dog ikke wxWidgets perfekt.
> Skulle du kende andre er jeg naturligvis interesseret.

Qt fra Trolltech (http://www.trolltech.com/) er et andet (kommercielt) bud
på et bibliotek til cross-platoform udvikling.

De fleste biblioteker vil gerne dominere.
F.eks. bliver det nemmere at bruge wxWidget, hvis man i hele sin applikation
bruger dets typer som f.eks. wxString, wxDate og wxStringTokenizer i stedet
for nogenlunde tilsvarende klasser fra C++ Standard Library og Boost.
Tilsvarende med andre biblioteker - ikke blot GUI.
I hvilken udstrækning man lader et bibliotek være dominerende er
udviklerenes ansvars under hensyntagen til projektets krav.
Det skal blot hellere være en bevidst beslutning, så man ikke bliver
overrasket senere.

Man kan styre sine afhængigheder i en applikation, så alt ikke afhænger af
alt.
F.eks. kan man holde kernen i sin applikation uafhængig af GUI (og f.eks.
database) hvilket også giver store test-mæssige fordele.
Se eventuelt bogen
Large-Scale C++ Software Design
John Lakos
ISBN 0-201-63362-0

Venlig hilsen

Mogens Hansen



Per Abrahamsen (06-09-2004)
Kommentar
Fra : Per Abrahamsen


Dato : 06-09-04 12:17

Bertel Brander <bertel@post4.tele.dk> writes:

> Jeg er ikke uenig i noget af det du skriver, bortset fra at wxWidgets
> er det bedste gratis platforms uafhængige bibliotek til GUI til C++
> som jeg er stødt på. Det gør dog ikke wxWidgets perfekt.
> Skulle du kende andre er jeg naturligvis interesseret.

Qt virker mere helstøbt på mig. MS Windows udgaven er ikke fri
software, men den er "gratis" til ikke-kommerciel brug.

Hvis jeg på et eller andet tidspunkt kan få penge til at lave en GUI,
vil den blive baseret på Qt som tingene ser ud nu.

Mogens Hansen (05-09-2004)
Kommentar
Fra : Mogens Hansen


Dato : 05-09-04 20:54


"Soeren" <nospam@nospam.com> wrote:
> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel

Lad os nu se

>
> Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere
naturligt
> valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok
mange
> år siden).
>
> Jeg har ladet mig fortælle, at Delphi er det bedste, da kontrollerne er
> skrevet i Delphi, og at de er meget nemme at tilpasse ved simpel
afledning.
> Det vil vel alt andet lige være sværere i C++ ??

Du kan sagtens udvide en komponent skrevet i Delphi Language, ved simpelt at
arve fra den i C++.
Delphi compilerer laver C++ header filer som en del af oversættelses
processen.

Somme tider har man brug for under debugging at køre gennem Delphi Language
kode - men det er rimeligt nemt at læse.

Bemærk iøvrigt at C++Builder benytter en del sprog udvidelser (og
restriktioner), som har netop har til formål at samarbejde med Delphi
komponenter. Man har dog stadig adgang til en rimelig god C++
implementering.

> Desuden er C++ på mange
> måder bøvlet i et Windows miljø, da man opererer med meget store
headerfiler
> (sådan var det i hvert fald med BC++5 og Windows).

Delphi oversætter langt hurtigere end C++Builder (og stort set hvad som
helst andet).

> Precompiled headers løste
> nogle af problemerne men ikke alle.

Precompiled headere i C++Builder virker dårligere end det gjorde i BC 5 -
læs: i praksis skal det disables hvis man bevæger sig uden for VCL (f.eks.
bruger STL)

>
> C++ har jo så til gengæld templates, STL og andet godt. Jeg kender ikke
alle
> fordele ved Delphi, men det minder vel en del om Java (som jeg også er
> erfaren i).
>
> Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
> ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
> Tordenbrag", men jeg prøver alligevel.

Fordelen ved ++Builder er netop at det er C++ - hvilket jeg klart
foretrækker.
Dermed har du adgang til en masse biblioteker som er skrevet i C++. Desuden
har man mulighed for at holde store dele af sin kode uafhængig af en enkelt
leverandør (hvilket jeg anser som væsentligt).

Den primære ulempe er klart længere compileringstider, samt formodentlig
lidt dårligere stabilitet af IDE miljøet.

> Og endeligt: Hvis der er tradition
> for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.

De er typisk skrevet i Delphi.
Komponenter skrevet i Delphi kan benyttes i både Delphi og C++Builder uden
problemer, idet C++Builder indeholde Delphi compileren.
Komponenter skrevet i C++Builder kan kun benyttes C++Builder - ikke i
Delphi.
Dog skal versions-numrene passe, hvilket som regel ikke er noget problem.


Vær i øvrigt opmærksom på den fremtidsmæssige uklare situation som
C++Builder befinder sig i.
Der er ikke kommet nogen opdatering af C++Builder siden V6 (2002), hvor der
i mellemtiden er kommet 3 til Delphi (V7, V7.1 og V8 for .NET) og V9 vil
blive vist om få dage.
Produktet C++BuilderX er _ikke_ en updatering af C++Builder, men et helt
andet produkt.
På trods af talrige opfordringer, og et tilsyneladende stort internt pres,
er der ikke kommet nogen officiel udmelding om produ

Hvor stort pres Delphi oplever fra især C# er svært at sige - men jeg føler
mig overbevist om at der er et vist pres.

Personligt ville jeg også kigge på Microsoft Visual C++ .NET 2003 som på
mange måder har lignende RAD egenskaber.
Vær dog opmærksom på at C++ sprog-dialekten (Managed C++) bliver ændret
radikalt i Visual C++ .NET 2005 (til C++/CLI, hvilket jeg opfatter som en
klar forbedring).
Vær generelt opmærksom på hvornår man gør sig afhængig af sprogudvidelser og
enkelt produkter.


Venlig hilsen

Mogens Hansen



Ivan Johansen (05-09-2004)
Kommentar
Fra : Ivan Johansen


Dato : 05-09-04 21:14

Soeren wrote:
> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel

Du er modig

> Jeg har ladet mig fortælle, at Delphi er det bedste, da kontrollerne er
> skrevet i Delphi, og at de er meget nemme at tilpasse ved simpel afledning.
> Det vil vel alt andet lige være sværere i C++ ?? Desuden er C++ på mange
> måder bøvlet i et Windows miljø, da man opererer med meget store headerfiler
> (sådan var det i hvert fald med BC++5 og Windows). Precompiled headers løste
> nogle af problemerne men ikke alle.

Både Delphi og Borland C++ Builder (BCB) bruger det samme bibliotek
(VCL) til at lave brugergrænseflader med, og det er skrevet i Delphi.
Det betragter jeg dog generelt som en implementationsdetalje som
hovedsageligt har noget at sige hvis man vil kigge i koden. Biblioteket
kan, med visse begrænsninger, bruges som var det skrevet i C++.

I begge sprog laves nye komponenter ved at nedarve fra et eksisterende.
eneste forskel er sproget.

> C++ har jo så til gengæld templates, STL og andet godt. Jeg kender ikke alle
> fordele ved Delphi, men det minder vel en del om Java (som jeg også er
> erfaren i).

Jeg foretrækker selv C++ på grund af understøttelsen af templates,
operator overloading, det gode standard library og andre gode
biblioteker, som f.eks Boost. Det mangler jeg altid lige så snart jeg
forsøger at skrive i Delphi.

> Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
> ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
> Tordenbrag", men jeg prøver alligevel. Og endeligt: Hvis der er tradition
> for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.

Jeg tror de fleste gratis komponenter er skrevet i Delphi, men da BCB
indeholder en Delphi compiler kan de bruges direkte i BCB.

En vigtig ting at overveje er fremtiden for BCB. BCB6 er over 2½ år
gammel. For et år siden frigav Borland C++ Builder X (CBX) som er et
platformsuafhængig produkt der dog endnu ikke har nogen understøttelse
for brugergrænseflader. Hvad Borland har tænkt sig er uvis. Det er ikke
til at sige om der nogen sinde kommer en ny version af BCB eller om CBX
kommer til at understøtte VCL.

Ivan Johansen

Ukendt (05-09-2004)
Kommentar
Fra : Ukendt


Dato : 05-09-04 22:59

On Sun, 5 Sep 2004 19:45:16 +0200, "Soeren" <nospam@nospam.com> wrote:

>Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
>ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
>Tordenbrag", men jeg prøver alligevel.

Som flerårig bruger af både Builder 5/6 og Delphi 6 bruger må jeg nok
give prisen til Delphi. Praktisk talt er der ikke rigtig nogen
forskel, da det er jo faktisk er det samme produkt, blot med to
forskellige "sprog-input".

Når jeg alligevel udråber Delphi som vinder, så skyldes det blandt
andet den enormt lange build-tid i Builderen. Delphi kompilerer på
ingen tid i forhold til Builderen. Det er en forskel der er til at
tage og føle på. Virkelig.

En anden ting er at filerne i Builderen er delt op i cpp og h filer -
hvliket jo er ganske naturligt. Men det alligevel lidt mere
irriterende, at man i Builderen skal sidde og CTRL+F6'e mellem source
og header, hvor man i Delphi har alt i samme fil. Her skifter man blot
mellem procedure og erklæring med CTRL+SHIFT+PIL OP/NED.

Jeg ved det ikke lyder af meget, men det er en af de små ting, man
irriterer sig over i dagligdagen.

Builderen har dog en smart(?) feature, hvor man kan inkludere Delphi
kode direkte i sit Builder-projekt. Jeg har f.eks. haft to forskellige
projekter, som var skrevet i hhv. Builderen og i Delphi. Det er nu med
tiden blevet til ét Builder projekt - altså ét program. Ja, dét er
noget griseri, og Delphi-forms skal stadig ændres i Delphi - dog ikke
hvis det kun er ændringer til koden.

Og hvis jeg skal være helt ærlig, så kan jeg bedst lige Delphi kode.
For mit eget vedkommende synes jeg nu, at det ser lidt pænere ud, end
Builder kode. (Altså Pascal fremfor C++). Det har dog ikke været en
faktor i mit valg af vinderen. :)

>Og endeligt: Hvis der er tradition
>for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.

Det er vist ikke lige til at svare på, men hvis jeg skal give mit eget
bud, så ser jeg flest komponenter, hvor koden er skrevet i Delphi. De
virker dog som regel altid både til Builder og Delphi.

Det virker også som om der "community'et" til Delphi er større end til
Builderen. Jeg har en teori om, at det skyldes, at Delphi jo trods alt
var noget før på banen end Builderen.

Mvh, Claus
--
I never apologize! I'm sorry, but that's just the way I am.
- Homer Simpson

Leo Havmøller (06-09-2004)
Kommentar
Fra : Leo Havmøller


Dato : 06-09-04 05:25

"Soeren" <nospam@nospam.com> wrote in message
news:413b50ab$0$165$edfadb0f@dread11.news.tele.dk...
> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel
>
> Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere
> naturligt
> valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok
> mange
> år siden).

C++ Builder kan compilere både pascal og C++. Det er kun pga. marketing der
eksisterer 2 produkter (så Borland kan sælge både en Delphi og en C++
Builder til de samme kunder).

Leo Havmøller.



Nicolai Hansen (06-09-2004)
Kommentar
Fra : Nicolai Hansen


Dato : 06-09-04 08:26

> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel

Det tror jeg faktisk ikke der er den store fare for :)

> Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere naturligt
> valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok mange
> år siden).
>
> Jeg har ladet mig fortælle, at Delphi er det bedste, da kontrollerne er
> skrevet i Delphi, og at de er meget nemme at tilpasse ved simpel afledning.

Alt er skrevet i Delphi, men det gør ikke nogen forskel - hvis du
vælger Delphi/BCPPB for nemt at kunne lave pæne skærme (er der anden
grund til at vælge et af disse produkter?!??) vil du ikke rigtigt
programmere i hverken C++ eller Pascal; du vil programmere i "VCL".
90% af Delphi er at kende VCL, og disse 90% er sjovt nok de samme i
C++ builderen... De sidste 10% er så sprog syntax og forskelle (du
nævner selv STL, et andet svar nævner irritationen ved at skulle hoppe
mellem .h og .c filer)

> Så spørgsmålet er: Hvad er bedst. Delphi eller Borland C++ Builder ??. Jeg
> ved godt, at det svarer til at spørge: "Hvad er højest. Rundetårn eller et
> Tordenbrag", men jeg prøver alligevel. Og endeligt: Hvis der er tradition
> for gratis komponenter, er de så typisk skrevet i C++ eller Delphi.

Det er mere et spørgsmål om "hvad er højest? Rundetårn om dagen eller
Rundetårn om natten?" - der er ikke meget forskel på de to
produkter... hvis du i forvejen programmerer C++ synes jeg bare du
skal fortsætte med det (hvis du ellers kan holde ud at se på den
auto-genererede kode som builder'en laver). Problemet vil så nok mest
være at få hjælp til VCL'en; de fleste VCL nørder sidder nok inde i
..pascal (er vist selv en af dem *host*)

/Nic

Martin Schultz (06-09-2004)
Kommentar
Fra : Martin Schultz


Dato : 06-09-04 20:26

I indlægget <413b50ab$0$165$edfadb0f@dread11.news.tele.dk> skrev Soeren:
> Jeg er bange for, at mit spørgsmål kan starte en religionskrig, men jeg
> vover skindet alligevel
>
> Jeg har set mig varm på Delphi, men Borland C++ Builder er et mere naturligt
> valg for mig, da jeg er gammel C++ programmør (Pascal, det er godt nok mange
> år siden).

C++ Builder er et dejligt værktøj som jeg har benyttet i adskillige
år. Desværre er det nu blevet til en dead end.

Borland vil ikke lave nye versioner af c++ builder eller flere fejl
rettelser. De er i stedet igang med at udvikle C# Builder, om der vil
være nogen bagud kompatiblitet vil de ikke ud med.

Martin
--
Besøg http://www.adsltips.dk for guider til
ADSL og opsætning af Cisco/Zyxel routere.

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408176
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste