Autor Beitrag
fritierte
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 58



BeitragVerfasst: So 17.10.04 22:27 
ich habe letztends mit jemandem eine diskussion über ide probleme der strukturierten programmierung diskutiert und dass die oop dabie abhilfe schafft, nun konterte mein gegenüber mit beispielen wie linux oder dem apache die ja in c geschrieben werden, nun frage ich mich aber warum, das sind riesige projekte, also warum net auf c++ wecheln und oop 'geniessen'? bei linux wär es evtl. verständlich wenn der grund darin läge, dass man die grundbausteine von betriebssystemen eben in c schreibt, weiss der geier warum, aber auch sonst fällt mir auf, dass viele server in c geschrieben sind - also, warum? ha es was mit geschwindigektseinbußen bei oop-sprachen zu tun? oder was?
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 17.10.04 22:46 
Weil es imense Kosten verursachen würde alles neu zu implementieren. Aus diesem Grunde gibt es noch unzähölige Programme, die in Cobol geschrieben sind; trifft man hauptsächlich noch in Banken an. Diese Programme zu pflegen und weiterzuentwicklen ist eben günstiger, als sie komplett neu in einer anderen Sprache zu implementieren.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 18.10.04 00:24 
So was nennt man "Evolution". Am Anfang war 1 und 0 und Lochkarten. Dann kam ASM als Abkürzung für den Kram. Mehr oder weniger auch nur eine Art Stenographie für Maschinensprache. Keine Prozeduren usw. Auch das war bei komplexen Programmen zu kompliziert. Deshalb dann C. Unix läßt grüßen. Microsoft hat das dann für Windows ähnlich gemacht. ASM ist eben für einen Menschen relativ unverständlich. Ja, es gibt schon Ausnahmen, die tatsächlich damit programmieren. :mrgreen:

Wie Luckie schon sagt : alles neu machen ist zu teuer. Es ist besser in C vorhandenen Source zu verwenden, als es wiederum total anders und neu zu machen. Für Betriebssysteme spielt sich deshalb fast alles in C ab. Später dann in C++.

Denn es gibt schon jetzt Bereiche in denen es anders aussieht. Und wie immer bei Luckie, kommt jetzt eine Datenbank-Sache ins Spiel (@Luckie : das hier ist nun echt Zufall, oder ein Wink mit dem Zaunpfahl 8) :lol: ) Ich benutze z.B. die Datenbank Firebird 1.5. Die war vorher auch in C und jetzt geht es mit C++ weiter. Daß sich das anscheinend lohnt (sofern Versions-Nummern überhaupt eine Bedeutung haben) schließe ich daraus, daß FB 2.0 noch für dieses Jahr angekündigt ist und FB 3 schon für Anfang nächsten Jahres :!:

www.heise.de/newsticker/meldung/44962

Da diese Frage nun aber im Delphi-Forum gestellt wurde, noch eine Bemerkung. Dein Bekannter schließt wohl daraus, daß Linux / Windows in Teilen in C geschrieben wurde, es sei auch besser, ein Programm damit zu machen, womit auch das Betriebssystem gemacht wurde. Ich behaupte dagegen : genau das Gegenteil ist der Fall !

"Beweis" 8) : weil das Radio heute UKW ist, muß das Fernsehen auch damit laufen. Vielleicht geht es ja, aber keiner käme heutzutage auf die Idee, so was zu machen.

Für mich ist aber eher so was abschreckend :

Zitat:

Delphi-Syntax:

property KeyPreview: Boolean;

C++ Syntax:

__property bool KeyPreview = {read=FKeyPreview, write=FKeyPreview, stored=IsForm, default=0};

_________________
Gruß
Hansa
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.10.04 00:38 
hansa hat folgendes geschrieben:
daß Linux / Windows in Teilen in C geschrieben wurde, es sei auch besser, ein Programm damit zu machen, womit auch das Betriebssystem gemacht wurde. Ich behaupte dagegen : genau das Gegenteil ist der Fall !

Das würde ich nun nicht gerade sagen. Kuck doch mal, was du manchamal mit Delphi für Probleme hast: Die Dokumentationen für die Windows API sind alle in C, dann brauchst du die Header-Übersetzungen, dann werden Makros genutzt, die es in Delphi so nicht gibt, usw.
Würdest du Windows Programme in C/C++ schreiben, hättest du diese ganzen Probleme nicht.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 18.10.04 01:19 
Luckie hat folgendes geschrieben:
Würdest du Windows Programme in C/C++ schreiben, hättest du diese ganzen Probleme nicht.


Die wohl weniger, dafür aber andere. Was sollen die 4 Parameter in dem KeyPreview-Bsp. in C ? Das müßte ich mir auch erst raussuchen und verstehen. Wie gesagt : im Bereich betriebssystemnahe Programmierung hat C noch gewisse Vorteile. Wie Du sagst, allerdings nur bei Dokumentation usw.

Gut, bei Treibern usw. auch, aber das geht in dieselbe Richtung. Allerdings grüßt .NET bereits mächtig. "richtige" Programme, also solche, die jedermann benutzen soll, schreibt man immer noch besser in Delphi.

[EDIT]:
Das hier habe ich soeben noch zum Thema C gefunden : 8)

Zitat:

> the c++ code is here
> who can translate it into pascal code that can use in delphi
> WCHAR wstr[MAX_PATH];
> BSTR* pBSTRdata = NULL;
> SAFEARRAYBOUND *pboundlist = new SAFEARRAYBOUND[1];
> ZeroMemory(pboundlist, sizeof(SAFEARRAYBOUND));
> pboundlist->cElements = 1;
> SAFEARRAY* psarray = SafeArrayCreate(VT_BSTR, 1, pboundlist);
> SafeArrayAccessData(psarray, (void**) &pBSTRdata);
> MultiByteToWideChar(CP_ACP, NULL, Edit1->Text.c_str(), -1, wstr,
> MAX_PATH);
> pBSTRdata[0] = SysAllocString(wstr);
> SafeArrayUnaccessData(psarray);
> pBSTRdata = NULL;
> delete [] pboundlist;
> vod->SetPlaybackList();
> vod->SetPlayListArray(psarray);

Oh these poor C++ programmers, you have to pity them <g>.

var
V: Olevariant;
begin
V:= VarArrayCreate([0,0], varOleStr);
V[0] := Edit1.Text;

The rest depends on what "vod" represents. If it is a COM interface for an OLE
automation server the next steps depend on how the Delphi translation for this
interface look like (you would create that using Project->Import type
library). Using late binding for the automation server you may be able to
directly pass V to the SetPlayListArray method of the server. If the method
requires a PSAFEARRAY as parameter you can get that from V via
TVarData(V).VArray.



--
Peter Below (TeamB)


Was ist von so was zu halten ? :shock:

_________________
Gruß
Hansa
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.10.04 01:49 
hansa hat folgendes geschrieben:
Die wohl weniger, dafür aber andere. Was sollen die 4 Parameter in dem KeyPreview-Bsp. in C ? Das müßte ich mir auch erst raussuchen und verstehen.

Ich setzte vorraus, dass man die Sprache beherrscht. Und mittels der Dokumentation sollte alles weiter kein Problem sein. In Delphi müsstest du aber erstmal das C-Zeugs nach Delphi übersetzten.
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 18.10.04 14:55 
hansa hat folgendes geschrieben:
Ich benutze z.B. die Datenbank Firebird 1.5. Die war vorher auch in C und jetzt geht es mit C++ weiter.
Ähhh, du weißt aber schon, daß Firebird ein OpenSource-Projekt ist? Wo ist das Geld?
Mozilla wurde im Firefox und Thunderbird auch komplett neuimplementiert, aber nur weil die ehrenamtlichen Programmierer keinen Bock mehr auf Spaghetticode hatten und sie niemandem Rechenschaft schuldig sind. Es ist nicht davon auszugehen, daß kommerzielle Produkte, wo Zeit wirklich Geld ist, neuimplementiert werden, nur weil eine andere Programmiersprache gerade in ist.

fritierte hat folgendes geschrieben:
ha es was mit geschwindigektseinbußen bei oop-sprachen zu tun?
Auch. Ein Klassenframework braucht nunmal mehr Speicher als rein linear geschriebener Code. Und da der Dereferenzierungsaufwand bei den Objekten auch größer ist, kostet OOP auch Zeit. Aber das wird bei heutigen Rechenleistungen eher eine untergeordnete Rolle spielen, das Hauptargument wird wohl tatsächlich der Aufwand und die damit verbundenen Kosten sein.

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6395
Erhaltene Danke: 149

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 18.10.04 15:07 
@hansa:
Dein KeyPreview-Vergleich ist nicht ganz OK.
In Delphi wird es sehr ähnlich gemacht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
obj = class(TObject)
private
  FKeyPreview : Boolean;
published
  property KeyPreview : Boolean read FKeyPreview write FKeyPreview;
end;
fritierte Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 18.10.04 17:37 
wie schon bei firebird erwähnt, ist es bei linux und apache wohl auch nicht der kostengrund, warum sie in c erntwickelt werden, aber so wie es scheint, spielt geschwindigkeit keine rolle. die sache mit dem umschreibe schön und gut, aber c++ gabs doch schon vor 1991, also warum wurde linux ([nebensächlich]erst in asm, dann[/nebensächlich]) in c geschrieben? kenn da wer überhaupt nen triftigen grund?
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 18.10.04 17:55 
fritierte hat folgendes geschrieben:
...aber c++ gabs doch schon vor 1991, also warum wurde linux ([nebensächlich]erst in asm...


Weil 1991 viel zu neu ist. Unix gibts schon seit den 60er Jahren. Es gab ja auch mal Sinix von Siemens. Vielleicht gabs sogar mal Nienix von Nixdorf. :lol: Linux heißt Linux weil der Kerl der es von dem Standard-Unix her weiterentwickelt hat, Linus heißt.

Wenn du schwindelfrei bist, dann guck hier : :mrgreen:

www.levenez.com/unix/history.html#01

_________________
Gruß
Hansa
fritierte Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 18.10.04 18:16 
ich kenne die geschichte, und meinte auch nich UNIX, sondern LINUX, und linux is 1991 aufgetaucht, ausserdem is es ein nachgemachtes unix, aus dem nix geschaffen. bei unix is es klar, sprache genau dafür geschrieben blabla, aber linux hätte der typ doch von vorn herein objektorientiert planen können
Elite
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mo 18.10.04 18:36 
hansa hat folgendes geschrieben:
Wenn du schwindelfrei bist, dann guck hier : :mrgreen:
www.levenez.com/unix/history.html#01

Ahh, endlich wirdmir alles viel klarer. Hab mich immer schon gefragt, ob man da nicht ne vernünftige Struktur reinbringen kann :lol:
Zum Glück ist das aber ja nicht alles, wär ja auch noch zu üersichtlich:
Zitat:
This is a simplified diagram of unix history. ... This diagram is only the tip of an iceberg, with a penguin on it
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 18.10.04 19:10 
Du bist anscheinend immer noch nicht lange genug fritiert. :autsch:

fritierte hat folgendes geschrieben:
ich kenne die geschichte, und meinte auch nich UNIX, sondern LINUX, und linux is 1991 aufgetaucht, ausserdem is es ein nachgemachtes unix, aus dem nix geschaffen. bei unix is es klar, sprache genau dafür geschrieben blabla, aber linux hätte der typ doch von vorn herein objektorientiert planen können


Du verwechselst da was : Linux ist aus Unix gemacht nicht aus nix !! Da fehlt ein U ! :lol: Wenn du wenigstens so freundlich wärst, mal das Diagramm anzusehen. :shock: Dann würdest du feststellen, daß 1991 tatsächlich Linux auftaucht und dieses von "Minix" kommt. Und dieses geht sogar ziemlich auf das Ur-Unix zurück.

Mir fällt gerade ein, es gibt noch einen Grund, warum es Linux heißt und auch die anderen sich nicht Unix schimpfen : ich glaube, es waren die Bell Laboratories die Unix entwickelt haben. Und die haben folgendes Angebot gemacht : Jeder darf den Unix Source verwenden und weiterentwickeln, aber nur unter einer Bedingung : es darf heißen wie es will, nur nicht UNIX !!. Du könntest also auch das Ur-Unix nehmen und es Friteuse nennen, sofern Moulinex oder sonstwer kein Urheberrecht auf den Namen hat. :hair:

_________________
Gruß
Hansa
fritierte Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 58



BeitragVerfasst: Mo 18.10.04 20:45 
was spricht gegen eine komplette neuentwicklung? vllt. hat er sich in weiten teilen an minix orientiert? dann wär doch die verbindung hergestellt

übrigends bitte ich darum, dass anspielungen jeglicher art unterlassen werden. wie schon voher gesagt, kenne ich die übersicht, also bitte immer sachlich bleiben

*edit*

ok, nach ein bisschen gegoogel wird klar warum linux in c geschrieben wurde, weil minix es auch wurde und wohl niemand bock hat, den bisherigen code zu überarbeiten.

@hansa
linux wurde tatsächlich zu anfang mit den minix-sources entwickelt, aber bis zur version 0.01 is davon nich mehr viel übrig geblieben, sprich eine fast komplette neuentwicklung
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 18.10.04 21:45 
fritierte hat folgendes geschrieben:
...@hansa
linux wurde tatsächlich zu anfang mit den minix-sources entwickelt, aber bis zur version 0.01 is davon nich mehr viel übrig geblieben, sprich eine fast komplette neuentwicklung


Kompette Neuentwicklung von einem einzigen Studenten ? :shock: Wo kommt diese Information her ? Immerhin muß sie so ca. 14 Jahre alt sein. 8) 0.01 wird sich wohl auf Linux beziehen, nicht auf Unix. 8)

_________________
Gruß
Hansa
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 18.10.04 21:58 
fritierte hat folgendes geschrieben:
@hansa
linux wurde tatsächlich zu anfang mit den minix-sources entwickelt, aber bis zur version 0.01 is davon nich mehr viel übrig geblieben, sprich eine fast komplette neuentwicklung
Wäre mir neu. AFAIK wurde Linux komplett from the scratch neuentwickelt, minix-Sourcenw aren da nie drin, weil Linus den minix-Quellcode von Anfang an zu beschränkt fand, um sinnvoll damit zu arbeiten. Aus einem Terminalemulator mit Dateisystemtreiber ist dann später erst Linux geworden, nachdem in monatelanger Fummelarbeit die POSIX-Standards nachprogrammiert hat.

Aber bei Bedarf kann ich das auch nochmal irgendwo nachlesen und abtippen...

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
fritierte Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 58



BeitragVerfasst: Di 19.10.04 17:38 
tommie-lie hat folgendes geschrieben:
AFAIK wurde Linux komplett from the scratch neuentwickelt


seh ich auch so, nur stand in dem text den ich gelesen hab, dass er die minix-sources anfangs benutzt hat, warscheinlich zur orientierung für bootloader oser wasweissich.

@hansa
in den nutzungsbedingungen für minix steht u.A. dass der kernel nicht verändert werden darf, schon allein diese tatsache macht eine weiterentwicklung unmöglich. guten tag

*edit*
wenn du englisch kannst, dann solltest du ja den original-newsgroup-eintrag verstehen können
www.linuxinfozentrum.ch/geschichte.php

*edit2*
und hier findest du eine etwas ausführlichere erklärung zu der verbindung zu minix
www.linux-ag.de/linux/LHB/node5.html
und hier auch
www.computerbase.de/...Geschichte_von_Linux
Klabautermann
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Veteran
Beiträge: 6366
Erhaltene Danke: 60

Windows 7, Ubuntu
Delphi 7 Prof.
BeitragVerfasst: Di 19.10.04 18:37 
Hallo,
fritierte hat folgendes geschrieben:
tommie-lie hat folgendes geschrieben:
AFAIK wurde Linux komplett from the scratch neuentwickelt


seh ich auch so, nur stand in dem text den ich gelesen hab, dass er die minix-sources anfangs benutzt hat, warscheinlich zur orientierung für bootloader oser wasweissich.

wahrscheinlich hat er sich duch das lesen des Tannenbaums (Standardwerk wenn es um Betriebsystemprogrammierung geht) zu Linux inspirieren lassen. Dieses erklärt Betriebsystemgrundlagen anhand von Minix (welches eigens zum demonstrieren dieser grundlagen erschaffen wurde).

Gruß
Klabautermann
JoelH
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 806
Erhaltene Danke: 17

Win10
Delphi Alexandria 11.2 Patch 1
BeitragVerfasst: Do 21.10.04 08:29 
Titel: hmm,
Für alle die die es interessiert wie Linus Thorvalds die Dinge schildert wie er Linux entwickelte
www.amazon.de/exec/o.../028-8406537-6602161

_________________
mfg. Joel