Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Rund um die Programmierung ::  Welche Programmiersprachen gefallen euch neben C und C++?  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
  Zeige alle Beiträge auf einer Seite
Auf Beitrag antworten
Autor Nachricht
Zee++
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.01.2017
Beiträge: 42
Beitrag Zee++ Mitglied 11:26:28 19.05.2017   Titel:              Zitieren

Artchi schrieb:
Ich muss code doppelt pflegen und synchron halten. Damals musste man da den Compiler und Computer unterstützen, weil der zu wenig Leistung hatte. Aber heute erwarte ich, das die Sprache mir verdammt nochmal die Arbeit abnimmt in dem ich nur eine Datei habe! Ich will am eigentlichen zu lösenden Problem arbeiten und nicht an einem Problem aus den 1970er. Sobald ich eine Signatur ändere/hinzufüge, muss ich das in einer zweiten Datei tun? Horror!
Zum Glück haben sich Programmiersprachen weiterentwickelt. Kotlin macht das nicht schlecht, zumal mit Kotlin Native auch noch nach Bare Metal gegriffen wird. Ich finde es toll, wenn eine Sprache sowohl mit einem JIT als auch native verwendet werden kann. Was für Smartphones reicht, sollte auch für das meiste andere reichen.

Ich denke C++ in der jetzigen Form wird immer mehr zur Nische, die gern gemieden wird. Das macht man nur noch wenn es gar nicht anders geht. Da wird dann ausgelost wer ins C++ Team muss. :D
Mechanics
Mitglied

Benutzerprofil
Anmeldungsdatum: 27.01.2012
Beiträge: 4142
Beitrag Mechanics Mitglied 18:00:56 19.05.2017   Titel:              Zitieren

Zee++ schrieb:
Ich denke C++ in der jetzigen Form wird immer mehr zur Nische, die gern gemieden wird.


Träum weiter ;)
Fytch
Mitglied

Benutzerprofil
Anmeldungsdatum: 13.12.2013
Beiträge: 850
Beitrag Fytch Mitglied 18:23:36 19.05.2017   Titel:   Re: Welche Programmiersprachen gefallen euch neben C und C++?            Zitieren

Zee++ schrieb:
Welche Programmiersprachen gefallen euch neben C und C++?
Echte Männer programmieren in APL. ;)
muemmel
Mitglied

Benutzerprofil
Anmeldungsdatum: 16.10.2007
Beiträge: 3682
Beitrag muemmel Mitglied 20:28:05 19.05.2017   Titel:   Re: Welche Programmiersprachen gefallen euch neben C und C++?            Zitieren

Hi Fytch,

Fytch schrieb:
Zee++ schrieb:
Welche Programmiersprachen gefallen euch neben C und C++?
Echte Männer programmieren in APL. ;)

Ne FORTRAN

Gruß Mümmel
echter Mann
Unregistrierter




Beitrag echter Mann Unregistrierter 03:38:52 20.05.2017   Titel:              Zitieren

Assembler :p :rolleyes: :eek: :confused: :cool: :o) :leak: :live: :idea: :arrow:
zufallswert
Unregistrierter




Beitrag zufallswert Unregistrierter 07:57:49 20.05.2017   Titel:   .            Zitieren

Artchi schrieb:

Und die Header-Dateien widersprechen dem DRY-Prinzip (Don't Repeat Yourself).

Tun sie im allgemeinen nicht. Die Funktions-Prototypen in den Headern zum Beispiel sind ein *Versprechen* gegenüber dem Compiler, daß der Linker später irgendwo Objectcode mit den zugehörigen Implementationen finden wird. Ähnlich mit extern deklarierten Variablen.

Der Compiler kann es nicht prüfen, weil er nicht alle beteiligten Object files kennt - die kennt erst der Linker. Der kommt aber erst zum Schluß dran, nachdem der Compiler Objectcode erzeugt hat.

Um alle Prototypen überflüssig zu machen, müßte der Compiler Objectfiles lesen können, um aus diesen die Funktions-Signaturen etc. der darin definierten Funktionen auszulesen. Das ist aber nicht seine Aufgabe.

Oder der Compiler würde eben die Prüfung unterlassen, daß Funktionsaufrufe externer Funktionen zu deren Signaturen passen; dann könnte Objectcode mit Funktionsaufrufen entstehen, die nicht zu den Signaturen der Funktionen passen.
Auch nicht gut - dann lieber frühzeitige Prüfung.

Ich sehe also keinen widerspruch zum DRY-Prinzip auf der Grundlage einer 3-stufigen Kompilierung (Präpro, Compiler, Linker).

Wäre der Compiler gleichzeitig Linker, wäre es etwas Anderes.

Class Templates in Header-Dateien widersprechen erst recht nicht dem DRY.
audacia
Mitglied

Benutzerprofil
Anmeldungsdatum: 05.02.2005
Beiträge: 4738
Beitrag audacia Mitglied 13:54:43 20.05.2017   Titel:   Re: .            Zitieren

zufallswert schrieb:
und was ist, wenn man an eine externe Library linken will, deren Quellcode nicht offen ist? In C/C++ reichen dem Compiler dazu die Header. Wie ist das in delphi?
Delphi folgt nicht dem klassischen C-Compilermodell mit preprocessing, compiling, linking stage; der ganze Buildprozeß wird auf Sprachmittel abgebildet und vom Compiler gesteuert. Es wird unterschieden in Units (*.pas, einzelne Source-Dateien), Programme (*.dpr, die zentrale Source-Datei eines Anwendungsprogramms) und Packages (*.dpk, sowas wie eine Klassenbibliothek in .NET):

Delphi:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
unit MyUnit;
 
interface
 
uses
  SomeOtherUnit;
 
procedure PublicProcedure;
 
implementation
 
uses
  SomePrivatelyUsedUnit;
 
procedure PrivateProcedure;
begin
  Writeln('Hello, world!');
end;
 
procedure PublicProcedure;
begin
  PrivateProcedure;
end;
 
end.


Delphi:
1
2
3
4
5
6
7
8
9
10
package MyPackage;
 
requires
  SomeOtherPackage;
 
contains
  MyUnit,
  SomeOtherUnit;
 
end.


Delphi:
1
2
3
4
5
6
7
8
program HelloWorldVCL;
 
uses
  MyUnit;
 
begin
  PublicProcedure;
end.


Beim Übersetzen einer Unit erzeugt der Delphi-Compiler ein compiled unit (*.dcu). Das ist ein binäres Zwischenformat, das sowohl die Schnittstellendefinition der interface-Sektion als auch den compilierten Code enthält.

Beim Übersetzen eines Packages erzeugt der Compiler ein compiled package (*.dcp) und eine package library (*.bpl). Ersteres enthält die Schnittstellendefinition, letzteres den compilierten Code. Aus Sicht des Betriebssystems ist die package library eine DLL.

Beim Übersetzen eines Programms erzeugt der Compiler eine ausführbare Datei (*.exe).

Da der Compiler den Abhängigkeitsgraphen für Units und Packages kennt, weiß er, welche Units er neu übersetzen muß, wenn sich etwas geändert hat. Bei Änderungen im implementation-Teil einer Unit müssen davon abhängige Units gar nicht neu übersetzt werden, sondern nur die ausführbare Datei bzw. die Package-Library wird neu erzeugt.

Will man eine Komponente ohne Quellcode ausliefern, so kann man die compiled units oder die compiled packages zusammen mit den package libraries verteilen. (Für die Kompatibilität mit C++Builder sollte man zusätzlich die automatisch erzeugten *.hpp-, *.obj-, *.lib- und *.bpi-Dateien ausliefern.)

Dieses schöne Konzept hat leider den Makel, daß das Dateiformat für compiled units und compiled packages recht volatil und compiler-versionsspezifisch ist. Ein Komponentenhersteller muß also einen Satz *.dcu-, *.dcp- und *.bpl-Dateien für jede unterstützte Delphi-Version ausliefern, und die interface-Abschnitte aller ausgelieferten Units dürfen in Updates nicht verändert werden.

.NET löst das Versionierungsproblem, indem Offsets (z.B. VMT-Slotindices, Feld-Offsets, Sprungadressen) erst vom Type-Loader zur Laufzeit festgelegt werden, was wiederum für effiziente Ausführung einen JIT-Compiler erfordert.

_________________
"Hey, it compiles! Ship it!"
C++Builder Pages · Typsichere Format-Strings
zufallswert
Unregistrierter




Beitrag zufallswert Unregistrierter 17:48:45 20.05.2017   Titel:   .            Zitieren

interessant!
Bitte ein Bit
Mitglied

Benutzerprofil
Anmeldungsdatum: 24.10.2007
Beiträge: 1678
Beitrag Bitte ein Bit Mitglied 18:37:45 20.05.2017   Titel:              Zitieren

Zitat:
Und die Header-Dateien widersprechen dem DRY-Prinzip (Don't Repeat Yourself). Ich muss code doppelt pflegen und synchron halten.
Naja Header Dateien sind bei mir eine Art dokumentierte Schnittstellen-Definition. Ein Blick in die Doxygen Doku zu ABC.h und du weißt was ABC.cpp macht.

Ist aber reine Geschmackssache.

---


Ich wäre ansonsten für C# da die Lib bzw. das .Net Framework riesig ist. Aber eigentlich finde ich Java cool. :p


Kotlin mag ich aufgrund des Namens schon nicht.

PS:
Richtige Männer programmieren auf einer neunbändigen Turingmaschine. :o)
zufallswert
Unregistrierter




Beitrag zufallswert Unregistrierter 21:36:19 20.05.2017   Titel:   .            Zitieren

kriegst du da Mengenrabatt beim Einkauf von Endlosband?
C++ Forum :: Rund um die Programmierung ::  Welche Programmiersprachen gefallen euch neben C und C++?  
Gehen Sie zu Seite Zurück  1, 2, 3, 4, 5, 6, 7  Weiter
Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.